KiCad PCB EDA Suite
DIALOG_SYMBOL_PROPERTIES Class Reference

Dialog used to edit SCH_SYMBOL objects in a schematic. More...

#include <dialog_symbol_properties.h>

Inheritance diagram for DIALOG_SYMBOL_PROPERTIES:
DIALOG_SYMBOL_PROPERTIES_BASE DIALOG_SHIM KIWAY_HOLDER

Public Types

enum  HOLDER_TYPE { DIALOG , FRAME , PANEL }
 

Public Member Functions

 DIALOG_SYMBOL_PROPERTIES (SCH_EDIT_FRAME *aParent, SCH_SYMBOL *aSymbol)
 
 ~DIALOG_SYMBOL_PROPERTIES () override
 
SCH_EDIT_FRAMEGetParent ()
 
void SetInitialFocus (wxWindow *aWindow)
 Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown. More...
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal () const
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
void OnModify ()
 
void SetPosition (const wxPoint &aNewPosition)
 Force the position of the dialog to a new position. More...
 
EDA_UNITS GetUserUnits () const
 
void SetupStandardButtons (std::map< int, wxString > aLabels={})
 
HOLDER_TYPE GetType () const
 
KIWAYKiway () const
 Return a reference to the KIWAY that this object has an opportunity to participate in. More...
 
bool HasKiway () const
 Safety check before asking for the Kiway reference. More...
 
PROJECTPrj () const
 Return a reference to the PROJECT associated with this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 It is only used for debugging, since "this" is not a wxWindow*. More...
 

Static Public Member Functions

static bool IsCtrl (int aChar, const wxKeyEvent &e)
 
static bool IsShiftCtrl (int aChar, const wxKeyEvent &e)
 

Protected Member Functions

virtual void OnChoice (wxCommandEvent &event)
 
void finishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void setSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int horizPixelsFromDU (int x) const
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int vertPixelsFromDU (int y) const
 Convert an integer number of dialog units to pixels, vertically. More...
 
void resetSize ()
 Clear the existing dialog size and position. More...
 
virtual void OnCharHook (wxKeyEvent &aEvt)
 

Protected Attributes

wxNotebook * m_notebook1
 
wxPanel * generalPage
 
WX_GRIDm_fieldsGrid
 
wxBitmapButton * m_bpAdd
 
wxBitmapButton * m_bpMoveUp
 
wxBitmapButton * m_bpMoveDown
 
wxBitmapButton * m_bpDelete
 
wxStaticText * m_unitLabel
 
wxChoice * m_unitChoice
 
wxCheckBox * m_cbAlternateSymbol
 
wxCheckBox * m_cbMakeDefaultInstance
 
wxStaticText * m_orientationLabel
 
wxChoice * m_orientationCtrl
 
wxStaticText * m_mirrorLabel
 
wxChoice * m_mirrorCtrl
 
wxCheckBox * m_ShowPinNumButt
 
wxCheckBox * m_ShowPinNameButt
 
wxCheckBox * m_cbExcludeFromBom
 
wxCheckBox * m_cbExcludeFromBoard
 
wxButton * m_updateSymbolBtn
 
wxButton * m_changeSymbolBtn
 
wxButton * m_editSchematicSymbolBtn
 
wxButton * m_editLibrarySymbolBtn
 
wxPanel * m_pinTablePage
 
WX_GRIDm_pinGrid
 
wxStaticText * m_libraryIDLabel
 
wxTextCtrl * m_tcLibraryID
 
wxButton * m_spiceFieldsButton
 
wxStdDialogButtonSizer * m_stdDialogButtonSizer
 
wxButton * m_stdDialogButtonSizerOK
 
wxButton * m_stdDialogButtonSizerCancel
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_useCalculatedSize
 
bool m_firstPaintEvent
 
wxWindow * m_initialFocusTarget
 
WX_EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 
EDA_BASE_FRAMEm_parentFrame
 
std::vector< wxWindow * > m_tabOrder
 
wxSize m_initialSize
 

Private Member Functions

bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
bool Validate () override
 
void OnAddField (wxCommandEvent &event) override
 
void OnDeleteField (wxCommandEvent &event) override
 
void OnMoveUp (wxCommandEvent &event) override
 
void OnMoveDown (wxCommandEvent &event) override
 
void OnEditSpiceModel (wxCommandEvent &event) override
 
void OnPinTableColSort (wxGridEvent &aEvent)
 
void OnPinTableCellEdited (wxGridEvent &event) override
 
void OnSizeFieldsGrid (wxSizeEvent &event) override
 
void OnSizePinsGrid (wxSizeEvent &event) override
 
void OnGridCellChanging (wxGridEvent &event)
 
void OnUpdateUI (wxUpdateUIEvent &event) override
 
void OnCancelButtonClick (wxCommandEvent &event) override
 
void OnInitDlg (wxInitDialogEvent &event) override
 
void OnGridEditorShown (wxGridEvent &event) override
 
void OnGridEditorHidden (wxGridEvent &event) override
 
void OnUnitChoice (wxCommandEvent &event) override
 
void OnCheckBox (wxCommandEvent &event) override
 
void OnEditSymbol (wxCommandEvent &) override
 
void OnEditLibrarySymbol (wxCommandEvent &) override
 
void OnUpdateSymbol (wxCommandEvent &) override
 
void OnExchangeSymbol (wxCommandEvent &) override
 
void AdjustFieldsGridColumns ()
 
void AdjustPinsGridColumns ()
 
void HandleDelayedFocus (wxCommandEvent &event)
 
void HandleDelayedSelection (wxCommandEvent &event)
 
void OnCloseWindow (wxCloseEvent &aEvent)
 Properly handle the wxCloseEvent when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM. More...
 
void OnButton (wxCommandEvent &aEvent)
 Properly handle the default button events when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM. More...
 
 DECLARE_EVENT_TABLE ()
 

Private Attributes

SCH_SYMBOLm_symbol
 
LIB_SYMBOLm_part
 
wxSize m_fieldsSize
 
wxSize m_lastRequestedSize
 
wxSize m_pinsSize
 
bool m_editorShown
 
wxString m_shownColumns
 
FIELDS_GRID_TABLE< SCH_FIELD > * m_fields
 
SCH_PIN_TABLE_DATA_MODELm_dataModel
 
KIWAYm_kiway
 
HOLDER_TYPE m_type
 

Detailed Description

Dialog used to edit SCH_SYMBOL objects in a schematic.

This is derived from DIALOG_SYMBOL_PROPERTIES_BASE which is maintained by wxFormBuilder.

Definition at line 55 of file dialog_symbol_properties.h.

Member Enumeration Documentation

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 39 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ DIALOG_SYMBOL_PROPERTIES()

DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES ( SCH_EDIT_FRAME aParent,
SCH_SYMBOL aSymbol 
)

Definition at line 297 of file dialog_symbol_properties.cpp.

298 :
300 m_symbol( nullptr ),
301 m_part( nullptr ),
302 m_fields( nullptr ),
303 m_dataModel( nullptr )
304{
305 m_symbol = aSymbol;
307
308 // GetLibSymbolRef() now points to the cached part in the schematic, which should always be
309 // there for usual cases, but can be null when opening old schematics not storing the part
310 // so we need to handle m_part == nullptr
311 // wxASSERT( m_part );
312
314
315 m_editorShown = false;
316 m_lastRequestedSize = wxSize( 0, 0 );
317
318#ifndef KICAD_SPICE
319 m_spiceFieldsButton->Hide();
320#endif /* not KICAD_SPICE */
321
322 // disable some options inside the edit dialog which can cause problems while dragging
323 if( m_symbol->IsDragging() )
324 {
325 m_orientationLabel->Disable();
326 m_orientationCtrl->Disable();
327 m_mirrorLabel->Disable();
328 m_mirrorCtrl->Disable();
329 }
330
331 // Give a bit more room for combobox editors
332 m_fieldsGrid->SetDefaultRowSize( m_fieldsGrid->GetDefaultRowSize() + 4 );
333 m_pinGrid->SetDefaultRowSize( m_pinGrid->GetDefaultRowSize() + 4 );
334
336 m_fieldsGrid->PushEventHandler( new FIELDS_GRID_TRICKS( m_fieldsGrid, this ) );
337 m_fieldsGrid->SetSelectionMode( wxGrid::wxGridSelectRows );
338
339 // Show/hide columns according to user's preference
340 EESCHEMA_SETTINGS* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() );
341
342 if( cfg )
343 {
346 }
347
348 if( m_part && m_part->HasConversion() )
349 {
350 // DeMorgan conversions are a subclass of alternate pin assignments, so don't allow
351 // free-form alternate assignments as well. (We won't know how to map the alternates
352 // back and forth when the conversion is changed.)
353 m_pinTablePage->Disable();
354 m_pinTablePage->SetToolTip( _( "Alternate pin assignments are not available for De Morgan "
355 "symbols." ) );
356 }
357 else
358 {
360
361 // Make a copy of the pins for editing
362 for( const std::unique_ptr<SCH_PIN>& pin : m_symbol->GetRawPins() )
363 m_dataModel->push_back( *pin );
364
367
369 }
370
371 m_pinGrid->PushEventHandler( new GRID_TRICKS( m_pinGrid ) );
372 m_pinGrid->SetSelectionMode( wxGrid::wxGridSelectRows );
373
374 wxToolTip::Enable( true );
376
377 // Configure button logos
378 m_bpAdd->SetBitmap( KiBitmap( BITMAPS::small_plus ) );
380 m_bpMoveUp->SetBitmap( KiBitmap( BITMAPS::small_up ) );
382
383 // wxFormBuilder doesn't include this event...
384 m_fieldsGrid->Connect( wxEVT_GRID_CELL_CHANGING,
386 nullptr, this );
387
388 m_pinGrid->Connect( wxEVT_GRID_COL_SORT,
390 nullptr, this );
391
392 Connect( SYMBOL_DELAY_FOCUS,
393 wxCommandEventHandler( DIALOG_SYMBOL_PROPERTIES::HandleDelayedFocus ), nullptr, this );
394 Connect( SYMBOL_DELAY_SELECTION,
395 wxCommandEventHandler( DIALOG_SYMBOL_PROPERTIES::HandleDelayedSelection ), nullptr,
396 this );
397
398 QueueEvent( new wxCommandEvent( SYMBOL_DELAY_SELECTION ) );
399 wxCommandEvent *evt = new wxCommandEvent( SYMBOL_DELAY_FOCUS );
400 evt->SetClientData( new VECTOR2I( REFERENCE_FIELD, FDC_VALUE ) );
401 QueueEvent( evt );
402
404}
KIFACE_BASE & Kiface()
Global KIFACE_BASE "get" accessor.
wxBitmap KiBitmap(BITMAPS aBitmap, int aHeightTag)
Construct a wxBitmap from an image identifier Returns the image from the active theme if the image ha...
Definition: bitmap.cpp:105
void SetupStandardButtons(std::map< int, wxString > aLabels={})
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
DIALOG_SYMBOL_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Symbol Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU)
SCH_PIN_TABLE_DATA_MODEL * m_dataModel
void OnPinTableColSort(wxGridEvent &aEvent)
void HandleDelayedFocus(wxCommandEvent &event)
void HandleDelayedSelection(wxCommandEvent &event)
void OnGridCellChanging(wxGridEvent &event)
FIELDS_GRID_TABLE< SCH_FIELD > * m_fields
bool IsDragging() const
Definition: eda_item.h:120
Add mouse and command handling (such as cut, copy, and paste) to a WX_GRID instance.
Definition: grid_tricks.h:59
APP_SETTINGS_BASE * KifaceSettings() const
Definition: kiface_base.h:93
bool HasConversion() const
Test if symbol has more than one body conversion type (DeMorgan).
void SortRows(int aSortCol, bool ascending)
std::vector< std::unique_ptr< SCH_PIN > > & GetRawPins()
Definition: sch_symbol.h:490
std::unique_ptr< LIB_SYMBOL > & GetLibSymbolRef()
Definition: sch_symbol.h:174
void ShowHideColumns(const wxString &shownColumns)
Show/hide the grid columns based on a tokenized string of shown column indexes.
Definition: wx_grid.cpp:172
void SetTable(wxGridTableBase *table, bool aTakeOwnership=false)
Hide wxGrid's SetTable() method with one which doesn't mess up the grid column widths when setting th...
Definition: wx_grid.cpp:93
#define _(s)
@ FDC_VALUE
@ REFERENCE_FIELD
Field Reference of part, i.e. "IC21".
VECTOR2< int > VECTOR2I
Definition: vector2d.h:607

References _, SCH_PIN_TABLE_DATA_MODEL::BuildAttrs(), COL_NUMBER, EESCHEMA_SETTINGS::APPEARANCE::edit_symbol_visible_columns, FDC_VALUE, DIALOG_SHIM::finishDialogSettings(), SCH_SYMBOL::GetLibSymbolRef(), SCH_SYMBOL::GetRawPins(), HandleDelayedFocus(), HandleDelayedSelection(), LIB_SYMBOL::HasConversion(), EDA_ITEM::IsDragging(), KiBitmap(), Kiface(), KIFACE_BASE::KifaceSettings(), EESCHEMA_SETTINGS::m_Appearance, DIALOG_SYMBOL_PROPERTIES_BASE::m_bpAdd, DIALOG_SYMBOL_PROPERTIES_BASE::m_bpDelete, DIALOG_SYMBOL_PROPERTIES_BASE::m_bpMoveDown, DIALOG_SYMBOL_PROPERTIES_BASE::m_bpMoveUp, m_dataModel, m_editorShown, m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, m_lastRequestedSize, DIALOG_SYMBOL_PROPERTIES_BASE::m_mirrorCtrl, DIALOG_SYMBOL_PROPERTIES_BASE::m_mirrorLabel, DIALOG_SYMBOL_PROPERTIES_BASE::m_orientationCtrl, DIALOG_SYMBOL_PROPERTIES_BASE::m_orientationLabel, m_part, DIALOG_SYMBOL_PROPERTIES_BASE::m_pinGrid, DIALOG_SYMBOL_PROPERTIES_BASE::m_pinTablePage, m_shownColumns, DIALOG_SYMBOL_PROPERTIES_BASE::m_spiceFieldsButton, m_symbol, OnGridCellChanging(), OnPinTableColSort(), pin, REFERENCE_FIELD, WX_GRID::SetTable(), DIALOG_SHIM::SetupStandardButtons(), WX_GRID::ShowHideColumns(), small_down, small_plus, small_trash, small_up, and SCH_PIN_TABLE_DATA_MODEL::SortRows().

◆ ~DIALOG_SYMBOL_PROPERTIES()

DIALOG_SYMBOL_PROPERTIES::~DIALOG_SYMBOL_PROPERTIES ( )
override

Definition at line 407 of file dialog_symbol_properties.cpp.

408{
409 EESCHEMA_SETTINGS* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() );
410
411 if( cfg )
413
414 // Prevents crash bug in wxGrid's d'tor
416
417 if( m_dataModel )
419
420 m_fieldsGrid->Disconnect( wxEVT_GRID_CELL_CHANGING,
422 nullptr, this );
423
424 m_pinGrid->Disconnect( wxEVT_GRID_COL_SORT,
426 nullptr, this );
427
428 // Delete the GRID_TRICKS.
429 m_fieldsGrid->PopEventHandler( true );
430 m_pinGrid->PopEventHandler( true );
431}
void DestroyTable(wxGridTableBase *aTable)
Work-around for a bug in wxGrid which crashes when deleting the table if the cell edit control was no...
Definition: wx_grid.cpp:139
wxString GetShownColumns()
Get a tokenized string containing the shown column indexes.
Definition: wx_grid.cpp:153

References WX_GRID::DestroyTable(), EESCHEMA_SETTINGS::APPEARANCE::edit_symbol_visible_columns, WX_GRID::GetShownColumns(), Kiface(), KIFACE_BASE::KifaceSettings(), EESCHEMA_SETTINGS::m_Appearance, m_dataModel, m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, DIALOG_SYMBOL_PROPERTIES_BASE::m_pinGrid, OnGridCellChanging(), and OnPinTableColSort().

Member Function Documentation

◆ AdjustFieldsGridColumns()

void DIALOG_SYMBOL_PROPERTIES::AdjustFieldsGridColumns ( )
private

Definition at line 1055 of file dialog_symbol_properties.cpp.

1056{
1057 wxGridUpdateLocker deferRepaintsTillLeavingScope( m_fieldsGrid );
1058
1059 // Account for scroll bars
1060 int fieldsWidth = KIPLATFORM::UI::GetUnobscuredSize( m_fieldsGrid ).x;
1061
1062 m_fieldsGrid->AutoSizeColumn( 0 );
1063
1064 int fixedColsWidth = m_fieldsGrid->GetColSize( 0 );
1065
1066 for( int i = 2; i < m_fieldsGrid->GetNumberCols(); i++ )
1067 fixedColsWidth += m_fieldsGrid->GetColSize( i );
1068
1069 int colSize = std::max( fieldsWidth - fixedColsWidth, -1 );
1070 colSize = ( colSize == 0 ) ? -1 : colSize; // don't hide the column!
1071
1072 m_fieldsGrid->SetColSize( 1, colSize );
1073}
wxSize GetUnobscuredSize(const wxWindow *aWindow)
Tries to determine the size of the viewport of a scrollable widget (wxDataViewCtrl,...
Definition: gtk/ui.cpp:126

References KIPLATFORM::UI::GetUnobscuredSize(), and DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid.

Referenced by OnSizeFieldsGrid(), OnUpdateUI(), and TransferDataToWindow().

◆ AdjustPinsGridColumns()

void DIALOG_SYMBOL_PROPERTIES::AdjustPinsGridColumns ( )
private

Definition at line 1076 of file dialog_symbol_properties.cpp.

1077{
1078 wxGridUpdateLocker deferRepaintsTillLeavingScope( m_pinGrid );
1079
1080 // Account for scroll bars
1081 int pinTblWidth = KIPLATFORM::UI::GetUnobscuredSize( m_pinGrid ).x;
1082
1083 // Stretch the Base Name and Alternate Assignment columns to fit.
1084 for( int i = 0; i < COL_COUNT; ++i )
1085 {
1086 if( i != COL_BASE_NAME && i != COL_ALT_NAME )
1087 pinTblWidth -= m_pinGrid->GetColSize( i );
1088 }
1089
1090 m_pinGrid->SetColSize( COL_BASE_NAME, pinTblWidth / 2 );
1091 m_pinGrid->SetColSize( COL_ALT_NAME, pinTblWidth / 2 );
1092}

References COL_ALT_NAME, COL_BASE_NAME, COL_COUNT, KIPLATFORM::UI::GetUnobscuredSize(), and DIALOG_SYMBOL_PROPERTIES_BASE::m_pinGrid.

Referenced by OnSizePinsGrid().

◆ DECLARE_EVENT_TABLE()

DIALOG_SHIM::DECLARE_EVENT_TABLE ( )
privateinherited

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 319 of file dialog_shim.cpp.

320{
321 // so we can do logging of this state change:
322 return wxDialog::Enable( enable );
323}

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 487 of file dialog_shim.cpp.

488{
489 // Hook up validator and transfer data from controls handling so quasi-modal dialogs
490 // handle validation in the same way as other dialogs.
491 if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
492 return;
493
494 SetReturnCode( retCode );
495
496 if( !IsQuasiModal() )
497 {
498 wxFAIL_MSG( wxT( "Either DIALOG_SHIM::EndQuasiModal was called twice, or ShowQuasiModal"
499 "wasn't called" ) );
500 return;
501 }
502
503 if( m_qmodal_loop )
504 {
505 if( m_qmodal_loop->IsRunning() )
506 m_qmodal_loop->Exit( 0 );
507 else
508 m_qmodal_loop->ScheduleExit( 0 );
509
510 m_qmodal_loop = nullptr;
511 }
512
514 m_qmodal_parent_disabler = nullptr;
515
516 Show( false );
517}
bool Show(bool show) override
bool IsQuasiModal() const
Definition: dialog_shim.h:106
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:218
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:215

References DIALOG_SHIM::IsQuasiModal(), DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, and DIALOG_SHIM::Show().

Referenced by EDA_3D_CONTROLLER::Main(), NETLIST_DIALOG::OnAddGenerator(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_SYMBOLS_LIBID::onCancel(), DIALOG_LIB_SYMBOL_PROPERTIES::OnCancelButtonClick(), OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), NETLIST_DIALOG::OnDelGenerator(), OnEditLibrarySymbol(), OnEditSymbol(), OnExchangeSymbol(), PCB_ONE_LAYER_SELECTOR::OnLeftGridCellClick(), PCB_ONE_LAYER_SELECTOR::OnRightGridCellClick(), OnUpdateSymbol(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_PUSH_PAD_PROPERTIES::PadPropertiesAccept(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ finishDialogSettings()

void DIALOG_SHIM::finishDialogSettings ( )
protectedinherited

In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls.

finishDialogSettings must be called from derived classes after all widgets have been initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at the end of TransferDataToWindow, or better yet, at end of a wxInitDialogEvent handler.

Definition at line 158 of file dialog_shim.cpp.

159{
160 // must be called from the constructor of derived classes,
161 // when all widgets are initialized, and therefore their size fixed
162
163 // SetSizeHints fixes the minimal size of sizers in the dialog
164 // (SetSizeHints calls Fit(), so no need to call it)
165 GetSizer()->SetSizeHints( this );
166}

Referenced by CONVERT_SETTINGS_DIALOG::CONVERT_SETTINGS_DIALOG(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), DIALOG_BUS_MANAGER::DIALOG_BUS_MANAGER(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CLEANUP_TRACKS_AND_VIAS::DIALOG_CLEANUP_TRACKS_AND_VIAS(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_EDIT_SYMBOLS_LIBID::DIALOG_EDIT_SYMBOLS_LIBID(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FOOTPRINT_CHECKER::DIALOG_FOOTPRINT_CHECKER(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMAGE_PROPERTIES::DIALOG_IMAGE_PROPERTIES(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_LIB_NEW_SYMBOL::DIALOG_LIB_NEW_SYMBOL(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LIB_TEXTBOX_PROPERTIES::DIALOG_LIB_TEXTBOX_PROPERTIES(), DIALOG_LINE_PROPERTIES::DIALOG_LINE_PROPERTIES(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MANAGE_REPOSITORIES::DIALOG_MANAGE_REPOSITORIES(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_NETLIST_IMPORT::DIALOG_NETLIST_IMPORT(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL(), DIALOG_PCM::DIALOG_PCM(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_REGULATOR_FORM::DIALOG_REGULATOR_FORM(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SELECT_3DMODEL::DIALOG_SELECT_3DMODEL(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SIM_MODEL< T >::DIALOG_SIM_MODEL(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DIALOG_UPDATE_SYMBOL_FIELDS::DIALOG_UPDATE_SYMBOL_FIELDS(), DIALOG_WIRE_BUS_PROPERTIES::DIALOG_WIRE_BUS_PROPERTIES(), PAGED_DIALOG::finishInitialization(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), OnInitDlg(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), TEARDROP_DIALOG::TEARDROP_DIALOG(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_COLOR_PICKER::TransferDataToWindow(), and DIALOG_BOARD_STATISTICS::TransferDataToWindow().

◆ GetParent()

SCH_EDIT_FRAME * DIALOG_SYMBOL_PROPERTIES::GetParent ( void  )

Definition at line 434 of file dialog_symbol_properties.cpp.

435{
436 return dynamic_cast<SCH_EDIT_FRAME*>( wxDialog::GetParent() );
437}
Schematic editor (Eeschema) main window.

Referenced by TransferDataFromWindow(), and TransferDataToWindow().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( ) const
inlineinherited

Definition at line 46 of file kiway_holder.h.

46{ return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:85

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ HandleDelayedFocus()

void DIALOG_SYMBOL_PROPERTIES::HandleDelayedFocus ( wxCommandEvent &  event)
private

Definition at line 1109 of file dialog_symbol_properties.cpp.

1110{
1111 VECTOR2I *loc = static_cast<VECTOR2I*>( event.GetClientData() );
1112
1113 wxCHECK_RET( loc, wxT( "Missing focus cell location" ) );
1114
1115 // Handle a delayed focus
1116
1117 m_fieldsGrid->SetFocus();
1118 m_fieldsGrid->MakeCellVisible( loc->x, loc->y );
1119 m_fieldsGrid->SetGridCursor( loc->x, loc->y );
1120
1121 m_fieldsGrid->EnableCellEditControl( true );
1122 m_fieldsGrid->ShowCellEditControl();
1123
1124 delete loc;
1125}

References DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, VECTOR2< T >::x, and VECTOR2< T >::y.

Referenced by DIALOG_SYMBOL_PROPERTIES().

◆ HandleDelayedSelection()

void DIALOG_SYMBOL_PROPERTIES::HandleDelayedSelection ( wxCommandEvent &  event)
private

Definition at line 1128 of file dialog_symbol_properties.cpp.

1129{
1130 // Handle a delayed selection
1131 wxGridCellEditor* cellEditor = m_fieldsGrid->GetCellEditor( REFERENCE_FIELD, FDC_VALUE );
1132
1133 if( wxTextEntry* txt = dynamic_cast<wxTextEntry*>( cellEditor->GetControl() ) )
1135
1136 cellEditor->DecRef(); // we're done; must release
1137}
void SelectReferenceNumber(wxTextEntry *aTextEntry)
Select the number (or "?") in a reference for ease of editing.
Definition: ui_common.cpp:185

References FDC_VALUE, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, REFERENCE_FIELD, and KIUI::SelectReferenceNumber().

Referenced by DIALOG_SYMBOL_PROPERTIES().

◆ HasKiway()

bool KIWAY_HOLDER::HasKiway ( ) const
inlineinherited

Safety check before asking for the Kiway reference.

Returns
true if kiway is non-null

Definition at line 63 of file kiway_holder.h.

64 {
65 return m_kiway != nullptr;
66 }
KIWAY * m_kiway
Definition: kiway_holder.h:84

References KIWAY_HOLDER::m_kiway.

Referenced by DIALOG_SHIM::~DIALOG_SHIM().

◆ horizPixelsFromDU()

int DIALOG_SHIM::horizPixelsFromDU ( int  x) const
protectedinherited

Convert an integer number of dialog units to pixels, horizontally.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 176 of file dialog_shim.cpp.

177{
178 wxSize sz( x, 0 );
179 return ConvertDialogToPixels( sz ).x;
180}

Referenced by DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), and DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

◆ IsCtrl()

static bool DIALOG_SHIM::IsCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 128 of file dialog_shim.h.

129 {
130 return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
131 !e.ShiftDown() && !e.MetaDown();
132 }

◆ IsQuasiModal()

◆ IsShiftCtrl()

static bool DIALOG_SHIM::IsShiftCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 134 of file dialog_shim.h.

135 {
136 return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
137 e.ShiftDown() && !e.MetaDown();
138 }

◆ Kiway()

KIWAY & KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Return a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 53 of file kiway_holder.h.

54 {
55 wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
56 return *m_kiway;
57 }

References KIWAY_HOLDER::m_kiway.

Referenced by PROJECT_TREE_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::AddLibraryFile(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_EDIT_FRAME::AskToSaveChanges(), CVPCB_MAINFRAME::BuildLibrariesListBox(), FOOTPRINT_EDIT_FRAME::buildSaveAsDialog(), SYMBOL_EDIT_FRAME::buildSaveAsDialog(), SYMBOL_EDIT_FRAME::CanCloseSymbolFromSchematic(), SCH_EDIT_FRAME::canCloseWindow(), PCB_EDIT_FRAME::canCloseWindow(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_SYMBOL::ConstructRightPanel(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), FIELDS_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::FetchNetlistFromSchematic(), KICAD_MANAGER_FRAME::ImportNonKiCadProject(), SCRIPTING_TOOL::Init(), EDA_DRAW_FRAME::IsScriptingConsoleVisible(), KIWAY_PLAYER::language_change(), KICAD_MANAGER_FRAME::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), FOOTPRINT_EDIT_FRAME::LoadFootprintFromBoard(), PGM_SINGLE_TOP::MacOpenFile(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), PL_EDITOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), SYMBOL_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), PCB_EDIT_FRAME::OnNetlistChanged(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), SIM_PLOT_FRAME::onProbe(), PCB_EDIT_FRAME::OnQuit(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_FIELD_PROPERTIES::OnTextValueSelectButtonClick(), SIM_PLOT_FRAME::onTune(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadFootprintFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), KIWAY_HOLDER::Prj(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), FOOTPRINT_WIZARD_FRAME::PythonPluginsReload(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SCH_EDITOR_CONTROL::rescueProject(), PCB_EDIT_FRAME::RunEeschema(), EE_INSPECTION_TOOL::RunSimulation(), SYMBOL_EDIT_FRAME::Save(), SYMBOL_EDIT_FRAME::saveCurrentSymbol(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), EDA_DRAW_FRAME::ScriptingConsoleEnableDisable(), PCB_BASE_FRAME::SelectFootprintFromLibBrowser(), PCB_BASE_FRAME::SelectLibrary(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SendSelectItems(), SCH_EDIT_FRAME::SetCrossProbeConnection(), SYMBOL_EDIT_FRAME::SetCurSymbol(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), PCB_EDIT_FRAME::TestStandalone(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ OnAddField()

void DIALOG_SYMBOL_PROPERTIES::OnAddField ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 863 of file dialog_symbol_properties.cpp.

864{
866 return;
867
869 int fieldID = m_fields->size();
870 SCH_FIELD newField( wxPoint( 0, 0 ), fieldID, m_symbol,
872
873 newField.SetTextAngle( m_fields->at( REFERENCE_FIELD ).GetTextAngle() );
874 newField.SetTextSize( wxSize( settings.m_DefaultTextSize, settings.m_DefaultTextSize ) );
875
876 m_fields->push_back( newField );
877
878 // notify the grid
879 wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, 1 );
880 m_fieldsGrid->ProcessTableMessage( msg );
881
882 m_fieldsGrid->MakeCellVisible( (int) m_fields->size() - 1, 0 );
883 m_fieldsGrid->SetGridCursor( (int) m_fields->size() - 1, 0 );
884
885 m_fieldsGrid->EnableCellEditControl();
886 m_fieldsGrid->ShowCellEditControl();
887
888 OnModify();
889}
void OnModify()
These settings were stored in SCH_BASE_FRAME previously.
SCHEMATIC_SETTINGS & Settings() const
Definition: schematic.cpp:172
Instances are attached to a symbol or sheet and provide a place for the symbol's value,...
Definition: sch_field.h:50
SCHEMATIC * Schematic() const
Searches the item hierarchy to find a SCHEMATIC.
Definition: sch_item.cpp:112
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:226
static const wxString GetDefaultFieldName(int aFieldNdx, bool aTranslateForHI=false)
Return a default symbol field name for field aFieldNdx for all components.
#define DO_TRANSLATE

References WX_GRID::CommitPendingChanges(), DO_TRANSLATE, TEMPLATE_FIELDNAME::GetDefaultFieldName(), SCHEMATIC_SETTINGS::m_DefaultTextSize, m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, m_symbol, DIALOG_SHIM::OnModify(), REFERENCE_FIELD, SCH_ITEM::Schematic(), EDA_TEXT::SetTextAngle(), EDA_TEXT::SetTextSize(), and SCHEMATIC::Settings().

◆ OnButton()

void DIALOG_SHIM::OnButton ( wxCommandEvent &  aEvent)
privateinherited

Properly handle the default button events when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM.

Definition at line 533 of file dialog_shim.cpp.

534{
535 const int id = aEvent.GetId();
536
537 // If we are pressing a button to exit, we need to enable the escapeID
538 // otherwise the dialog does not process cancel
539 if( id == wxID_CANCEL )
540 SetEscapeId( wxID_ANY );
541
542 if( IsQuasiModal() )
543 {
544 if( id == GetAffirmativeId() )
545 {
546 EndQuasiModal( id );
547 }
548 else if( id == wxID_APPLY )
549 {
550 // Dialogs that provide Apply buttons should make sure data is valid before
551 // allowing a transfer, as there is no other way to indicate failure
552 // (i.e. the dialog can't refuse to close as it might with OK, because it
553 // isn't closing anyway)
554 if( Validate() )
555 {
556 ignore_unused( TransferDataFromWindow() );
557 }
558 }
559 else if( id == GetEscapeId() || (id == wxID_CANCEL && GetEscapeId() == wxID_ANY) )
560 {
561 EndQuasiModal( wxID_CANCEL );
562 }
563 else // not a standard button
564 {
565 aEvent.Skip();
566 }
567
568 return;
569 }
570
571 // This is mandatory to allow wxDialogBase::OnButton() to be called.
572 aEvent.Skip();
573}
void EndQuasiModal(int retCode)
void ignore_unused(const T &)
Definition: ignore.h:24

References DIALOG_SHIM::EndQuasiModal(), ignore_unused(), and DIALOG_SHIM::IsQuasiModal().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ OnCancelButtonClick()

void DIALOG_SYMBOL_PROPERTIES::OnCancelButtonClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 571 of file dialog_symbol_properties.cpp.

572{
573 // Running the Footprint Browser gums up the works and causes the automatic cancel
574 // stuff to no longer work. So we do it here ourselves.
575 EndQuasiModal( wxID_CANCEL );
576}

References DIALOG_SHIM::EndQuasiModal().

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in HK_PROMPT_DIALOG, DIALOG_CHOOSE_SYMBOL, and HTML_MESSAGE_BOX.

Definition at line 576 of file dialog_shim.cpp.

577{
578 if( aEvt.GetKeyCode() == 'U' && aEvt.GetModifiers() == wxMOD_CONTROL )
579 {
580 if( m_parentFrame )
581 {
583 return;
584 }
585 }
586 // shift-return (Mac default) or Ctrl-Return (GTK) for OK
587 else if( aEvt.GetKeyCode() == WXK_RETURN && ( aEvt.ShiftDown() || aEvt.ControlDown() ) )
588 {
589 wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
590 return;
591 }
592 else if( aEvt.GetKeyCode() == WXK_TAB && !aEvt.ControlDown() )
593 {
594 wxWindow* currentWindow = wxWindow::FindFocus();
595 int currentIdx = -1;
596 int delta = aEvt.ShiftDown() ? -1 : 1;
597
598 auto advance =
599 [&]( int& idx )
600 {
601 // Wrap-around modulus
602 int size = m_tabOrder.size();
603 idx = ( ( idx + delta ) % size + size ) % size;
604 };
605
606 for( size_t i = 0; i < m_tabOrder.size(); ++i )
607 {
608 if( m_tabOrder[i] == currentWindow )
609 {
610 currentIdx = (int) i;
611 break;
612 }
613 }
614
615 if( currentIdx >= 0 )
616 {
617 advance( currentIdx );
618
619 //todo: We don't currently have non-textentry dialog boxes but this will break if
620 // we add them.
621#ifdef __APPLE__
622 while( dynamic_cast<wxTextEntry*>( m_tabOrder[ currentIdx ] ) == nullptr )
623 advance( currentIdx );
624#endif
625
626 m_tabOrder[ currentIdx ]->SetFocus();
627 return;
628 }
629 }
630
631 aEvt.Skip();
632}
std::vector< wxWindow * > m_tabOrder
Definition: dialog_shim.h:222
EDA_BASE_FRAME * m_parentFrame
Definition: dialog_shim.h:220
virtual void ToggleUserUnits()
constexpr int delta

References delta, DIALOG_SHIM::m_parentFrame, DIALOG_SHIM::m_tabOrder, and EDA_BASE_FRAME::ToggleUserUnits().

Referenced by DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), and DIALOG_TEXTBOX_PROPERTIES::~DIALOG_TEXTBOX_PROPERTIES().

◆ OnCheckBox()

void DIALOG_SYMBOL_PROPERTIES::OnCheckBox ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 1185 of file dialog_symbol_properties.cpp.

1186{
1187 OnModify();
1188}

References DIALOG_SHIM::OnModify().

◆ OnChoice()

virtual void DIALOG_SYMBOL_PROPERTIES_BASE::OnChoice ( wxCommandEvent &  event)
inlineprotectedvirtualinherited

◆ OnCloseWindow()

void DIALOG_SHIM::OnCloseWindow ( wxCloseEvent &  aEvent)
privateinherited

Properly handle the wxCloseEvent when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM.

Definition at line 520 of file dialog_shim.cpp.

521{
522 if( IsQuasiModal() )
523 {
524 EndQuasiModal( wxID_CANCEL );
525 return;
526 }
527
528 // This is mandatory to allow wxDialogBase::OnCloseWindow() to be called.
529 aEvent.Skip();
530}

References DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::IsQuasiModal().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ OnDeleteField()

void DIALOG_SYMBOL_PROPERTIES::OnDeleteField ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 892 of file dialog_symbol_properties.cpp.

893{
894 wxArrayInt selectedRows = m_fieldsGrid->GetSelectedRows();
895
896 if( selectedRows.empty() && m_fieldsGrid->GetGridCursorRow() >= 0 )
897 selectedRows.push_back( m_fieldsGrid->GetGridCursorRow() );
898
899 if( selectedRows.empty() )
900 return;
901
902 for( int row : selectedRows )
903 {
904 if( row < MANDATORY_FIELDS )
905 {
906 DisplayError( this, wxString::Format( _( "The first %d fields are mandatory." ),
908 return;
909 }
910 }
911
912 m_fieldsGrid->CommitPendingChanges( true /* quiet mode */ );
913
914 // Reverse sort so deleting a row doesn't change the indexes of the other rows.
915 selectedRows.Sort( []( int* first, int* second ) { return *second - *first; } );
916
917 for( int row : selectedRows )
918 {
919 m_fields->erase( m_fields->begin() + row );
920
921 // notify the grid
922 wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_DELETED, row, 1 );
923 m_fieldsGrid->ProcessTableMessage( msg );
924
925 if( m_fieldsGrid->GetNumberRows() > 0 )
926 {
927 m_fieldsGrid->MakeCellVisible( std::max( 0, row-1 ), m_fieldsGrid->GetGridCursorCol() );
928 m_fieldsGrid->SetGridCursor( std::max( 0, row-1 ), m_fieldsGrid->GetGridCursorCol() );
929 }
930 }
931
932 OnModify();
933}
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:280
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:200
@ MANDATORY_FIELDS
The first 4 are mandatory, and must be instantiated in SCH_COMPONENT and LIB_PART constructors.

References _, WX_GRID::CommitPendingChanges(), DisplayError(), Format(), m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, MANDATORY_FIELDS, and DIALOG_SHIM::OnModify().

◆ OnEditLibrarySymbol()

void DIALOG_SYMBOL_PROPERTIES::OnEditLibrarySymbol ( wxCommandEvent &  )
overrideprivatevirtual

◆ OnEditSpiceModel()

void DIALOG_SYMBOL_PROPERTIES::OnEditSpiceModel ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 542 of file dialog_symbol_properties.cpp.

543{
544#ifdef KICAD_SPICE
545 int diff = m_fields->size();
546
547 DIALOG_SIM_MODEL dialog( this, *m_symbol, *m_fields );
548
549 if( dialog.ShowModal() != wxID_OK )
550 return;
551
552 diff = (int) m_fields->size() - diff;
553
554 if( diff > 0 )
555 {
556 wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, diff );
557 m_fieldsGrid->ProcessTableMessage( msg );
558 }
559 else if( diff < 0 )
560 {
561 wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_DELETED, 0, -diff );
562 m_fieldsGrid->ProcessTableMessage( msg );
563 }
564
565 OnModify();
566 m_fieldsGrid->ForceRefresh();
567#endif /* KICAD_SPICE */
568}

References m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, m_symbol, and DIALOG_SHIM::OnModify().

◆ OnEditSymbol()

void DIALOG_SYMBOL_PROPERTIES::OnEditSymbol ( wxCommandEvent &  )
overrideprivatevirtual

◆ OnExchangeSymbol()

void DIALOG_SYMBOL_PROPERTIES::OnExchangeSymbol ( wxCommandEvent &  )
overrideprivatevirtual

◆ OnGridCellChanging()

void DIALOG_SYMBOL_PROPERTIES::OnGridCellChanging ( wxGridEvent &  event)
private

Definition at line 811 of file dialog_symbol_properties.cpp.

812{
813 wxGridCellEditor* editor = m_fieldsGrid->GetCellEditor( event.GetRow(), event.GetCol() );
814 wxControl* control = editor->GetControl();
815
816 if( control && control->GetValidator() && !control->GetValidator()->Validate( control ) )
817 {
818 event.Veto();
819 wxCommandEvent *evt = new wxCommandEvent( SYMBOL_DELAY_FOCUS );
820 evt->SetClientData( new VECTOR2I( event.GetRow(), event.GetCol() ) );
821 QueueEvent( evt );
822 }
823 else if( event.GetCol() == FDC_NAME )
824 {
825 wxString newName = event.GetString();
826
827 for( int i = 0; i < m_fieldsGrid->GetNumberRows(); ++i )
828 {
829 if( i == event.GetRow() )
830 continue;
831
832 if( newName.CmpNoCase( m_fieldsGrid->GetCellValue( i, FDC_NAME ) ) == 0 )
833 {
834 DisplayError( this, wxString::Format( _( "Field name '%s' already in use." ),
835 newName ) );
836 event.Veto();
837 wxCommandEvent *evt = new wxCommandEvent( SYMBOL_DELAY_FOCUS );
838 evt->SetClientData( new VECTOR2I( event.GetRow(), event.GetCol() ) );
839 QueueEvent( evt );
840 }
841 }
842 }
843
844 editor->DecRef();
845}
@ FDC_NAME

References _, DisplayError(), editor, FDC_NAME, Format(), and DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid.

Referenced by DIALOG_SYMBOL_PROPERTIES(), and ~DIALOG_SYMBOL_PROPERTIES().

◆ OnGridEditorHidden()

void DIALOG_SYMBOL_PROPERTIES::OnGridEditorHidden ( wxGridEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 857 of file dialog_symbol_properties.cpp.

858{
859 m_editorShown = false;
860}

References m_editorShown.

◆ OnGridEditorShown()

void DIALOG_SYMBOL_PROPERTIES::OnGridEditorShown ( wxGridEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 848 of file dialog_symbol_properties.cpp.

849{
850 if( aEvent.GetRow() == REFERENCE_FIELD && aEvent.GetCol() == FDC_VALUE )
851 QueueEvent( new wxCommandEvent( SYMBOL_DELAY_SELECTION ) );
852
853 m_editorShown = true;
854}

References FDC_VALUE, m_editorShown, and REFERENCE_FIELD.

◆ OnInitDlg()

void DIALOG_SYMBOL_PROPERTIES::OnInitDlg ( wxInitDialogEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 1176 of file dialog_symbol_properties.cpp.

1177{
1179
1180 // Now all widgets have the size fixed, call FinishDialogSettings
1182}

References DIALOG_SHIM::finishDialogSettings(), and TransferDataToWindow().

◆ OnModify()

◆ OnMoveDown()

void DIALOG_SYMBOL_PROPERTIES::OnMoveDown ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 963 of file dialog_symbol_properties.cpp.

964{
966 return;
967
968 int i = m_fieldsGrid->GetGridCursorRow();
969
970 if( i >= MANDATORY_FIELDS && i < m_fieldsGrid->GetNumberRows() - 1 )
971 {
972 SCH_FIELD tmp = m_fields->at( (unsigned) i );
973 m_fields->erase( m_fields->begin() + i, m_fields->begin() + i + 1 );
974 m_fields->insert( m_fields->begin() + i + 1, tmp );
975 m_fieldsGrid->ForceRefresh();
976
977 m_fieldsGrid->SetGridCursor( i + 1, m_fieldsGrid->GetGridCursorCol() );
978 m_fieldsGrid->MakeCellVisible( m_fieldsGrid->GetGridCursorRow(),
979 m_fieldsGrid->GetGridCursorCol() );
980
981 OnModify();
982 }
983 else
984 {
985 wxBell();
986 }
987}

References WX_GRID::CommitPendingChanges(), m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, MANDATORY_FIELDS, and DIALOG_SHIM::OnModify().

◆ OnMoveUp()

void DIALOG_SYMBOL_PROPERTIES::OnMoveUp ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 936 of file dialog_symbol_properties.cpp.

937{
939 return;
940
941 int i = m_fieldsGrid->GetGridCursorRow();
942
943 if( i > MANDATORY_FIELDS )
944 {
945 SCH_FIELD tmp = m_fields->at( (unsigned) i );
946 m_fields->erase( m_fields->begin() + i, m_fields->begin() + i + 1 );
947 m_fields->insert( m_fields->begin() + i - 1, tmp );
948 m_fieldsGrid->ForceRefresh();
949
950 m_fieldsGrid->SetGridCursor( i - 1, m_fieldsGrid->GetGridCursorCol() );
951 m_fieldsGrid->MakeCellVisible( m_fieldsGrid->GetGridCursorRow(),
952 m_fieldsGrid->GetGridCursorCol() );
953
954 OnModify();
955 }
956 else
957 {
958 wxBell();
959 }
960}

References WX_GRID::CommitPendingChanges(), m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, MANDATORY_FIELDS, and DIALOG_SHIM::OnModify().

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 387 of file dialog_shim.cpp.

388{
390 {
392
393 selectAllInTextCtrls( GetChildren() );
394
397 else
398 KIPLATFORM::UI::ForceFocus( this ); // Focus the dialog itself
399
400 m_firstPaintEvent = false;
401 }
402
403 event.Skip();
404}
bool m_firstPaintEvent
Definition: dialog_shim.h:212
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:213
static void selectAllInTextCtrls(wxWindowList &children)
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:71
void ForceFocus(wxWindow *aWindow)
Pass the current focus to the window.
Definition: gtk/ui.cpp:44

References KIPLATFORM::UI::FixupCancelButtonCmdKeyCollision(), KIPLATFORM::UI::ForceFocus(), DIALOG_SHIM::m_firstPaintEvent, DIALOG_SHIM::m_initialFocusTarget, and selectAllInTextCtrls().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ OnPinTableCellEdited()

void DIALOG_SYMBOL_PROPERTIES::OnPinTableCellEdited ( wxGridEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 1018 of file dialog_symbol_properties.cpp.

1019{
1020 int row = aEvent.GetRow();
1021
1022 if( m_pinGrid->GetCellValue( row, COL_ALT_NAME )
1023 == m_dataModel->GetValue( row, COL_BASE_NAME ) )
1024 {
1025 m_dataModel->SetValue( row, COL_ALT_NAME, wxEmptyString );
1026 }
1027
1028 // These are just to get the cells refreshed
1031
1032 OnModify();
1033}
wxString GetValue(int aRow, int aCol) override
void SetValue(int aRow, int aCol, const wxString &aValue) override

References COL_ALT_NAME, COL_BASE_NAME, COL_SHAPE, COL_TYPE, SCH_PIN_TABLE_DATA_MODEL::GetValue(), m_dataModel, DIALOG_SYMBOL_PROPERTIES_BASE::m_pinGrid, DIALOG_SHIM::OnModify(), and SCH_PIN_TABLE_DATA_MODEL::SetValue().

◆ OnPinTableColSort()

void DIALOG_SYMBOL_PROPERTIES::OnPinTableColSort ( wxGridEvent &  aEvent)
private

Definition at line 1036 of file dialog_symbol_properties.cpp.

1037{
1038 int sortCol = aEvent.GetCol();
1039 bool ascending;
1040
1041 // This is bonkers, but wxWidgets doesn't tell us ascending/descending in the
1042 // event, and if we ask it will give us pre-event info.
1043 if( m_pinGrid->IsSortingBy( sortCol ) )
1044 // same column; invert ascending
1045 ascending = !m_pinGrid->IsSortOrderAscending();
1046 else
1047 // different column; start with ascending
1048 ascending = true;
1049
1050 m_dataModel->SortRows( sortCol, ascending );
1052}

References SCH_PIN_TABLE_DATA_MODEL::BuildAttrs(), m_dataModel, DIALOG_SYMBOL_PROPERTIES_BASE::m_pinGrid, and SCH_PIN_TABLE_DATA_MODEL::SortRows().

Referenced by DIALOG_SYMBOL_PROPERTIES(), and ~DIALOG_SYMBOL_PROPERTIES().

◆ OnSizeFieldsGrid()

void DIALOG_SYMBOL_PROPERTIES::OnSizeFieldsGrid ( wxSizeEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 1139 of file dialog_symbol_properties.cpp.

1140{
1141 wxSize new_size = event.GetSize();
1142
1143 if( ( !m_editorShown || m_lastRequestedSize != new_size ) && m_fieldsSize != new_size )
1144 {
1145 m_fieldsSize = new_size;
1146
1148 }
1149
1150 // We store this value to check whether the dialog is changing size. This might indicate
1151 // that the user is scaling the dialog with an editor shown. Some editors do not close
1152 // (at least on GTK) when the user drags a dialog corner
1153 m_lastRequestedSize = new_size;
1154
1155 // Always propagate for a grid repaint (needed if the height changes, as well as width)
1156 event.Skip();
1157}

References AdjustFieldsGridColumns(), m_editorShown, m_fieldsSize, and m_lastRequestedSize.

◆ OnSizePinsGrid()

void DIALOG_SYMBOL_PROPERTIES::OnSizePinsGrid ( wxSizeEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 1160 of file dialog_symbol_properties.cpp.

1161{
1162 wxSize new_size = event.GetSize();
1163
1164 if( m_pinsSize != new_size )
1165 {
1166 m_pinsSize = new_size;
1167
1169 }
1170
1171 // Always propagate for a grid repaint (needed if the height changes, as well as width)
1172 event.Skip();
1173}

References AdjustPinsGridColumns(), and m_pinsSize.

◆ OnUnitChoice()

void DIALOG_SYMBOL_PROPERTIES::OnUnitChoice ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 1191 of file dialog_symbol_properties.cpp.

1192{
1193 if( m_dataModel )
1194 {
1195 int unit_selection = m_unitChoice->GetSelection() + 1;
1196
1197 // We need to select a new unit to build the new unit pin list
1198 // but we should not change the symbol, so the initial unit will be selected
1199 // after rebuilding the pin list
1200 int old_unit = m_symbol->GetUnit();
1201 m_symbol->SetUnit( unit_selection );
1202
1203 // Rebuild a copy of the pins of the new unit for editing
1204 m_dataModel->clear();
1205
1206 for( const std::unique_ptr<SCH_PIN>& pin : m_symbol->GetRawPins() )
1207 m_dataModel->push_back( *pin );
1208
1211
1212 m_symbol->SetUnit(old_unit );
1213 }
1214
1215 OnModify();
1216}
int GetUnit() const
Definition: sch_symbol.h:205
void SetUnit(int aUnit)
Change the unit number to aUnit.
Definition: sch_symbol.cpp:371

References SCH_PIN_TABLE_DATA_MODEL::BuildAttrs(), COL_NUMBER, SCH_SYMBOL::GetRawPins(), SCH_SYMBOL::GetUnit(), m_dataModel, m_symbol, DIALOG_SYMBOL_PROPERTIES_BASE::m_unitChoice, DIALOG_SHIM::OnModify(), pin, SCH_SYMBOL::SetUnit(), and SCH_PIN_TABLE_DATA_MODEL::SortRows().

◆ OnUpdateSymbol()

void DIALOG_SYMBOL_PROPERTIES::OnUpdateSymbol ( wxCommandEvent &  )
overrideprivatevirtual

◆ OnUpdateUI()

void DIALOG_SYMBOL_PROPERTIES::OnUpdateUI ( wxUpdateUIEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_SYMBOL_PROPERTIES_BASE.

Definition at line 1095 of file dialog_symbol_properties.cpp.

1096{
1097 wxString shownColumns = m_fieldsGrid->GetShownColumns();
1098
1099 if( shownColumns != m_shownColumns )
1100 {
1101 m_shownColumns = shownColumns;
1102
1103 if( !m_fieldsGrid->IsCellEditControlShown() )
1105 }
1106}

References AdjustFieldsGridColumns(), WX_GRID::GetShownColumns(), DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, and m_shownColumns.

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Return a reference to the PROJECT associated with this KIWAY.

Definition at line 36 of file kiway_holder.cpp.

37{
38 return Kiway().Prj();
39}
KIWAY & Kiway() const
Return a reference to the KIWAY that this object has an opportunity to participate in.
Definition: kiway_holder.h:53
virtual PROJECT & Prj() const
Return the PROJECT associated with this KIWAY.
Definition: kiway.cpp:192

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by SYMBOL_TREE_MODEL_ADAPTER::AddLibraries(), FP_TREE_MODEL_ADAPTER::AddLibraries(), SYMBOL_LIBRARY_MANAGER::addLibrary(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::addLibTableEntry(), SCH_EDIT_FRAME::AppendSchematic(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLibrariesListBox(), FOOTPRINT_EDIT_FRAME::buildSaveAsDialog(), SYMBOL_EDIT_FRAME::buildSaveAsDialog(), SIM_PLOT_FRAME::canCloseWindow(), PANEL_FP_PROPERTIES_3D_MODEL::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), PCB_BASE_EDIT_FRAME::createNewLibrary(), PCB_BASE_EDIT_FRAME::CreateNewProjectLibrary(), DIALOG_PLOT_SCHEMATIC::createPDFFile(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_FRAME::CreateScreens(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_NETLIST_IMPORT::DIALOG_NETLIST_IMPORT(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), SYMBOL_VIEWER_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), SCH_EDIT_FRAME::doAutoSave(), PCB_EDIT_FRAME::doAutoSave(), SCH_EDIT_FRAME::doCloseWindow(), FOOTPRINT_EDIT_FRAME::doCloseWindow(), PCB_BASE_EDIT_FRAME::doCloseWindow(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), FIELDS_GRID_TRICKS::doPopupSelection(), FOOTPRINT_EDIT_FRAME::DuplicateFootprint(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), BOARD_EDITOR_CONTROL::ExportNetlist(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), SYMBOL_EDITOR_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), SYMBOL_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), SIM_PLOT_FRAME::getDefaultFilename(), SIM_PLOT_FRAME::getDefaultPath(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), PCB_EDIT_FRAME::GetLastPath(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), SCH_BASE_FRAME::GetLibSymbol(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), KICAD_MANAGER_FRAME::GetProjectFileName(), SCH_EDIT_FRAME::GetSchematicJunctionSize(), SYMBOL_VIEWER_FRAME::GetSelectedSymbol(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), DIALOG_CONFIG_EQUFILES::Init(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), SCH_EDIT_FRAME::KiwayMailIn(), SYMBOL_EDIT_FRAME::KiwayMailIn(), FOOTPRINT_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), PCB_BASE_FRAME::loadFootprint(), CVPCB_MAINFRAME::LoadFootprintFiles(), PCB_EDIT_FRAME::LoadFootprints(), SCH_EDIT_FRAME::LoadProject(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), SIM_PLOT_FRAME::LoadSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromCurrentLib(), EDA_BASE_FRAME::LoadWindowState(), SIM_PLOT_FRAME::loadWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbookAs(), PANEL_FP_PROPERTIES_3D_MODEL::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), PCB_EDIT_FRAME::onBoardLoaded(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), DIALOG_NETLIST_IMPORT::onBrowseNetlistFiles(), WX_HTML_REPORT_PANEL::onBtnSaveToFile(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), DIALOG_SYMBOL_FIELDS_TABLE::OnExport(), DIALOG_EXPORT_STEP::onExportButton(), DIALOG_GENDRILL::OnGenReportFile(), KICAD_MANAGER_FRAME::OnIdle(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), DIALOG_CONFIG_EQUFILES::OnOkClick(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_SCHEMATIC_SETUP::OnPageChanged(), DIALOG_BOARD_SETUP::OnPageChanged(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), DIALOG_SCH_FIELD_PROPERTIES::onScintillaCharAdded(), DIALOG_TEXT_PROPERTIES::onScintillaCharAdded(), PROPERTIES_FRAME::onScintillaCharAdded(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_CONTROL::PasteFootprint(), SCH_BASE_FRAME::PickSymbolFromLibTree(), SYMBOL_EDITOR_CONTROL::PinLibrary(), FOOTPRINT_EDITOR_CONTROL::PinLibrary(), DIALOG_PLOT_SCHEMATIC::plotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetHpgl(), DIALOG_CHOOSE_SYMBOL::PopulateFootprintSelector(), SCH_EDITOR_CONTROL::Print(), EDA_DRAW_FRAME::PrintDrawingSheet(), SCH_EDIT_FRAME::PrintPage(), KICAD_MANAGER_FRAME::PrintPrjInfo(), CVPCB_MAINFRAME::readNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SYMBOL_VIEWER_FRAME::ReCreateSymbolList(), PANEL_FP_PROPERTIES_3D_MODEL::ReloadModelsFromFootprint(), EDA_3D_VIEWER_FRAME::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), FOOTPRINT_EDITOR_CONTROL::RenameFootprint(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), PCB_EDIT_FRAME::RunEeschema(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), SYMBOL_EDIT_FRAME::saveLibrary(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SCH_EDIT_FRAME::saveSchematicFile(), EDA_BASE_FRAME::SaveSettings(), SIM_PLOT_FRAME::SaveSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), SIM_PLOT_FRAME::saveWorkbook(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_BASE_FRAME::SelectLibrary(), SYMBOL_EDIT_FRAME::SelectLibraryFromList(), PCB_BASE_EDIT_FRAME::selectLibTable(), SYMBOL_EDIT_FRAME::selectSymLibTable(), PCB_EDIT_FRAME::SetBoard(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), SYMBOL_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), SYMBOL_EDIT_FRAME::SetCurSymbol(), PCB_EDIT_FRAME::SetLastPath(), GERBVIEW_FRAME::SetPageSettings(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_SYMBOL::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SYMBOL_VIEWER_FRAME::ShowModal(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SYMBOL_LIBRARY_MANAGER::symTable(), FP_TREE_SYNCHRONIZING_ADAPTER::Sync(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER_FRAME::takeScreenshot(), PCB_EDIT_FRAME::TestStandalone(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), SYMBOL_EDITOR_CONTROL::UnpinLibrary(), FOOTPRINT_EDITOR_CONTROL::UnpinLibrary(), SCH_EDIT_FRAME::updateAutoSaveFile(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), SCH_EDIT_FRAME::UpdateTitle(), SIM_PLOT_FRAME::updateTitle(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), EDA_3D_VIEWER_FRAME::~EDA_3D_VIEWER_FRAME(), PANEL_FP_PROPERTIES_3D_MODEL::~PANEL_FP_PROPERTIES_3D_MODEL(), and SCH_EDIT_FRAME::~SCH_EDIT_FRAME().

◆ resetSize()

void DIALOG_SHIM::resetSize ( )
protectedinherited

Clear the existing dialog size and position.

This will cause the dialog size to be clear so the next time the dialog is shown the sizers will layout the dialog accordingly. This useful when there are dialog windows that size changes due to layout dependency hidden controls.

Definition at line 294 of file dialog_shim.cpp.

295{
296 const char* hash_key;
297
298 if( m_hash_key.size() )
299 {
300 // a special case like EDA_LIST_DIALOG, which has multiple uses.
301 hash_key = m_hash_key.c_str();
302 }
303 else
304 {
305 hash_key = typeid(*this).name();
306 }
307
308 std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
309
310 if( it == class_map.end() )
311 return;
312
313 wxRect rect = it->second;
314 rect.SetSize( wxSize( 0, 0 ) );
315 class_map[ hash_key ] = rect;
316}
std::string m_hash_key
Definition: dialog_shim.h:203
static std::unordered_map< std::string, wxRect > class_map

References class_map, and DIALOG_SHIM::m_hash_key.

Referenced by DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES().

◆ SetInitialFocus()

void DIALOG_SHIM::SetInitialFocus ( wxWindow *  aWindow)
inlineinherited

Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.

Definition at line 97 of file dialog_shim.h.

98 {
99 m_initialFocusTarget = aWindow;
100 }

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by FOOTPRINT_EDIT_FRAME::buildSaveAsDialog(), SYMBOL_EDIT_FRAME::buildSaveAsDialog(), DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_FIND::DIALOG_FIND(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GET_FOOTPRINT_BY_NAME::DIALOG_GET_FOOTPRINT_BY_NAME(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LIB_TEXTBOX_PROPERTIES::DIALOG_LIB_TEXTBOX_PROPERTIES(), DIALOG_LINE_PROPERTIES::DIALOG_LINE_PROPERTIES(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_SCH_FIND::DIALOG_SCH_FIND(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_WIRE_BUS_PROPERTIES::DIALOG_WIRE_BUS_PROPERTIES(), EDA_VIEW_SWITCHER::EDA_VIEW_SWITCHER(), HK_PROMPT_DIALOG::HK_PROMPT_DIALOG(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchAllClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchIDClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchRefClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchSelectedClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchValueClicked(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), DIALOG_COPPER_ZONE::TransferDataToWindow(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_RULE_AREA_PROPERTIES::TransferDataToWindow(), and WX_TEXT_ENTRY_DIALOG::WX_TEXT_ENTRY_DIALOG().

◆ SetKiway()

void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

It is only used for debugging, since "this" is not a wxWindow*.

"this" is a KIWAY_HOLDER mix-in.

Parameters
aDestis the recipient of aKiway pointer.
aKiwayis often from a parent window or from KIFACE::CreateWindow().

Definition at line 43 of file kiway_holder.cpp.

44{
45#if defined(DEBUG)
46 // offer a trap point for debugging most any window
47 wxASSERT( aDest );
48 if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
49 {
50 int breakhere=1;
51 ignore_unused( breakhere );
52 }
53#endif
54
55 ignore_unused( aDest );
56
57 m_kiway = aKiway;
58}
const char * name
Definition: DXF_plotter.cpp:56

References ignore_unused(), KIWAY_HOLDER::m_kiway, and name.

Referenced by BM2CMP_FRAME::BM2CMP_FRAME(), PCB::IFACE::CreateWindow(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

◆ SetPosition()

void DIALOG_SHIM::SetPosition ( const wxPoint &  aNewPosition)
inherited

Force the position of the dialog to a new position.

Parameters
aNewPositionis the new forced position

Definition at line 197 of file dialog_shim.cpp.

198{
199 wxDialog::SetPosition( aNewPosition );
200
201 // Now update the stored position:
202 const char* hash_key;
203
204 if( m_hash_key.size() )
205 {
206 // a special case like EDA_LIST_DIALOG, which has multiple uses.
207 hash_key = m_hash_key.c_str();
208 }
209 else
210 {
211 hash_key = typeid(*this).name();
212 }
213
214 std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
215
216 if( it == class_map.end() )
217 return;
218
219 wxRect rect = it->second;
220 rect.SetPosition( aNewPosition );
221
222 class_map[ hash_key ] = rect;
223}
void SetPosition(const wxString &aStr, const wxString &aDefaultMeasurementUnit, int *aX, int *aY, const wxString &aActualConversion)

References class_map, DIALOG_SHIM::m_hash_key, and PCAD2KICAD::SetPosition().

Referenced by PCB_BASE_FRAME::SelectOneLayer().

◆ setSizeInDU()

void DIALOG_SHIM::setSizeInDU ( int  x,
int  y 
)
protectedinherited

Set the dialog to the given dimensions in "dialog units".

These are units equivalent to 4* the average character width and 8* the average character height, allowing a dialog to be sized in a way that scales it with the system font.

Definition at line 169 of file dialog_shim.cpp.

170{
171 wxSize sz( x, y );
172 SetSize( ConvertDialogToPixels( sz ) );
173}

Referenced by DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

◆ SetupStandardButtons()

void DIALOG_SHIM::SetupStandardButtons ( std::map< int, wxString >  aLabels = {})
inherited

Definition at line 709 of file dialog_shim.cpp.

710{
711 recursiveDescent( GetSizer(), aLabels );
712}
static void recursiveDescent(wxSizer *aSizer, std::map< int, wxString > &aLabels)

References recursiveDescent().

Referenced by CONVERT_SETTINGS_DIALOG::CONVERT_SETTINGS_DIALOG(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOM::DIALOG_BOM(), DIALOG_BUS_MANAGER::DIALOG_BUS_MANAGER(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CLEANUP_GRAPHICS::DIALOG_CLEANUP_GRAPHICS(), DIALOG_COLOR_PICKER::DIALOG_COLOR_PICKER(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_CREATE_ARRAY::DIALOG_CREATE_ARRAY(), DIALOG_DIELECTRIC_MATERIAL::DIALOG_DIELECTRIC_MATERIAL(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FILTER_SELECTION::DIALOG_FILTER_SELECTION(), DIALOG_FOOTPRINT_CHECKER::DIALOG_FOOTPRINT_CHECKER(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_GENDRILL::DIALOG_GENDRILL(), DIALOG_GET_FOOTPRINT_BY_NAME::DIALOG_GET_FOOTPRINT_BY_NAME(), DIALOG_GLOBAL_DELETION::DIALOG_GLOBAL_DELETION(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMAGE_PROPERTIES::DIALOG_IMAGE_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_IMPORT_SETTINGS::DIALOG_IMPORT_SETTINGS(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_LIB_EDIT_PIN_TABLE::DIALOG_LIB_EDIT_PIN_TABLE(), DIALOG_LIB_NEW_SYMBOL::DIALOG_LIB_NEW_SYMBOL(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LIB_TEXTBOX_PROPERTIES::DIALOG_LIB_TEXTBOX_PROPERTIES(), DIALOG_LINE_PROPERTIES::DIALOG_LINE_PROPERTIES(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MIGRATE_SETTINGS::DIALOG_MIGRATE_SETTINGS(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_NETLIST_IMPORT::DIALOG_NETLIST_IMPORT(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PRIMITIVES_TRANSFORM::DIALOG_PAD_PRIMITIVES_TRANSFORM(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PCM::DIALOG_PCM(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_PNS_DIFF_PAIR_DIMENSIONS::DIALOG_PNS_DIFF_PAIR_DIMENSIONS(), DIALOG_PNS_LENGTH_TUNING_SETTINGS::DIALOG_PNS_LENGTH_TUNING_SETTINGS(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_REGULATOR_FORM::DIALOG_REGULATOR_FORM(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCH_IMPORT_SETTINGS::DIALOG_SCH_IMPORT_SETTINGS(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SIM_SETTINGS::DIALOG_SIM_SETTINGS(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DIALOG_UPDATE_SYMBOL_FIELDS::DIALOG_UPDATE_SYMBOL_FIELDS(), DIALOG_WIRE_BUS_PROPERTIES::DIALOG_WIRE_BUS_PROPERTIES(), EDA_LIST_DIALOG::EDA_LIST_DIALOG(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), NETLIST_DIALOG_ADD_GENERATOR::NETLIST_DIALOG_ADD_GENERATOR(), PAGED_DIALOG::PAGED_DIALOG(), DIALOG_CLEANUP_TRACKS_AND_VIAS::setupOKButtonLabel(), WX_TEXT_ENTRY_DIALOG::WX_TEXT_ENTRY_DIALOG(), and WX_UNIT_ENTRY_DIALOG::WX_UNIT_ENTRY_DIALOG().

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 226 of file dialog_shim.cpp.

227{
228 bool ret;
229 const char* hash_key;
230
231 if( m_hash_key.size() )
232 {
233 // a special case like EDA_LIST_DIALOG, which has multiple uses.
234 hash_key = m_hash_key.c_str();
235 }
236 else
237 {
238 hash_key = typeid(*this).name();
239 }
240
241 // Show or hide the window. If hiding, save current position and size.
242 // If showing, use previous position and size.
243 if( show )
244 {
245#ifndef __WINDOWS__
246 wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
247#endif
248 ret = wxDialog::Show( show );
249
250 // classname is key, returns a zeroed out default EDA_RECT if none existed before.
251 wxRect savedDialogRect = class_map[ hash_key ];
252
253 if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
254 {
256 {
257 SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
258 wxDialog::GetSize().x, wxDialog::GetSize().y, 0 );
259 }
260 else
261 {
262 SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
263 std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
264 std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
265 0 );
266 }
267 }
268 else if( m_initialSize != wxDefaultSize )
269 SetSize( m_initialSize );
270
271 // Be sure that the dialog appears in a visible area
272 // (the dialog position might have been stored at the time when it was
273 // shown on another display)
274 if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
275 Centre();
276 }
277 else
278 {
279 // Save the dialog's position & size before hiding, using classname as key
280 class_map[ hash_key ] = wxRect( wxDialog::GetPosition(), wxDialog::GetSize() );
281
282#ifdef __WXMAC__
283 if ( m_eventLoop )
284 m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
285#endif
286
287 ret = wxDialog::Show( show );
288 }
289
290 return ret;
291}
bool m_useCalculatedSize
Definition: dialog_shim.h:207
wxSize m_initialSize
Definition: dialog_shim.h:225

References class_map, DIALOG_SHIM::m_hash_key, DIALOG_SHIM::m_initialSize, and DIALOG_SHIM::m_useCalculatedSize.

Referenced by FOOTPRINT_EDITOR_CONTROL::CheckFootprint(), EE_INSPECTION_TOOL::CrossProbe(), DRC_TOOL::CrossProbe(), DIALOG_SHIM::EndQuasiModal(), GROUP_TOOL::GroupProperties(), EE_INSPECTION_TOOL::NextMarker(), DRC_TOOL::NextMarker(), SCH_EDIT_FRAME::OnAnnotate(), DIALOG_DRC::OnDRCItemDClick(), DIALOG_ERC::OnERCItemDClick(), DIALOG_CLEANUP_GRAPHICS::OnLeftDClickItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), DIALOG_FOOTPRINT_CHECKER::OnLeftDClickItem(), GROUP_TOOL::PickNewMember(), EE_INSPECTION_TOOL::PrevMarker(), DRC_TOOL::PrevMarker(), CVPCB_MAINFRAME::readNetListAndFpFiles(), DIALOG_PAD_PROPERTIES::Show(), EDA_VIEW_SWITCHER::Show(), DIALOG_FIND::Show(), DRC_TOOL::ShowDRCDialog(), EE_INSPECTION_TOOL::ShowERCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), HTML_MESSAGE_BOX::ShowModeless(), DIALOG_SHIM::ShowQuasiModal(), and DIALOG_POSITION_RELATIVE::UpdateAnchor().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 437 of file dialog_shim.cpp.

438{
439 // This is an exception safe way to zero a pointer before returning.
440 // Yes, even though DismissModal() clears this first normally, this is
441 // here in case there's an exception before the dialog is dismissed.
442 struct NULLER
443 {
444 void*& m_what;
445 NULLER( void*& aPtr ) : m_what( aPtr ) {}
446 ~NULLER() { m_what = nullptr; } // indeed, set it to NULL on destruction
447 } clear_this( (void*&) m_qmodal_loop );
448
449 // release the mouse if it's currently captured as the window having it
450 // will be disabled when this dialog is shown -- but will still keep the
451 // capture making it impossible to do anything in the modal dialog itself
452 wxWindow* win = wxWindow::GetCapture();
453 if( win )
454 win->ReleaseMouse();
455
456 // Get the optimal parent
457 wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
458
459 wxASSERT_MSG( !m_qmodal_parent_disabler, wxT( "Caller using ShowQuasiModal() twice on same "
460 "window?" ) );
461
462 // quasi-modal: disable only my "optimal" parent
464
465 // Apple in its infinite wisdom will raise a disabled window before even passing
466 // us the event, so we have no way to stop it. Instead, we must set an order on
467 // the windows so that the quasi-modal will be pushed in front of the disabled
468 // window when it is raised.
470
471 Show( true );
472
473 m_qmodal_showing = true;
474
475 WX_EVENT_LOOP event_loop;
476
477 m_qmodal_loop = &event_loop;
478
479 event_loop.Run();
480
481 m_qmodal_showing = false;
482
483 return GetReturnCode();
484}
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:46
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
void ReparentQuasiModal(wxNonOwnedWindow *aWindow)
Move a window's parent to be the top-level window and force the window to be on top.
Definition: gtk/ui.cpp:65

References DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, KIPLATFORM::UI::ReparentQuasiModal(), DIALOG_SHIM::Show(), and WX_EVENT_LOOP.

Referenced by SCH_EDIT_TOOL::ChangeSymbols(), S3D::Configure3DPaths(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_DRAWING_TOOLS::createNewText(), PCB::IFACE::CreateWindow(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), SCH_EDITOR_CONTROL::EditSymbolFields(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), InvokeCopperZonesEditor(), InvokeDialogCreateBOM(), InvokeDialogEditSymbolsLibId(), InvokeDialogRescueEach(), InvokeNonCopperZonesEditor(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_EDIT_FRAME::OnEditItemRequest(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), S3D::Select3DModel(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowExchangeFootprintsDialog(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), PCB_BASE_EDIT_FRAME::ShowTextBoxPropertiesDialog(), PCB_BASE_EDIT_FRAME::ShowTextPropertiesDialog(), and PCB_EDIT_FRAME::ToPlotter().

◆ TransferDataFromWindow()

bool DIALOG_SYMBOL_PROPERTIES::TransferDataFromWindow ( )
overrideprivate

Definition at line 619 of file dialog_symbol_properties.cpp.

620{
621 if( !wxDialog::TransferDataFromWindow() ) // Calls our Validate() method.
622 return false;
623
625 return false;
626
628 return false;
629
630 SCH_SCREEN* currentScreen = GetParent()->GetScreen();
631 wxCHECK( currentScreen, false );
632
633 // This needs to be done before the LIB_ID is changed to prevent stale library symbols in
634 // the schematic file.
635 currentScreen->Remove( m_symbol );
636
637 // save old cmp in undo list if not already in edit, or moving ...
638 if( m_symbol->GetEditFlags() == 0 )
639 GetParent()->SaveCopyInUndoList( currentScreen, m_symbol, UNDO_REDO::CHANGED, false );
640
641 // Save current flags which could be modified by next change settings
643
644 // For symbols with multiple shapes (De Morgan representation) Set the selected shape:
645 if( m_cbAlternateSymbol->IsEnabled() && m_cbAlternateSymbol->GetValue() )
646 m_symbol->SetConvert( LIB_ITEM::LIB_CONVERT::DEMORGAN );
647 else
648 m_symbol->SetConvert( LIB_ITEM::LIB_CONVERT::BASE );
649
650 //Set the part selection in multiple part per package
651 int unit_selection = m_unitChoice->IsEnabled() ? m_unitChoice->GetSelection() + 1 : 1;
652 m_symbol->SetUnitSelection( &GetParent()->GetCurrentSheet(), unit_selection );
653 m_symbol->SetUnit( unit_selection );
654
655 switch( m_orientationCtrl->GetSelection() )
656 {
657 case 0: m_symbol->SetOrientation( SYM_ORIENT_0 ); break;
658 case 1: m_symbol->SetOrientation( SYM_ORIENT_90 ); break;
659 case 2: m_symbol->SetOrientation( SYM_ORIENT_270 ); break;
660 case 3: m_symbol->SetOrientation( SYM_ORIENT_180 ); break;
661 }
662
663 switch( m_mirrorCtrl->GetSelection() )
664 {
665 case 0: break;
666 case 1: m_symbol->SetOrientation( SYM_MIRROR_X ); break;
667 case 2: m_symbol->SetOrientation( SYM_MIRROR_Y ); break;
668 }
669
670 if( m_part )
671 {
674 }
675
676 // Restore m_Flag modified by SetUnit() and other change settings
678 m_symbol->SetFlags( flags );
679
680 // change all field positions from relative to absolute
681 for( unsigned i = 0; i < m_fields->size(); ++i )
682 m_fields->at( i ).Offset( m_symbol->GetPosition() );
683
685
686 if( entry && entry->IsPower() )
687 m_fields->at( VALUE_FIELD ).SetText( m_symbol->GetLibId().GetLibItemName() );
688
689 SCH_FIELDS& fields = m_symbol->GetFields();
690
691 fields.clear();
692
693 for( size_t i = 0; i < m_fields->size(); ++i )
694 fields.push_back( m_fields->at( i ) );
695
696 // Reference has a specific initialization, depending on the current active sheet
697 // because for a given symbol, in a complex hierarchy, there are more than one
698 // reference.
699 m_symbol->SetRef( &GetParent()->GetCurrentSheet(), m_fields->at( REFERENCE_FIELD ).GetText() );
700
701 // Similar for Value and Footprint, except that the GUI behaviour is that they are kept
702 // in sync between multiple instances.
703 m_symbol->SetValue( m_fields->at( VALUE_FIELD ).GetText() );
704 m_symbol->SetFootprint( m_fields->at( FOOTPRINT_FIELD ).GetText() );
705
708
709 // Update any assignments
710 if( m_dataModel )
711 {
712 for( const SCH_PIN& model_pin : *m_dataModel )
713 {
714 // map from the edited copy back to the "real" pin in the symbol.
715 SCH_PIN* src_pin = m_symbol->GetPin( model_pin.GetNumber() );
716
717 if( src_pin )
718 src_pin->SetAlt( model_pin.GetAlt() );
719 }
720 }
721
722 // Keep fields other than the reference, include/exclude flags, and alternate pin assignements
723 // in sync in multi-unit parts.
724 if( m_symbol->GetUnitCount() > 1 && m_symbol->IsAnnotated( &GetParent()->GetCurrentSheet() ) )
725 {
726 wxString ref = m_symbol->GetRef( &GetParent()->GetCurrentSheet() );
727 int unit = m_symbol->GetUnit();
728 LIB_ID libId = m_symbol->GetLibId();
729
730 for( SCH_SHEET_PATH& sheet : GetParent()->Schematic().GetSheets() )
731 {
732 SCH_SCREEN* screen = sheet.LastScreen();
733 std::vector<SCH_SYMBOL*> otherUnits;
734 constexpr bool appendUndo = true;
735
736 CollectOtherUnits( ref, unit, libId, sheet, &otherUnits );
737
738 for( SCH_SYMBOL* otherUnit : otherUnits )
739 {
740 GetParent()->SaveCopyInUndoList( screen, otherUnit, UNDO_REDO::CHANGED,
741 appendUndo );
742 otherUnit->SetValue( m_fields->at( VALUE_FIELD ).GetText() );
743 otherUnit->SetFootprint( m_fields->at( FOOTPRINT_FIELD ).GetText() );
744
745 for( size_t ii = DATASHEET_FIELD; ii < m_fields->size(); ++ii )
746 {
747 SCH_FIELD* otherField = otherUnit->FindField( m_fields->at( ii ).GetName() );
748
749 if( otherField )
750 {
751 otherField->SetText( m_fields->at( ii ).GetText() );
752 }
753 else
754 {
755 SCH_FIELD* newField = otherUnit->AddField( m_fields->at( ii ) );
756 const_cast<KIID&>( newField->m_Uuid ) = KIID();
757 }
758 }
759
760 for( size_t ii = otherUnit->GetFields().size() - 1; ii > DATASHEET_FIELD; ii-- )
761 {
762 SCH_FIELD& otherField = otherUnit->GetFields().at( ii );
763
764 if( !m_symbol->FindField( otherField.GetName() ) )
765 otherUnit->GetFields().erase( otherUnit->GetFields().begin() + ii );
766 }
767
768 otherUnit->SetIncludeInBom( !m_cbExcludeFromBom->IsChecked() );
769 otherUnit->SetIncludeOnBoard( !m_cbExcludeFromBoard->IsChecked() );
770
771 if( m_dataModel )
772 {
773 for( const SCH_PIN& model_pin : *m_dataModel )
774 {
775 SCH_PIN* src_pin = otherUnit->GetPin( model_pin.GetNumber() );
776
777 if( src_pin )
778 src_pin->SetAlt( model_pin.GetAlt() );
779 }
780 }
781
782 GetParent()->UpdateItem( otherUnit, false, true );
783 }
784 }
785 }
786
787 if( m_cbMakeDefaultInstance->IsChecked() )
788 {
789 SYMBOL_INSTANCE_REFERENCE defaultInstance;
790
791 defaultInstance.m_Unit = unit_selection;
792 defaultInstance.m_Reference = m_fields->at( REFERENCE_FIELD ).GetText();
793 defaultInstance.m_Value = m_fields->at( VALUE_FIELD ).GetText();
794 defaultInstance.m_Footprint = m_fields->at( FOOTPRINT_FIELD ).GetText();
795
796 m_symbol->SetDefaultInstance( defaultInstance );
797 }
798
799 currentScreen->Append( m_symbol );
801 GetParent()->UpdateItem( m_symbol, false, true );
802 GetParent()->OnModify();
803
804 // This must go after OnModify() so that the connectivity graph will have been updated.
806
807 return true;
808}
EDA_ITEM_FLAGS GetEditFlags() const
Definition: eda_item.h:157
void SetFlags(EDA_ITEM_FLAGS aMask)
Definition: eda_item.h:152
const KIID m_Uuid
Definition: eda_item.h:494
void ClearFlags(EDA_ITEM_FLAGS aMask=EDA_ITEM_ALL_FLAGS)
Definition: eda_item.h:153
EDA_ITEM_FLAGS GetFlags() const
Definition: eda_item.h:154
virtual void SetText(const wxString &aText)
Definition: eda_text.cpp:163
static const TOOL_EVENT SelectedItemsModified
Selected items were moved, this can be very high frequency on the canvas, use with care.
Definition: actions.h:206
Definition: kiid.h:45
A logical library item identifier and consists of various portions much like a URI.
Definition: lib_id.h:52
const UTF8 & GetLibItemName() const
Definition: lib_id.h:104
Define a library symbol object.
Definition: lib_symbol.h:99
void SetShowPinNames(bool aShow)
Set or clear the pin name visibility flag.
Definition: lib_symbol.h:597
bool IsPower() const
Definition: lib_symbol.cpp:473
void SetShowPinNumbers(bool aShow)
Set or clear the pin number visibility flag.
Definition: lib_symbol.h:605
LIB_SYMBOL * GetLibSymbol(const LIB_ID &aLibId, bool aUseCacheLib=false, bool aShowErrorMsg=false)
Load symbol from symbol library table.
void OnModify() override
Must be called after a schematic change in order to set the "modify" flag of the current screen and u...
SCH_SCREEN * GetScreen() const override
Return a pointer to a BASE_SCREEN or one of its derivatives.
void SaveCopyInUndoList(SCH_SCREEN *aScreen, SCH_ITEM *aItemToCopy, UNDO_REDO aTypeCommand, bool aAppend, bool aDirtyConnectivity=true)
Create a copy of the current schematic item, and put it in the undo list.
void UpdateItem(EDA_ITEM *aItem, bool isAddOrDelete=false, bool aUpdateRtree=false) override
Mark an item for refresh.
void TestDanglingEnds()
Test all of the connectable objects in the schematic for unused connection points.
wxString GetName(bool aUseDefaultName=true) const
Return the field name (not translated).
Definition: sch_field.cpp:791
void SetAlt(const wxString &aAlt)
Definition: sch_pin.h:65
bool Remove(SCH_ITEM *aItem)
Remove aItem from the schematic associated with this screen.
Definition: sch_screen.cpp:273
void Append(SCH_ITEM *aItem)
Definition: sch_screen.cpp:146
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
Schematic symbol object.
Definition: sch_symbol.h:79
int GetUnitCount() const
Return the number of units per package of the symbol.
Definition: sch_symbol.cpp:416
void SetConvert(int aConvert)
Definition: sch_symbol.cpp:393
void SetValue(const SCH_SHEET_PATH *sheet, const wxString &aValue)
Definition: sch_symbol.cpp:649
SCH_FIELD * FindField(const wxString &aFieldName, bool aIncludeDefaultFields=true)
Search for a SCH_FIELD with aFieldName.
Definition: sch_symbol.cpp:814
void SetIncludeOnBoard(bool aIncludeOnBoard)
Definition: sch_symbol.h:695
const wxString GetRef(const SCH_SHEET_PATH *aSheet, bool aIncludeUnit=false) const
Return the reference for the given sheet path.
Definition: sch_symbol.cpp:487
void SetFootprint(const SCH_SHEET_PATH *sheet, const wxString &aFootprint)
Definition: sch_symbol.cpp:708
void SetDefaultInstance(const SYMBOL_INSTANCE_REFERENCE &aInstance)
Definition: sch_symbol.h:128
void SetRef(const SCH_SHEET_PATH *aSheet, const wxString &aReference)
Set the reference for the given sheet path for this symbol.
Definition: sch_symbol.cpp:529
void SetOrientation(int aOrientation)
Compute the new transform matrix based on aOrientation for the symbol which is applied to the current...
VECTOR2I GetPosition() const override
Definition: sch_symbol.h:665
bool IsAnnotated(const SCH_SHEET_PATH *aSheet)
Check if the symbol has a valid annotation (reference) for the given sheet path.
Definition: sch_symbol.cpp:565
const LIB_ID & GetLibId() const
Definition: sch_symbol.h:157
SCH_PIN * GetPin(const wxString &number) const
Find a symbol pin by number.
Definition: sch_symbol.cpp:910
void GetFields(std::vector< SCH_FIELD * > &aVector, bool aVisibleOnly)
Populate a std::vector with SCH_FIELDs.
Definition: sch_symbol.cpp:782
void SetUnitSelection(const SCH_SHEET_PATH *aSheet, int aUnitSelection)
Set the selected unit of this symbol on one sheet.
Definition: sch_symbol.cpp:595
void SetIncludeInBom(bool aIncludeInBom)
Definition: sch_symbol.h:692
TOOL_MANAGER * GetToolManager() const
Return the MVC controller.
Definition: tools_holder.h:54
void PostEvent(const TOOL_EVENT &aEvent)
Put an event to the event queue to be processed at the end of event processing cycle.
std::uint32_t EDA_ITEM_FLAGS
void CollectOtherUnits(const wxString &aRef, int aUnit, const LIB_ID &aLibId, SCH_SHEET_PATH &aSheet, std::vector< SCH_SYMBOL * > *otherUnits)
@ SYM_ORIENT_270
@ SYM_MIRROR_Y
@ SYM_ORIENT_180
@ SYM_MIRROR_X
@ SYM_ORIENT_90
@ SYM_ORIENT_0
std::vector< SCH_FIELD > SCH_FIELDS
A container for several SCH_FIELD items.
Definition: sch_symbol.h:67
A simple container for schematic symbol instance information.
@ DATASHEET_FIELD
name of datasheet
@ FOOTPRINT_FIELD
Field Name Module PCB, i.e. "16DIP300".
@ VALUE_FIELD
Field Value of part, i.e. "3.3K".

References SCH_SCREEN::Append(), CHANGED, EDA_ITEM::ClearFlags(), CollectOtherUnits(), WX_GRID::CommitPendingChanges(), DATASHEET_FIELD, SCH_SYMBOL::FindField(), FOOTPRINT_FIELD, EDA_ITEM::GetEditFlags(), SCH_SYMBOL::GetFields(), EDA_ITEM::GetFlags(), SCH_SYMBOL::GetLibId(), LIB_ID::GetLibItemName(), SCH_BASE_FRAME::GetLibSymbol(), SCH_FIELD::GetName(), GetParent(), SCH_SYMBOL::GetPin(), SCH_SYMBOL::GetPosition(), SCH_SYMBOL::GetRef(), SCH_EDIT_FRAME::GetScreen(), TOOLS_HOLDER::GetToolManager(), SCH_SYMBOL::GetUnit(), SCH_SYMBOL::GetUnitCount(), SCH_SYMBOL::IsAnnotated(), LIB_SYMBOL::IsPower(), DIALOG_SYMBOL_PROPERTIES_BASE::m_cbAlternateSymbol, DIALOG_SYMBOL_PROPERTIES_BASE::m_cbExcludeFromBoard, DIALOG_SYMBOL_PROPERTIES_BASE::m_cbExcludeFromBom, DIALOG_SYMBOL_PROPERTIES_BASE::m_cbMakeDefaultInstance, m_dataModel, m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, SYMBOL_INSTANCE_REFERENCE::m_Footprint, DIALOG_SYMBOL_PROPERTIES_BASE::m_mirrorCtrl, DIALOG_SYMBOL_PROPERTIES_BASE::m_orientationCtrl, m_part, DIALOG_SYMBOL_PROPERTIES_BASE::m_pinGrid, SYMBOL_INSTANCE_REFERENCE::m_Reference, DIALOG_SYMBOL_PROPERTIES_BASE::m_ShowPinNameButt, DIALOG_SYMBOL_PROPERTIES_BASE::m_ShowPinNumButt, m_symbol, SYMBOL_INSTANCE_REFERENCE::m_Unit, DIALOG_SYMBOL_PROPERTIES_BASE::m_unitChoice, EDA_ITEM::m_Uuid, SYMBOL_INSTANCE_REFERENCE::m_Value, SCH_EDIT_FRAME::OnModify(), TOOL_MANAGER::PostEvent(), REFERENCE_FIELD, SCH_SCREEN::Remove(), SCH_EDIT_FRAME::SaveCopyInUndoList(), EVENTS::SelectedItemsModified, SCH_PIN::SetAlt(), SCH_SYMBOL::SetConvert(), SCH_SYMBOL::SetDefaultInstance(), EDA_ITEM::SetFlags(), SCH_SYMBOL::SetFootprint(), SCH_SYMBOL::SetIncludeInBom(), SCH_SYMBOL::SetIncludeOnBoard(), SCH_SYMBOL::SetOrientation(), SCH_SYMBOL::SetRef(), LIB_SYMBOL::SetShowPinNames(), LIB_SYMBOL::SetShowPinNumbers(), EDA_TEXT::SetText(), SCH_SYMBOL::SetUnit(), SCH_SYMBOL::SetUnitSelection(), SCH_SYMBOL::SetValue(), SYM_MIRROR_X, SYM_MIRROR_Y, SYM_ORIENT_0, SYM_ORIENT_180, SYM_ORIENT_270, SYM_ORIENT_90, SCH_EDIT_FRAME::TestDanglingEnds(), SCH_EDIT_FRAME::UpdateItem(), and VALUE_FIELD.

Referenced by OnEditLibrarySymbol(), OnEditSymbol(), OnExchangeSymbol(), and OnUpdateSymbol().

◆ TransferDataToWindow()

bool DIALOG_SYMBOL_PROPERTIES::TransferDataToWindow ( )
overrideprivate

Definition at line 440 of file dialog_symbol_properties.cpp.

441{
442 if( !wxDialog::TransferDataToWindow() )
443 return false;
444
445 std::set<wxString> defined;
446
447 // Push a copy of each field into m_updateFields
448 for( int i = 0; i < m_symbol->GetFieldCount(); ++i )
449 {
450 SCH_FIELD field( m_symbol->GetFields()[i] );
451
452 // change offset to be symbol-relative
453 field.Offset( -m_symbol->GetPosition() );
454
455 defined.insert( field.GetName() );
456 m_fields->push_back( field );
457 }
458
459 // Add in any template fieldnames not yet defined:
460 for( const TEMPLATE_FIELDNAME& templateFieldname :
461 GetParent()->Schematic().Settings().m_TemplateFieldNames.GetTemplateFieldNames() )
462 {
463 if( defined.count( templateFieldname.m_Name ) <= 0 )
464 {
465 SCH_FIELD field( wxPoint( 0, 0 ), -1, m_symbol, templateFieldname.m_Name );
466 field.SetVisible( templateFieldname.m_Visible );
467 m_fields->push_back( field );
468 }
469 }
470
471 // notify the grid
472 wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, m_fields->size() );
473 m_fieldsGrid->ProcessTableMessage( msg );
475
476 // If a multi-unit symbol, set up the unit selector and interchangeable checkbox.
477 if( m_symbol->GetUnitCount() > 1 )
478 {
479 for( int ii = 1; ii <= m_symbol->GetUnitCount(); ii++ )
480 m_unitChoice->Append( LIB_SYMBOL::SubReference( ii, false ) );
481
482 if( m_symbol->GetUnit() <= ( int )m_unitChoice->GetCount() )
483 m_unitChoice->SetSelection( m_symbol->GetUnit() - 1 );
484 }
485 else
486 {
487 m_unitLabel->Enable( false );
488 m_unitChoice->Enable( false );
489 }
490
491 if( m_part && m_part->HasConversion() )
492 {
493 if( m_symbol->GetConvert() > LIB_ITEM::LIB_CONVERT::BASE )
494 m_cbAlternateSymbol->SetValue( true );
495 }
496 else
497 {
498 m_cbAlternateSymbol->Enable( false );
499 }
500
501 // Set the symbol orientation and mirroring.
502 int orientation = m_symbol->GetOrientation() & ~( SYM_MIRROR_X | SYM_MIRROR_Y );
503
504 switch( orientation )
505 {
506 default:
507 case SYM_ORIENT_0: m_orientationCtrl->SetSelection( 0 ); break;
508 case SYM_ORIENT_90: m_orientationCtrl->SetSelection( 1 ); break;
509 case SYM_ORIENT_270: m_orientationCtrl->SetSelection( 2 ); break;
510 case SYM_ORIENT_180: m_orientationCtrl->SetSelection( 3 ); break;
511 }
512
513 int mirror = m_symbol->GetOrientation() & ( SYM_MIRROR_X | SYM_MIRROR_Y );
514
515 switch( mirror )
516 {
517 default: m_mirrorCtrl->SetSelection( 0 ) ; break;
518 case SYM_MIRROR_X: m_mirrorCtrl->SetSelection( 1 ); break;
519 case SYM_MIRROR_Y: m_mirrorCtrl->SetSelection( 2 ); break;
520 }
521
524
525 if( m_part )
526 {
527 m_ShowPinNumButt->SetValue( m_part->ShowPinNumbers() );
528 m_ShowPinNameButt->SetValue( m_part->ShowPinNames() );
529 }
530
531 // Set the symbol's library name.
533
534 Layout();
535 m_fieldsGrid->Layout();
536 wxSafeYield();
537
538 return true;
539}
UTF8 Format() const
Definition: lib_id.cpp:116
bool ShowPinNames() const
Definition: lib_symbol.h:598
static wxString SubReference(int aUnit, bool aAddSeparator=true)
Definition: lib_symbol.cpp:509
bool ShowPinNumbers() const
Definition: lib_symbol.h:606
int GetFieldCount() const
Return the number of fields in this symbol.
Definition: sch_symbol.h:436
bool GetIncludeOnBoard() const
Definition: sch_symbol.h:694
bool GetIncludeInBom() const
Definition: sch_symbol.h:691
int GetConvert() const
Definition: sch_symbol.h:233
int GetOrientation()
Get the display symbol orientation.
wxString UnescapeString(const wxString &aSource)
Hold a name of a symbol's field, field value, and default visibility.

References AdjustFieldsGridColumns(), LIB_ID::Format(), SCH_SYMBOL::GetConvert(), SCH_SYMBOL::GetFieldCount(), SCH_SYMBOL::GetFields(), SCH_SYMBOL::GetIncludeInBom(), SCH_SYMBOL::GetIncludeOnBoard(), SCH_SYMBOL::GetLibId(), SCH_FIELD::GetName(), SCH_SYMBOL::GetOrientation(), GetParent(), SCH_SYMBOL::GetPosition(), SCH_SYMBOL::GetUnit(), SCH_SYMBOL::GetUnitCount(), LIB_SYMBOL::HasConversion(), DIALOG_SYMBOL_PROPERTIES_BASE::m_cbAlternateSymbol, DIALOG_SYMBOL_PROPERTIES_BASE::m_cbExcludeFromBoard, DIALOG_SYMBOL_PROPERTIES_BASE::m_cbExcludeFromBom, m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, DIALOG_SYMBOL_PROPERTIES_BASE::m_mirrorCtrl, DIALOG_SYMBOL_PROPERTIES_BASE::m_orientationCtrl, m_part, DIALOG_SYMBOL_PROPERTIES_BASE::m_ShowPinNameButt, DIALOG_SYMBOL_PROPERTIES_BASE::m_ShowPinNumButt, m_symbol, DIALOG_SYMBOL_PROPERTIES_BASE::m_tcLibraryID, DIALOG_SYMBOL_PROPERTIES_BASE::m_unitChoice, DIALOG_SYMBOL_PROPERTIES_BASE::m_unitLabel, EDA_TEXT::Offset(), EDA_TEXT::SetVisible(), LIB_SYMBOL::ShowPinNames(), LIB_SYMBOL::ShowPinNumbers(), LIB_SYMBOL::SubReference(), SYM_MIRROR_X, SYM_MIRROR_Y, SYM_ORIENT_0, SYM_ORIENT_180, SYM_ORIENT_270, SYM_ORIENT_90, and UnescapeString().

Referenced by OnInitDlg().

◆ Validate()

bool DIALOG_SYMBOL_PROPERTIES::Validate ( )
overrideprivate

Definition at line 579 of file dialog_symbol_properties.cpp.

580{
581 LIB_ID id;
582
583 if( !m_fieldsGrid->CommitPendingChanges() || !m_fieldsGrid->Validate() )
584 return false;
585
587 {
588 DisplayErrorMessage( this, _( "References must start with a letter." ) );
589
590 wxCommandEvent *evt = new wxCommandEvent( SYMBOL_DELAY_FOCUS );
591 evt->SetClientData( new VECTOR2I( REFERENCE_FIELD, FDC_VALUE ) );
592 QueueEvent( evt );
593
594 return false;
595 }
596
597 // Check for missing field names.
598 for( size_t i = MANDATORY_FIELDS; i < m_fields->size(); ++i )
599 {
600 SCH_FIELD& field = m_fields->at( i );
601 wxString fieldName = field.GetName( false );
602
603 if( fieldName.IsEmpty() )
604 {
605 DisplayErrorMessage( this, _( "Fields must have a name." ) );
606
607 wxCommandEvent *evt = new wxCommandEvent( SYMBOL_DELAY_FOCUS );
608 evt->SetClientData( new VECTOR2I( i, FDC_VALUE ) );
609 QueueEvent( evt );
610
611 return false;
612 }
613 }
614
615 return true;
616}
static bool IsReferenceStringValid(const wxString &aReferenceString)
Test for an acceptable reference string.
Definition: sch_symbol.cpp:523
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
Definition: confirm.cpp:299

References _, WX_GRID::CommitPendingChanges(), DisplayErrorMessage(), FDC_VALUE, SCH_FIELD::GetName(), SCH_SYMBOL::IsReferenceStringValid(), m_fields, DIALOG_SYMBOL_PROPERTIES_BASE::m_fieldsGrid, MANDATORY_FIELDS, and REFERENCE_FIELD.

◆ vertPixelsFromDU()

int DIALOG_SHIM::vertPixelsFromDU ( int  y) const
protectedinherited

Convert an integer number of dialog units to pixels, vertically.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 183 of file dialog_shim.cpp.

184{
185 wxSize sz( 0, y );
186 return ConvertDialogToPixels( sz ).y;
187}

Referenced by DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

Member Data Documentation

◆ generalPage

wxPanel* DIALOG_SYMBOL_PROPERTIES_BASE::generalPage
protectedinherited

◆ m_bpAdd

wxBitmapButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_bpAdd
protectedinherited

◆ m_bpDelete

wxBitmapButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_bpDelete
protectedinherited

◆ m_bpMoveDown

wxBitmapButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_bpMoveDown
protectedinherited

◆ m_bpMoveUp

wxBitmapButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_bpMoveUp
protectedinherited

◆ m_cbAlternateSymbol

wxCheckBox* DIALOG_SYMBOL_PROPERTIES_BASE::m_cbAlternateSymbol
protectedinherited

◆ m_cbExcludeFromBoard

wxCheckBox* DIALOG_SYMBOL_PROPERTIES_BASE::m_cbExcludeFromBoard
protectedinherited

◆ m_cbExcludeFromBom

wxCheckBox* DIALOG_SYMBOL_PROPERTIES_BASE::m_cbExcludeFromBom
protectedinherited

◆ m_cbMakeDefaultInstance

wxCheckBox* DIALOG_SYMBOL_PROPERTIES_BASE::m_cbMakeDefaultInstance
protectedinherited

◆ m_changeSymbolBtn

wxButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_changeSymbolBtn
protectedinherited

◆ m_dataModel

◆ m_editLibrarySymbolBtn

wxButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_editLibrarySymbolBtn
protectedinherited

◆ m_editorShown

bool DIALOG_SYMBOL_PROPERTIES::m_editorShown
private

◆ m_editSchematicSymbolBtn

wxButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_editSchematicSymbolBtn
protectedinherited

◆ m_fields

◆ m_fieldsGrid

◆ m_fieldsSize

wxSize DIALOG_SYMBOL_PROPERTIES::m_fieldsSize
private

Definition at line 102 of file dialog_symbol_properties.h.

Referenced by OnSizeFieldsGrid().

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 212 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_hash_key

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 213 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint(), and DIALOG_SHIM::SetInitialFocus().

◆ m_initialSize

wxSize DIALOG_SHIM::m_initialSize
protectedinherited

Definition at line 225 of file dialog_shim.h.

Referenced by DIALOG_SHIM::Show().

◆ m_kiway

KIWAY* KIWAY_HOLDER::m_kiway
privateinherited

◆ m_lastRequestedSize

wxSize DIALOG_SYMBOL_PROPERTIES::m_lastRequestedSize
private

Definition at line 103 of file dialog_symbol_properties.h.

Referenced by DIALOG_SYMBOL_PROPERTIES(), and OnSizeFieldsGrid().

◆ m_libraryIDLabel

wxStaticText* DIALOG_SYMBOL_PROPERTIES_BASE::m_libraryIDLabel
protectedinherited

◆ m_mirrorCtrl

◆ m_mirrorLabel

wxStaticText* DIALOG_SYMBOL_PROPERTIES_BASE::m_mirrorLabel
protectedinherited

◆ m_notebook1

wxNotebook* DIALOG_SYMBOL_PROPERTIES_BASE::m_notebook1
protectedinherited

◆ m_orientationCtrl

◆ m_orientationLabel

wxStaticText* DIALOG_SYMBOL_PROPERTIES_BASE::m_orientationLabel
protectedinherited

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

◆ m_part

LIB_SYMBOL* DIALOG_SYMBOL_PROPERTIES::m_part
private

◆ m_pinGrid

◆ m_pinsSize

wxSize DIALOG_SYMBOL_PROPERTIES::m_pinsSize
private

Definition at line 104 of file dialog_symbol_properties.h.

Referenced by OnSizePinsGrid().

◆ m_pinTablePage

wxPanel* DIALOG_SYMBOL_PROPERTIES_BASE::m_pinTablePage
protectedinherited

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 215 of file dialog_shim.h.

Referenced by DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_qmodal_parent_disabler

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited

◆ m_qmodal_showing

bool DIALOG_SHIM::m_qmodal_showing
protectedinherited

Definition at line 217 of file dialog_shim.h.

Referenced by DIALOG_SHIM::IsQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_shownColumns

wxString DIALOG_SYMBOL_PROPERTIES::m_shownColumns
private

Definition at line 106 of file dialog_symbol_properties.h.

Referenced by DIALOG_SYMBOL_PROPERTIES(), and OnUpdateUI().

◆ m_ShowPinNameButt

wxCheckBox* DIALOG_SYMBOL_PROPERTIES_BASE::m_ShowPinNameButt
protectedinherited

◆ m_ShowPinNumButt

wxCheckBox* DIALOG_SYMBOL_PROPERTIES_BASE::m_ShowPinNumButt
protectedinherited

◆ m_spiceFieldsButton

wxButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_spiceFieldsButton
protectedinherited

◆ m_stdDialogButtonSizer

wxStdDialogButtonSizer* DIALOG_SYMBOL_PROPERTIES_BASE::m_stdDialogButtonSizer
protectedinherited

◆ m_stdDialogButtonSizerCancel

wxButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_stdDialogButtonSizerCancel
protectedinherited

◆ m_stdDialogButtonSizerOK

wxButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_stdDialogButtonSizerOK
protectedinherited

◆ m_symbol

SCH_SYMBOL* DIALOG_SYMBOL_PROPERTIES::m_symbol
private

◆ m_tabOrder

◆ m_tcLibraryID

wxTextCtrl* DIALOG_SYMBOL_PROPERTIES_BASE::m_tcLibraryID
protectedinherited

◆ m_type

HOLDER_TYPE KIWAY_HOLDER::m_type
privateinherited

Definition at line 85 of file kiway_holder.h.

Referenced by KIWAY_HOLDER::GetType(), and SIM_PLOT_FRAME::onSimFinished().

◆ m_unitChoice

◆ m_unitLabel

wxStaticText* DIALOG_SYMBOL_PROPERTIES_BASE::m_unitLabel
protectedinherited

◆ m_units

◆ m_updateSymbolBtn

wxButton* DIALOG_SYMBOL_PROPERTIES_BASE::m_updateSymbolBtn
protectedinherited

◆ m_useCalculatedSize

bool DIALOG_SHIM::m_useCalculatedSize
protectedinherited

The documentation for this class was generated from the following files: