KiCad PCB EDA Suite
PCB::IFACE Struct Reference
Inheritance diagram for PCB::IFACE:
KIFACE_BASE UNITS_PROVIDER KIFACE

Public Member Functions

 IFACE (const char *aName, KIWAY::FACE_T aType)
 
bool OnKifaceStart (PGM_BASE *aProgram, int aCtlBits) override
 Typically start_common() is called from here. More...
 
void OnKifaceEnd () override
 Called just once just before the DSO is to be unloaded. More...
 
wxWindow * CreateKiWindow (wxWindow *aParent, int aClassId, KIWAY *aKiway, int aCtlBits=0) override
 Create a wxWindow for the current project. More...
 
void * IfaceOrAddress (int aDataId) override
 Return a pointer to the requested object. More...
 
void SaveFileAs (const wxString &aProjectBasePath, const wxString &aSrcProjectName, const wxString &aNewProjectBasePath, const wxString &aNewProjectName, const wxString &aSrcFilePath, wxString &aErrors) override
 Saving a file under a different name is delegated to the various KIFACEs because the project doesn't know the internal format of the various files (which may have paths in them that need updating). More...
 
int HandleJob (JOB *aJob) override
 
const wxString Name ()
 
APP_SETTINGS_BASEKifaceSettings () const
 
void InitSettings (APP_SETTINGS_BASE *aSettings)
 
int StartFlags () const
 Return whatever was passed as aCtlBits to OnKifaceStart(). More...
 
bool IsSingle () const
 Is this KIFACE running under single_top? More...
 
const wxString & GetHelpFileName () const
 Return just the basename portion of the current help file. More...
 
SEARCH_STACKKifaceSearch ()
 Only for DSO specific 'non-library' files. More...
 
void GetActions (std::vector< TOOL_ACTION * > &aActions) const override
 Append this Kiface's registered actions to the given list. More...
 
EDA_UNITS GetUserUnits () const
 
void SetUserUnits (EDA_UNITS aUnits)
 
const EDA_IU_SCALEGetIuScale () const
 
virtual ORIGIN_TRANSFORMSGetOriginTransforms ()
 
wxString StringFromValue (double aValue, bool aAddUnitLabel=false, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE)
 Converts aValue in internal units into a united string. More...
 
wxString StringFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=false)
 
wxString MessageTextFromValue (double aValue, bool aAddUnitLabel=true, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE)
 A lower-precision version of StringFromValue(). More...
 
wxString MessageTextFromValue (const EDA_ANGLE &aValue, bool aAddUnitLabel=true)
 
int ValueFromString (const wxString &aTextValue, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE)
 Converts aTextValue in aUnits to internal units used by the frame. More...
 
EDA_ANGLE AngleValueFromString (const wxString &aTextValue)
 

Protected Member Functions

bool start_common (int aCtlBits)
 Common things to do for a top program module, during OnKifaceStart(). More...
 
void end_common ()
 Common things to do for a top program module, during OnKifaceEnd();. More...
 

Private Attributes

std::unique_ptr< PCBNEW_JOBS_HANDLERm_jobHandler
 
KIWAY::FACE_T m_id
 
BIN_MOD m_bm
 
int m_start_flags
 flags provided in OnKifaceStart() More...
 
const EDA_IU_SCALEm_iuScale
 
EDA_UNITS m_userUnits
 

Detailed Description

Definition at line 73 of file pcbnew.cpp.

Constructor & Destructor Documentation

◆ IFACE()

PCB::IFACE::IFACE ( const char *  aName,
KIWAY::FACE_T  aType 
)
inline

Definition at line 77 of file pcbnew.cpp.

77 :
78 KIFACE_BASE( aName, aType ),
80 {}
constexpr EDA_IU_SCALE pcbIUScale
Definition: base_units.h:109
KIFACE_BASE(const char *aKifaceName, KIWAY::FACE_T aId)
Definition: kiface_base.h:65
UNITS_PROVIDER(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits)

References MILLIMETRES.

Member Function Documentation

◆ AngleValueFromString()

EDA_ANGLE UNITS_PROVIDER::AngleValueFromString ( const wxString &  aTextValue)
inlineinherited

Definition at line 116 of file units_provider.h.

117 {
119 aTextValue );
120
121 return EDA_ANGLE( angle, DEGREES_T );
122 }
const EDA_IU_SCALE & GetIuScale() const
@ DEGREES_T
Definition: eda_angle.h:31
double DoubleValueFromString(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits, const wxString &aTextValue, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE)
Function DoubleValueFromString converts aTextValue to a double.
Definition: eda_units.cpp:456
static DIRECTION_45::AngleType angle(const VECTOR2I &a, const VECTOR2I &b)

References PNS::angle(), DEGREES, DEGREES_T, EDA_UNIT_UTILS::UI::DoubleValueFromString(), and UNITS_PROVIDER::GetIuScale().

Referenced by FP_TEXT_GRID_TABLE::SetValue().

◆ CreateKiWindow()

wxWindow * PCB::IFACE::CreateKiWindow ( wxWindow *  aParent,
int  aClassId,
KIWAY aKIWAY,
int  aCtlBits = 0 
)
inlineoverridevirtual

Create a wxWindow for the current project.

The caller must cast the return value into the known type.

Parameters
aParentmay be NULL or is otherwise the parent to connect under. If NULL then caller may want to connect the returned wxWindow into some hierarchy after this function returns.
aClassIdidentifies which wxFrame or wxDialog to retrieve, using a value known to the implementing KIFACE.
aKIWAYtells the window which KIWAY (and PROJECT) it is a participant in.
aCtlBitsconsists of bit flags from the set of KFCTL_* #defines above.
Returns
the window created and if not NULL, should be cast into the known type using and old school cast. dynamic_cast is problematic since it needs typeinfo probably not contained in the caller's link image.

Implements KIFACE_BASE.

Definition at line 86 of file pcbnew.cpp.

88 {
89 switch( aClassId )
90 {
92 {
93 auto frame = new PCB_EDIT_FRAME( aKiway, aParent );
94
95 // give the scripting helpers access to our frame
97
98 if( Kiface().IsSingle() )
99 {
100 // only run this under single_top, not under a project manager.
101 frame->CreateServer( KICAD_PCB_PORT_SERVICE_NUMBER );
102 }
103
104 return frame;
105 }
106
108 return new FOOTPRINT_EDIT_FRAME( aKiway, aParent );
109
112 return new FOOTPRINT_VIEWER_FRAME( aKiway, aParent, FRAME_T( aClassId ) );
113
115 return new FOOTPRINT_WIZARD_FRAME( aKiway, aParent, FRAME_T( aClassId ) );
116
118 return dynamic_cast< wxWindow* >( FOOTPRINT_PREVIEW_PANEL::New( aKiway, aParent ) );
119
121 {
122 DIALOG_CONFIGURE_PATHS dlg( aParent );
123
124 // The dialog's constructor probably failed to set its Kiway because the
125 // dynamic_cast fails when aParent was allocated by a separate compilation
126 // module. So set it directly.
127 dlg.SetKiway( &dlg, aKiway );
128
129 // Use QuasiModal so that HTML help window will work
130 if( dlg.ShowQuasiModal() == wxID_OK )
131 aKiway->CommonSettingsChanged( true, false );
132
133 // Dialog has completed; nothing to return.
134 return nullptr;
135 }
136
138 InvokePcbLibTableEditor( aKiway, aParent );
139 // Dialog has completed; nothing to return.
140 return nullptr;
141
143 {
144 SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
146
147 return new PANEL_DISPLAY_OPTIONS( aParent, cfg );
148 }
149
151 {
152 EDA_BASE_FRAME* frame = aKiway->Player( FRAME_FOOTPRINT_EDITOR, false );
153
154 if( !frame )
155 frame = aKiway->Player( FRAME_FOOTPRINT_VIEWER, false );
156
157 if( !frame )
158 frame = aKiway->Player( FRAME_PCB_EDITOR, false );
159
160 if( frame )
161 return new PANEL_EDIT_OPTIONS( aParent, frame, frame, true );
162 else
163 return new PANEL_EDIT_OPTIONS( aParent, this, nullptr, true );
164 }
165
167 {
168 EDA_BASE_FRAME* frame = aKiway->Player( FRAME_FOOTPRINT_EDITOR, false );
169
170 if( !frame )
171 frame = aKiway->Player( FRAME_FOOTPRINT_VIEWER, false );
172
173 if( !frame )
174 frame = aKiway->Player( FRAME_PCB_EDITOR, false );
175
176 if( frame )
177 return new PANEL_FP_EDITOR_DEFAULTS( aParent, frame );
178 else
179 return new PANEL_FP_EDITOR_DEFAULTS( aParent, this );
180 }
181
182 case PANEL_FP_COLORS:
183 return new PANEL_FP_EDITOR_COLOR_SETTINGS( aParent );
184
186 {
187 SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
189
190 return new PANEL_DISPLAY_OPTIONS( aParent, cfg );
191 }
192
194 {
195 EDA_BASE_FRAME* frame = aKiway->Player( FRAME_PCB_EDITOR, false );
196
197 if( !frame )
198 frame = aKiway->Player( FRAME_FOOTPRINT_EDITOR, false );
199
200 if( !frame )
201 frame = aKiway->Player( FRAME_FOOTPRINT_VIEWER, false );
202
203 if( frame )
204 return new PANEL_EDIT_OPTIONS( aParent, frame, frame, false );
205 else
206 return new PANEL_EDIT_OPTIONS( aParent, this, nullptr, false );
207 }
208
209 case PANEL_PCB_COLORS:
210 {
211 BOARD* board = nullptr;
212 EDA_BASE_FRAME* boardProvider = aKiway->Player( FRAME_PCB_EDITOR, false );
213
214 if( boardProvider )
215 board = static_cast<PCB_EDIT_FRAME*>( boardProvider )->GetBoard();
216
217 return new PANEL_PCBNEW_COLOR_SETTINGS( aParent, board );
218 }
219
221 return new PANEL_PCBNEW_ACTION_PLUGINS( aParent );
222
224 return new PANEL_PCBNEW_DISPLAY_ORIGIN( aParent );
225
227 return new PANEL_3D_DISPLAY_OPTIONS( aParent );
228
229 case PANEL_3DV_OPENGL:
230 return new PANEL_3D_OPENGL_OPTIONS( aParent );
231
233 return new PANEL_3D_RAYTRACING_OPTIONS( aParent );
234
235 case PANEL_3DV_COLORS:
236 return new PANEL_3D_COLORS( aParent );
237
238 default:
239 return nullptr;
240 }
241 }
APP_SETTINGS_BASE is a settings class that should be derived for each standalone KiCad application.
Definition: app_settings.h:110
Information pertinent to a Pcbnew printed circuit board.
Definition: board.h:265
The base frame for deriving all KiCad main window classes.
static FOOTPRINT_PREVIEW_PANEL * New(KIWAY *aKiway, wxWindow *aParent)
Component library viewer main window.
bool IsSingle() const
Is this KIFACE running under single_top?
Definition: kiface_base.h:105
The main frame for Pcbnew.
T * GetAppSettings(bool aLoadNow=true)
Returns a handle to the a given settings by type If the settings have already been loaded,...
#define KICAD_PCB_PORT_SERVICE_NUMBER
< Pcbnew listens on this port for commands from Eeschema
Definition: eda_dde.h:40
FRAME_T
The set of EDA_BASE_FRAME derivatives, typically stored in EDA_BASE_FRAME::m_Ident.
Definition: frame_type.h:33
@ FRAME_PCB_EDITOR
Definition: frame_type.h:40
@ FRAME_FOOTPRINT_VIEWER_MODAL
Definition: frame_type.h:43
@ FRAME_FOOTPRINT_VIEWER
Definition: frame_type.h:42
@ PANEL_3DV_COLORS
Definition: frame_type.h:92
@ PANEL_3DV_OPENGL
Definition: frame_type.h:90
@ PANEL_PCB_ORIGINS_AXES
Definition: frame_type.h:87
@ FRAME_FOOTPRINT_WIZARD
Definition: frame_type.h:44
@ PANEL_PCB_EDIT_OPTIONS
Definition: frame_type.h:84
@ PANEL_FP_DISPLAY_OPTIONS
Definition: frame_type.h:78
@ PANEL_PCB_COLORS
Definition: frame_type.h:85
@ PANEL_3DV_RAYTRACING
Definition: frame_type.h:91
@ DIALOG_PCB_LIBRARY_TABLE
Definition: frame_type.h:105
@ FRAME_FOOTPRINT_PREVIEW
Definition: frame_type.h:46
@ DIALOG_CONFIGUREPATHS
Definition: frame_type.h:103
@ PANEL_FP_COLORS
Definition: frame_type.h:80
@ FRAME_FOOTPRINT_EDITOR
Definition: frame_type.h:41
@ PANEL_FP_EDIT_OPTIONS
Definition: frame_type.h:79
@ PANEL_PCB_ACTION_PLUGINS
Definition: frame_type.h:86
@ PANEL_FP_DEFAULT_VALUES
Definition: frame_type.h:81
@ PANEL_3DV_DISPLAY_OPTIONS
Definition: frame_type.h:89
@ PANEL_PCB_DISPLAY_OPTIONS
Definition: frame_type.h:83
void InvokePcbLibTableEditor(KIWAY *aKiway, wxWindow *aCaller)
Function InvokePcbLibTableEditor shows the modal DIALOG_FP_LIB_TABLE for purposes of editing the glob...
KIFACE_BASE & Kiface()
Global KIFACE_BASE "get" accessor.
Definition: pcbnew.cpp:302
void ScriptingSetPcbEditFrame(PCB_EDIT_FRAME *aPcbEditFrame)
BOARD * GetBoard()
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:111

References KIWAY::CommonSettingsChanged(), DIALOG_CONFIGUREPATHS, DIALOG_PCB_LIBRARY_TABLE, FRAME_FOOTPRINT_EDITOR, FRAME_FOOTPRINT_PREVIEW, FRAME_FOOTPRINT_VIEWER, FRAME_FOOTPRINT_VIEWER_MODAL, FRAME_FOOTPRINT_WIZARD, FRAME_PCB_EDITOR, SETTINGS_MANAGER::GetAppSettings(), InvokePcbLibTableEditor(), KIFACE_BASE::IsSingle(), KICAD_PCB_PORT_SERVICE_NUMBER, Kiface(), FOOTPRINT_PREVIEW_PANEL::New(), PANEL_FP_DEFAULT_VALUES, PANEL_FP_DISPLAY_OPTIONS, PANEL_FP_EDIT_OPTIONS, Pgm(), KIWAY::Player(), ScriptingSetPcbEditFrame(), KIWAY_HOLDER::SetKiway(), and DIALOG_SHIM::ShowQuasiModal().

◆ end_common()

void KIFACE_BASE::end_common ( )
protectedinherited

Common things to do for a top program module, during OnKifaceEnd();.

Definition at line 42 of file kiface_base.cpp.

43{
44 m_bm.End();
45}
BIN_MOD m_bm
Definition: kiface_base.h:125
void End()
Definition: bin_mod.cpp:50

References BIN_MOD::End(), and KIFACE_BASE::m_bm.

Referenced by CV::IFACE::OnKifaceEnd(), SCH::IFACE::OnKifaceEnd(), GERBV::IFACE::OnKifaceEnd(), KIFACE_BASE::OnKifaceEnd(), PGE::IFACE::OnKifaceEnd(), PCBCALC::IFACE::OnKifaceEnd(), and OnKifaceEnd().

◆ GetActions()

void KIFACE_BASE::GetActions ( std::vector< TOOL_ACTION * > &  aActions) const
inlineoverridevirtualinherited

Append this Kiface's registered actions to the given list.

Implements KIFACE.

Definition at line 116 of file kiface_base.h.

117 {
119 aActions.push_back( action );
120 }
static std::list< TOOL_ACTION * > & GetActionList()
Return list of TOOL_ACTIONs.
Represent a single user action.
Definition: tool_action.h:68

References ACTION_MANAGER::GetActionList().

◆ GetHelpFileName()

const wxString & KIFACE_BASE::GetHelpFileName ( ) const
inlineinherited

Return just the basename portion of the current help file.

Definition at line 110 of file kiface_base.h.

110{ return m_bm.m_help_file; }
wxString m_help_file
Definition: bin_mod.h:58

References KIFACE_BASE::m_bm, and BIN_MOD::m_help_file.

Referenced by EDA_BASE_FRAME::help_name().

◆ GetIuScale()

◆ GetOriginTransforms()

virtual ORIGIN_TRANSFORMS & UNITS_PROVIDER::GetOriginTransforms ( )
inlinevirtualinherited

Reimplemented in EDA_BASE_FRAME, and PCB_BASE_FRAME.

Definition at line 48 of file units_provider.h.

49 {
50 static ORIGIN_TRANSFORMS identityTransform;
51
52 return identityTransform;
53 }
A class to perform either relative or absolute display origin transforms for a single axis of a point...

◆ GetUserUnits()

EDA_UNITS UNITS_PROVIDER::GetUserUnits ( ) const
inlineinherited

Definition at line 42 of file units_provider.h.

42{ return m_userUnits; }
EDA_UNITS m_userUnits

References UNITS_PROVIDER::m_userUnits.

Referenced by DIALOG_CONSTRAINTS_REPORTER::AddPage(), PG_UNIT_EDITOR::CreateControls(), DIALOG_SHIM::DIALOG_SHIM(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), PL_EDITOR_FRAME::DisplayGridMsg(), EDA_DRAW_FRAME::DisplayUnitsMsg(), DRAWING_TOOL::drawArc(), DRAWING_TOOL::DrawDimension(), DRAWING_TOOL::drawShape(), DRAWING_TOOL::DrawSpecificationStackup(), EVT_GRID_CMD_CELL_CHANGED(), PROPERTIES_PANEL::extractValueAndWritability(), FP_TEXT_GRID_TABLE::FP_TEXT_GRID_TABLE(), PCB_EDIT_FRAME::GenFootprintsReport(), GERBER_DRAW_ITEM::GetMsgPanelInfo(), EDA_DRAW_FRAME::GetUnitPair(), WX_GRID::GetUnitValue(), GetUserUnits(), UNIT_BINDER::init(), GERBVIEW_INSPECTION_TOOL::MeasureTool(), PCB_VIEWER_TOOLS::MeasureTool(), UNITS_PROVIDER::MessageTextFromValue(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), PANEL_SETUP_BOARD_STACKUP::onExportToClipboard(), PANEL_SETUP_NETCLASSES::onUnitsChanged(), UNIT_BINDER::onUnitsChanged(), DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged(), DIALOG_NET_INSPECTOR::onUnitsChanged(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES(), PG_UNIT_EDITOR::PG_UNIT_EDITOR(), PIN_TABLE_DATA_MODEL::PIN_TABLE_DATA_MODEL(), PCB_CONTROL::placeBoardItems(), POSITION_RELATIVE_TOOL::PositionRelative(), PROPERTIES_PANEL::rebuildProperties(), DRC_TOOL::RunTests(), SCH_EDIT_FRAME::SaveSettings(), EDA_DRAW_FRAME::SaveSettings(), WX_GRID::SetUnitsProvider(), PIN_TABLE_DATA_MODEL::SetValue(), FP_TEXT_GRID_TABLE::SetValue(), GERBVIEW_INSPECTION_TOOL::ShowDCodes(), UNITS_PROVIDER::StringFromValue(), COMMON_TOOLS::ToggleUnits(), EDA_DRAW_FRAME::ToggleUserUnits(), EDITOR_CONDITIONS::unitsFunc(), GERBVIEW_FRAME::updateDCodeSelectBox(), DIALOG_DIMENSION_PROPERTIES::updateDimensionFromDialog(), PG_UNIT_EDITOR::UpdateFrame(), PNS_TUNE_STATUS_POPUP::UpdateStatus(), PL_EDITOR_FRAME::UpdateStatusBar(), PCB_BASE_FRAME::UpdateUserUnits(), PCB_EDIT_FRAME::UpdateViaSizeSelectBox(), DRC_TOOL::userUnits(), and UNITS_PROVIDER::ValueFromString().

◆ HandleJob()

int IFACE::HandleJob ( JOB aJob)
overridevirtual

Reimplemented from KIFACE.

Definition at line 485 of file pcbnew.cpp.

486{
487 return m_jobHandler->RunJob( aJob );
488}
std::unique_ptr< PCBNEW_JOBS_HANDLER > m_jobHandler
Definition: pcbnew.cpp:289

References m_jobHandler.

◆ IfaceOrAddress()

void * PCB::IFACE::IfaceOrAddress ( int  aDataId)
inlineoverridevirtual

Return a pointer to the requested object.

The safest way to use this is to retrieve a pointer to a static instance of an interface, similar to how the KIFACE interface is exported. But if you know what you are doing use it to retrieve anything you want.

Parameters
aDataIdidentifies which object you want the address of.
Returns
the object which must be cast into the know type.

Implements KIFACE_BASE.

Definition at line 253 of file pcbnew.cpp.

254 {
255 switch( aDataId )
256 {
257 // Return a pointer to the global instance of the footprint list.
259 return (void*) &GFootprintList;
260
261 // Return a new FP_LIB_TABLE with the global table installed as a fallback.
263 return (void*) new FP_LIB_TABLE( &GFootprintTable );
264
265 // Return a pointer to the global instance of the global footprint table.
267 return (void*) &GFootprintTable;
268
270 return reinterpret_cast<void*>( PyInit__pcbnew );
271
272 default:
273 return nullptr;
274 }
275 }
@ KIFACE_SCRIPTING_LEGACY
Definition: kiface_ids.h:57
@ KIFACE_FOOTPRINT_LIST
Return a pointer to the global instance of FOOTPRINT_LIST from pcbnew.
Definition: kiface_ids.h:39
@ KIFACE_GLOBAL_FOOTPRINT_TABLE
Return the global FP_LIB_TABLE.
Definition: kiface_ids.h:53
@ KIFACE_NEW_FOOTPRINT_TABLE
Return a new FP_LIB_TABLE with the global table installed as a fallback.
Definition: kiface_ids.h:46
PyObject * PyInit__pcbnew(void)
FP_LIB_TABLE GFootprintTable
The global footprint library table.
Definition: pcbnew.cpp:333
FOOTPRINT_LIST_IMPL GFootprintList
The global footprint info table.
Definition: pcbnew.cpp:338

References GFootprintList, GFootprintTable, KIFACE_FOOTPRINT_LIST, KIFACE_GLOBAL_FOOTPRINT_TABLE, KIFACE_NEW_FOOTPRINT_TABLE, KIFACE_SCRIPTING_LEGACY, and PyInit__pcbnew().

◆ InitSettings()

void KIFACE_BASE::InitSettings ( APP_SETTINGS_BASE aSettings)
inlineinherited

Definition at line 95 of file kiface_base.h.

95{ m_bm.InitSettings( aSettings ); }
void InitSettings(APP_SETTINGS_BASE *aPtr)
Takes ownership of a new application settings object.
Definition: bin_mod.h:53

References BIN_MOD::InitSettings(), and KIFACE_BASE::m_bm.

Referenced by BMP2CMP::IFACE::CreateKiWindow(), CV::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), GERBV::IFACE::OnKifaceStart(), PGE::IFACE::OnKifaceStart(), PCBCALC::IFACE::OnKifaceStart(), and OnKifaceStart().

◆ IsSingle()

bool KIFACE_BASE::IsSingle ( ) const
inlineinherited

Is this KIFACE running under single_top?

Definition at line 105 of file kiface_base.h.

int m_start_flags
flags provided in OnKifaceStart()
Definition: kiface_base.h:127
#define KFCTL_STANDALONE
Running as a standalone Top.
Definition: kiway.h:158

References KFCTL_STANDALONE, and KIFACE_BASE::m_start_flags.

Referenced by ACTION_MENU::AddQuitOrClose(), SCH::IFACE::CreateKiWindow(), CreateKiWindow(), DIALOG_DRC::DIALOG_DRC(), SCH_EDIT_FRAME::OnImportProject(), SCH_EDIT_FRAME::SaveProject(), and SCH_EDIT_FRAME::SendSelectItemsToPcb().

◆ KifaceSearch()

SEARCH_STACK & KIFACE_BASE::KifaceSearch ( )
inlineinherited

Only for DSO specific 'non-library' files.

(The library search path is in the PROJECT class.)

Definition at line 114 of file kiface_base.h.

114{ return m_bm.m_search; }
SEARCH_STACK m_search
Definition: bin_mod.h:60

References KIFACE_BASE::m_bm, and BIN_MOD::m_search.

Referenced by CVPCB_MAINFRAME::buildEquivalenceList(), DS_DATA_MODEL::ResolvePath(), and EDA_BASE_FRAME::sys_search().

◆ KifaceSettings()

APP_SETTINGS_BASE * KIFACE_BASE::KifaceSettings ( ) const
inlineinherited

Definition at line 93 of file kiface_base.h.

93{ return m_bm.m_config; }
APP_SETTINGS_BASE * m_config
maybe from $HOME/.${m_name}
Definition: bin_mod.h:57

References KIFACE_BASE::m_bm, and BIN_MOD::m_config.

Referenced by DIALOG_SYMBOL_FIELDS_TABLE::AddField(), AUTOPLACER::AUTOPLACER(), EDA_BASE_FRAME::config(), BMP2CMP::IFACE::CreateKiWindow(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_COLOR_PICKER::DIALOG_COLOR_PICKER(), DIALOG_ERC::DIALOG_ERC(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_PRINT_GERBVIEW::DIALOG_PRINT_GERBVIEW(), DIALOG_PRINT_PCBNEW::DIALOG_PRINT_PCBNEW(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), KIGFX::eeconfig(), PCB_PLUGIN::FootprintSave(), DIALOG_PLOT_SCHEMATIC::getPlotOptions(), LAYERS_MAP_DIALOG::initDialog(), DIALOG_PLOT_SCHEMATIC::initDlg(), DIALOG_ANNOTATE::InitValues(), DIALOG_EXPORT_NETLIST::InstallCustomPages(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), EDA_DRAW_FRAME::loadCanvasTypeSetting(), DIALOG_SYMBOL_FIELDS_TABLE::LoadFieldNames(), DIALOG_SYMBOL_FIELDS_TABLE::OnAddField(), DIALOG_SYMBOL_FIELDS_TABLE::OnColumnItemToggled(), LAYERS_MAP_DIALOG::OnGetSetup(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SYMBOL_PROPERTIES::OnInitDlg(), CV::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), GERBV::IFACE::OnKifaceStart(), PGE::IFACE::OnKifaceStart(), PCBCALC::IFACE::OnKifaceStart(), OnKifaceStart(), DIALOG_RESCUE_EACH::OnNeverShowClick(), SCH_EDIT_FRAME::OnResizeHierarchyNavigator(), LAYERS_MAP_DIALOG::OnStoreSetup(), DIALOG_SYMBOL_FIELDS_TABLE::OnTableColSize(), DIALOG_EESCHEMA_PAGE_SETTINGS::onTransferDataToWindow(), SCH_EDIT_FRAME::OpenProjectFiles(), pcbconfig(), TRANSLINE_IDENT::ReadConfig(), PCB_EDIT_FRAME::redrawNetnames(), EDA_DRAW_FRAME::saveCanvasTypeSetting(), LIB_TREE_MODEL_ADAPTER::SaveSettings(), PCB_CALCULATOR_FRAME::SaveSettings(), PANEL_PCBNEW_ACTION_PLUGINS::TransferDataFromWindow(), RATSNEST_VIEW_ITEM::ViewDraw(), TRANSLINE_IDENT::WriteConfig(), DIALOG_EXPORT_NETLIST::WriteCurrentNetlistSetup(), DIALOG_ANNOTATE::~DIALOG_ANNOTATE(), DIALOG_COLOR_PICKER::~DIALOG_COLOR_PICKER(), DIALOG_EESCHEMA_PAGE_SETTINGS::~DIALOG_EESCHEMA_PAGE_SETTINGS(), DIALOG_ERC::~DIALOG_ERC(), DIALOG_LABEL_PROPERTIES::~DIALOG_LABEL_PROPERTIES(), DIALOG_SHEET_PROPERTIES::~DIALOG_SHEET_PROPERTIES(), and DIALOG_SYMBOL_PROPERTIES::~DIALOG_SYMBOL_PROPERTIES().

◆ MessageTextFromValue() [1/2]

wxString UNITS_PROVIDER::MessageTextFromValue ( const EDA_ANGLE aValue,
bool  aAddUnitLabel = true 
)
inlineinherited

Definition at line 94 of file units_provider.h.

95 {
97 aValue.AsDegrees(), aAddUnitLabel,
99 }
constexpr EDA_IU_SCALE unityScale
Definition: base_units.h:112
double AsDegrees() const
Definition: eda_angle.h:149
wxString MessageTextFromValue(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits, double aValue, bool aAddUnitsText=true, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE)
A helper to convert the double length aValue to a string in inches, millimeters, or unscaled units.
Definition: eda_units.cpp:326

References EDA_ANGLE::AsDegrees(), DEGREES, DISTANCE, EDA_UNIT_UTILS::UI::MessageTextFromValue(), and unityScale.

◆ MessageTextFromValue() [2/2]

wxString UNITS_PROVIDER::MessageTextFromValue ( double  aValue,
bool  aAddUnitLabel = true,
EDA_DATA_TYPE  aType = EDA_DATA_TYPE::DISTANCE 
)
inlineinherited

A lower-precision version of StringFromValue().

Should ONLY be used for status text and messages. Not suitable for dialogs, files, etc. where the loss of precision matters.

Definition at line 87 of file units_provider.h.

89 {
91 aAddUnitLabel, aType );
92 }
EDA_UNITS GetUserUnits() const

References UNITS_PROVIDER::GetIuScale(), UNITS_PROVIDER::GetUserUnits(), and EDA_UNIT_UTILS::UI::MessageTextFromValue().

Referenced by CheckLibSymbol(), DRC_TEST_PROVIDER_MATCHED_LENGTH::checkSkews(), DIALOG_BOARD_REANNOTATE::CoordTowxString(), EDA_DRAW_FRAME::DisplayGridMsg(), GERBVIEW_FRAME::DisplayGridMsg(), PCB_BASE_FRAME::DisplayGridMsg(), GERBER_FILE_IMAGE::DisplayImageInfo(), DRAWING_TOOL::DrawBoardCharacteristics(), DRC_ENGINE::EvalRules(), DIALOG_NET_INSPECTOR::formatLength(), DRC_TEST_PROVIDER::formatMsg(), LIB_SHAPE::GetItemDescription(), SCH_LINE::GetItemDescription(), SCH_SHAPE::GetItemDescription(), DS_DRAW_ITEM_LINE::GetItemDescription(), DS_DRAW_ITEM_RECT::GetItemDescription(), PCB_TRACK::GetItemDescription(), LIB_FIELD::GetMsgPanelInfo(), LIB_PIN::GetMsgPanelInfo(), LIB_TEXT::GetMsgPanelInfo(), LIB_TEXTBOX::GetMsgPanelInfo(), SCH_BITMAP::GetMsgPanelInfo(), SCH_FIELD::GetMsgPanelInfo(), SCH_LABEL_BASE::GetMsgPanelInfo(), SCH_PIN::GetMsgPanelInfo(), SCH_TEXT::GetMsgPanelInfo(), SCH_TEXTBOX::GetMsgPanelInfo(), DS_DRAW_ITEM_BASE::GetMsgPanelInfo(), FP_TEXT::GetMsgPanelInfo(), FP_TEXTBOX::GetMsgPanelInfo(), NETINFO_ITEM::GetMsgPanelInfo(), PAD::GetMsgPanelInfo(), PCB_BITMAP::GetMsgPanelInfo(), PCB_DIMENSION_BASE::GetMsgPanelInfo(), PCB_DIM_ALIGNED::GetMsgPanelInfo(), PCB_DIM_LEADER::GetMsgPanelInfo(), PCB_TARGET::GetMsgPanelInfo(), PCB_TEXT::GetMsgPanelInfo(), PCB_TEXTBOX::GetMsgPanelInfo(), PCB_TRACK::GetMsgPanelInfo(), PCB_VIA::GetMsgPanelInfo(), ZONE::GetMsgPanelInfo(), STROKE_PARAMS::GetMsgPanelInfo(), FOOTPRINT_SEARCH_HANDLER::GetResultCell(), ZONE_SEARCH_HANDLER::GetResultCell(), TEXT_SEARCH_HANDLER::GetResultCell(), DIALOG_BOARD_REANNOTATE::MakeSampleText(), test::DRC_TEST_PROVIDER_DIFF_PAIR_COUPLING::Run(), DRC_TEST_PROVIDER_MATCHED_LENGTH::runInternal(), DIALOG_BOARD_STATISTICS::saveReportClicked(), EDA_SHAPE::ShapeGetMsgPanelInfo(), showCoord(), TRACK_WIDTH_MENU::update(), DIFF_PAIR_MENU::update(), VIA_SIZE_MENU::update(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), DIALOG_BOARD_STATISTICS::updateDrillGrid(), PCB_CONTROL::UpdateMessagePanel(), PL_EDITOR_FRAME::UpdateMsgPanelInfo(), SCH_BASE_FRAME::UpdateStatusBar(), GERBVIEW_FRAME::UpdateStatusBar(), PCB_BASE_FRAME::UpdateStatusBar(), and DIALOG_BOARD_STATISTICS::updateWidets().

◆ Name()

const wxString KIFACE_BASE::Name ( )
inlineinherited

Definition at line 88 of file kiface_base.h.

89 {
90 return wxString::FromUTF8( m_bm.m_name );
91 }
const char * m_name
name of this binary module, static C string.
Definition: bin_mod.h:55

References KIFACE_BASE::m_bm, and BIN_MOD::m_name.

◆ OnKifaceEnd()

void IFACE::OnKifaceEnd ( )
overridevirtual

Called just once just before the DSO is to be unloaded.

It is called before static C++ destructors are called. A default implementation is supplied.

Reimplemented from KIFACE_BASE.

Definition at line 391 of file pcbnew.cpp.

392{
393 end_common();
394}
void end_common()
Common things to do for a top program module, during OnKifaceEnd();.
Definition: kiface_base.cpp:42

References KIFACE_BASE::end_common().

◆ OnKifaceStart()

bool IFACE::OnKifaceStart ( PGM_BASE aProgram,
int  aCtlBits 
)
overridevirtual

Typically start_common() is called from here.

Implements KIFACE_BASE.

Definition at line 341 of file pcbnew.cpp.

342{
343 // This is process-level-initialization, not project-level-initialization of the DSO.
344 // Do nothing in here pertinent to a project!
347
348 start_common( aCtlBits );
349
350 wxFileName fn = FP_LIB_TABLE::GetGlobalTableFileName();
351
352 if( !fn.FileExists() )
353 {
354 if( !( aCtlBits & KFCTL_CLI ) )
355 {
356 DIALOG_GLOBAL_FP_LIB_TABLE_CONFIG fpDialog( nullptr );
357
358 fpDialog.ShowModal();
359 }
360 }
361 else
362 {
363 try
364 {
365 // The global table is not related to a specific project. All projects
366 // will use the same global table. So the KIFACE::OnKifaceStart() contract
367 // of avoiding anything project specific is not violated here.
369 return false;
370 }
371 catch( const IO_ERROR& ioe )
372 {
373 // if we are here, a incorrect global footprint library table was found.
374 // Incorrect global symbol library table is not a fatal error:
375 // the user just has to edit the (partially) loaded table.
376 wxString msg = _( "An error occurred attempting to load the global footprint library "
377 "table.\n"
378 "Please edit this global footprint library table in Preferences "
379 "menu." );
380
381 DisplayErrorMessage( nullptr, msg, ioe.What() );
382 }
383 }
384
385 m_jobHandler = std::make_unique<PCBNEW_JOBS_HANDLER>();
386
387 return true;
388}
static bool LoadGlobalTable(FP_LIB_TABLE &aTable)
Load the global footprint library table into aTable.
static wxString GetGlobalTableFileName()
Hold an error message and may be used when throwing exceptions containing meaningful error messages.
Definition: ki_exception.h:76
virtual const wxString What() const
A composite of Problem() and Where()
Definition: exceptions.cpp:30
void InitSettings(APP_SETTINGS_BASE *aSettings)
Definition: kiface_base.h:95
APP_SETTINGS_BASE * KifaceSettings() const
Definition: kiface_base.h:93
bool start_common(int aCtlBits)
Common things to do for a top program module, during OnKifaceStart().
Definition: kiface_base.cpp:32
virtual SETTINGS_MANAGER & GetSettingsManager() const
Definition: pgm_base.h:135
T * RegisterSettings(T *aSettings, bool aLoadNow=true)
Takes ownership of the pointer passed in.
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
Definition: confirm.cpp:325
#define _(s)
#define KFCTL_CLI
Running as CLI app.
Definition: kiway.h:160
int PGM_BASE * aProgram
Definition: pcbnew.cpp:308

References _, aProgram, DisplayErrorMessage(), FP_LIB_TABLE::GetGlobalTableFileName(), PGM_BASE::GetSettingsManager(), GFootprintTable, KIFACE_BASE::InitSettings(), KFCTL_CLI, KIFACE_BASE::KifaceSettings(), FP_LIB_TABLE::LoadGlobalTable(), m_jobHandler, SETTINGS_MANAGER::RegisterSettings(), KIFACE_BASE::start_common(), and IO_ERROR::What().

◆ SaveFileAs()

void IFACE::SaveFileAs ( const wxString &  aProjectBasePath,
const wxString &  aSrcProjectName,
const wxString &  aNewProjectBasePath,
const wxString &  aNewProjectName,
const wxString &  aSrcFilePath,
wxString &  aErrors 
)
overridevirtual

Saving a file under a different name is delegated to the various KIFACEs because the project doesn't know the internal format of the various files (which may have paths in them that need updating).

Reimplemented from KIFACE.

Definition at line 397 of file pcbnew.cpp.

400{
401 wxFileName destFile( aSrcFilePath );
402 wxString destPath = destFile.GetPathWithSep();
403 wxUniChar pathSep = wxFileName::GetPathSeparator();
404 wxString ext = destFile.GetExt();
405
406 if( destPath.StartsWith( aProjectBasePath + pathSep ) )
407 destPath.Replace( aProjectBasePath, aNewProjectBasePath, false );
408
409 wxString srcProjectFootprintLib = pathSep + aSrcProjectName + wxT( ".pretty" ) + pathSep;
410 wxString newProjectFootprintLib = pathSep + aNewProjectName + wxT( ".pretty" ) + pathSep;
411
412 destPath.Replace( srcProjectFootprintLib, newProjectFootprintLib, true );
413
414 destFile.SetPath( destPath );
415
417 {
418 if( destFile.GetName() == aSrcProjectName )
419 destFile.SetName( aNewProjectName );
420
421 KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
422 }
423 else if( ext == LegacyPcbFileExtension )
424 {
425 if( destFile.GetName() == aSrcProjectName )
426 destFile.SetName( aNewProjectName );
427
428 KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
429 }
431 {
432 // Footprints are not project-specific. Keep their source names.
433 KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
434 }
435 else if( ext == FootprintAssignmentFileExtension )
436 {
437 // TODO
438 }
439 else if( ext == wxT( "rpt" ) )
440 {
441 // DRC must be the "gold standard". Since we can't guarantee that there aren't
442 // any non-deterministic cases in the save-as algorithm, we don't want to certify
443 // the result with the source's DRC report. Therefore copy it under the old
444 // name.
445 KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors );
446 }
447 else if( destFile.GetName() == wxT( "fp-lib-table" ) )
448 {
449 try
450 {
451 FP_LIB_TABLE fpLibTable;
452 fpLibTable.Load( aSrcFilePath );
453
454 for( unsigned i = 0; i < fpLibTable.GetCount(); i++ )
455 {
456 LIB_TABLE_ROW& row = fpLibTable.At( i );
457 wxString uri = row.GetFullURI();
458
459 uri.Replace( wxT( "/" ) + aSrcProjectName + wxT( ".pretty" ),
460 wxT( "/" ) + aNewProjectName + wxT( ".pretty" ) );
461
462 row.SetFullURI( uri );
463 }
464
465 fpLibTable.Save( destFile.GetFullPath() );
466 }
467 catch( ... )
468 {
469 wxString msg;
470
471 if( !aErrors.empty() )
472 aErrors += wxT( "\n" );
473
474 msg.Printf( _( "Cannot copy file '%s'." ), destFile.GetFullPath() );
475 aErrors += msg;
476 }
477 }
478 else
479 {
480 wxFAIL_MSG( wxT( "Unexpected filetype for Pcbnew::SaveFileAs()" ) );
481 }
482}
Hold a record identifying a library accessed by the appropriate plug in object in the LIB_TABLE.
void SetFullURI(const wxString &aFullURI)
Change the full URI for the library.
const wxString GetFullURI(bool aSubstituted=false) const
Return the full location specifying URI for the LIB, either in original UI form or in environment var...
LIB_TABLE_ROW & At(unsigned aIndex)
Get the 'n'th LIB_TABLE_ROW object.
void Load(const wxString &aFileName)
Load the library table using the path defined by aFileName aFallBackTable.
unsigned GetCount() const
Get the number of rows contained in the table.
void Save(const wxString &aFileName) const
Write this library table to aFileName in s-expression form.
void KiCopyFile(const wxString &aSrcPath, const wxString &aDestPath, wxString &aErrors)
Definition: gestfich.cpp:214
const std::string LegacyPcbFileExtension
const std::string BackupFileSuffix
const std::string FootprintAssignmentFileExtension
const std::string KiCadFootprintFileExtension
const std::string KiCadPcbFileExtension
const std::string LegacyFootprintLibPathExtension

References _, LIB_TABLE::At(), BackupFileSuffix, FootprintAssignmentFileExtension, LIB_TABLE::GetCount(), LIB_TABLE_ROW::GetFullURI(), KiCadFootprintFileExtension, KiCadPcbFileExtension, KiCopyFile(), LegacyFootprintLibPathExtension, LegacyPcbFileExtension, LIB_TABLE::Load(), LIB_TABLE::Save(), and LIB_TABLE_ROW::SetFullURI().

◆ SetUserUnits()

◆ start_common()

bool KIFACE_BASE::start_common ( int  aCtlBits)
protectedinherited

Common things to do for a top program module, during OnKifaceStart().

Definition at line 32 of file kiface_base.cpp.

33{
34 m_start_flags = aCtlBits;
35 m_bm.Init();
37
38 return true;
39}
KIWAY::FACE_T m_id
Definition: kiface_base.h:123
void Init()
Definition: bin_mod.cpp:38
void GlobalPathsAppend(SEARCH_STACK *aDst, KIWAY::FACE_T aId)
Initialize aDst SEARCH_STACK with KIFACE (DSO) specific settings.

References GlobalPathsAppend(), BIN_MOD::Init(), KIFACE_BASE::m_bm, KIFACE_BASE::m_id, BIN_MOD::m_search, and KIFACE_BASE::m_start_flags.

Referenced by BMP2CMP::IFACE::OnKifaceStart(), CV::IFACE::OnKifaceStart(), SCH::IFACE::OnKifaceStart(), GERBV::IFACE::OnKifaceStart(), PGE::IFACE::OnKifaceStart(), PCBCALC::IFACE::OnKifaceStart(), and OnKifaceStart().

◆ StartFlags()

int KIFACE_BASE::StartFlags ( ) const
inlineinherited

Return whatever was passed as aCtlBits to OnKifaceStart().

Definition at line 100 of file kiface_base.h.

100{ return m_start_flags; }

References KIFACE_BASE::m_start_flags.

◆ StringFromValue() [1/2]

wxString UNITS_PROVIDER::StringFromValue ( const EDA_ANGLE aValue,
bool  aAddUnitLabel = false 
)
inlineinherited

Definition at line 74 of file units_provider.h.

75 {
77 aValue.AsDegrees(), aAddUnitLabel,
79 }
wxString StringFromValue(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits, double aValue, bool aAddUnitsText=false, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE)
Returns the string from aValue according to aUnits (inch, mm ...) for display.
Definition: eda_units.cpp:236

References EDA_ANGLE::AsDegrees(), DEGREES, DISTANCE, EDA_UNIT_UTILS::UI::StringFromValue(), and unityScale.

◆ StringFromValue() [2/2]

wxString UNITS_PROVIDER::StringFromValue ( double  aValue,
bool  aAddUnitLabel = false,
EDA_DATA_TYPE  aType = EDA_DATA_TYPE::DISTANCE 
)
inlineinherited

Converts aValue in internal units into a united string.

For readability, trailing 0s are removed if the mantissa has 3 or more digits. This function should be used to display values in dialogs because a value entered in mm (for instance 2.0 mm) could need up to 8 digits mantissa if displayed in inch to avoid truncation or rounding made just by the printf function.

Parameters
aValue= value in internal units
aAddUnitLabel= true to add symbol unit to the string value
Returns
A wxString object containing value and optionally the symbol unit (like 2.000 mm)

Definition at line 67 of file units_provider.h.

69 {
71 aAddUnitLabel, aType );
72 }

References UNITS_PROVIDER::GetIuScale(), UNITS_PROVIDER::GetUserUnits(), and EDA_UNIT_UTILS::UI::StringFromValue().

Referenced by DIALOG_PLOT::applyPlotSettings(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::buildNetclassesGrid(), PANEL_SETUP_BOARD_STACKUP::computeBoardThickness(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), PANEL_SETUP_BOARD_STACKUP::createRowData(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DRAWING_TOOL::DrawSpecificationStackup(), DRC_TEST_PROVIDER::formatMsg(), PIN_TABLE_DATA_MODEL::GetValue(), FP_TEXT_GRID_TABLE::GetValue(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectDRCError(), PANEL_SETUP_BOARD_STACKUP::onAdjustDielectricThickness(), WX_GRID::onCellEditorHidden(), DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged(), reportMax(), reportMin(), reportOpt(), PANEL_SETUP_BOARD_STACKUP::setDefaultLayerWidths(), WX_GRID::SetUnitValue(), PANEL_SETUP_BOARD_STACKUP::synchronizeWithBoard(), DIALOG_GRID_SETTINGS::TransferDataFromWindow(), PANEL_SETUP_CONSTRAINTS::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::Validate(), and DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::Validate().

◆ ValueFromString()

int UNITS_PROVIDER::ValueFromString ( const wxString &  aTextValue,
EDA_DATA_TYPE  aType = EDA_DATA_TYPE::DISTANCE 
)
inlineinherited

Member Data Documentation

◆ m_bm

◆ m_id

KIWAY::FACE_T KIFACE_BASE::m_id
privateinherited

Definition at line 123 of file kiface_base.h.

Referenced by KIFACE_BASE::start_common().

◆ m_iuScale

const EDA_IU_SCALE& UNITS_PROVIDER::m_iuScale
privateinherited

Definition at line 125 of file units_provider.h.

Referenced by UNITS_PROVIDER::GetIuScale().

◆ m_jobHandler

std::unique_ptr<PCBNEW_JOBS_HANDLER> PCB::IFACE::m_jobHandler
private

Definition at line 289 of file pcbnew.cpp.

Referenced by HandleJob(), and OnKifaceStart().

◆ m_start_flags

int KIFACE_BASE::m_start_flags
privateinherited

flags provided in OnKifaceStart()

Definition at line 127 of file kiface_base.h.

Referenced by KIFACE_BASE::IsSingle(), KIFACE_BASE::start_common(), and KIFACE_BASE::StartFlags().

◆ m_userUnits

EDA_UNITS UNITS_PROVIDER::m_userUnits
privateinherited

Definition at line 126 of file units_provider.h.

Referenced by UNITS_PROVIDER::GetUserUnits(), and UNITS_PROVIDER::SetUserUnits().


The documentation for this struct was generated from the following file: