KiCad PCB EDA Suite
DIALOG_LIB_SYMBOL_PROPERTIES Class Reference

#include <dialog_lib_symbol_properties.h>

Inheritance diagram for DIALOG_LIB_SYMBOL_PROPERTIES:
DIALOG_LIB_SYMBOL_PROPERTIES_BASE DIALOG_SHIM KIWAY_HOLDER

Public Types

enum  HOLDER_TYPE { DIALOG, FRAME, PANEL }
 

Public Member Functions

 DIALOG_LIB_SYMBOL_PROPERTIES (SYMBOL_EDIT_FRAME *parent, LIB_PART *aLibEntry)
 
 ~DIALOG_LIB_SYMBOL_PROPERTIES ()
 
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 SetPosition (const wxPoint &aNewPosition)
 Force the position of the dialog to a new position. More...
 
EDA_UNITS GetUserUnits () const
 
HOLDER_TYPE GetType () const
 
KIWAYKiway () const
 Return a reference to the KIWAY that this object has an opportunity to participate in. 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)
 

Public Attributes

SYMBOL_EDIT_FRAMEm_Parent
 
LIB_PARTm_libEntry
 
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
 
UNIT_BINDER m_pinNameOffset
 
wxControl * m_delayedFocusCtrl
 
WX_GRIDm_delayedFocusGrid
 
int m_delayedFocusRow
 
int m_delayedFocusColumn
 
int m_delayedFocusPage
 
wxString m_delayedErrorMessage
 
wxString m_shownColumns
 
int m_width
 

Protected Member Functions

bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
bool Validate () override
 
virtual void onPowerCheckBox (wxCommandEvent &aEvent) override
 
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_NoteBook
 
wxPanel * m_PanelBasic
 
WX_GRIDm_grid
 
wxBoxSizer * bButtonSize
 
wxBitmapButton * m_bpAdd
 
wxBitmapButton * m_bpMoveUp
 
wxBitmapButton * m_bpMoveDown
 
wxBitmapButton * m_bpDelete
 
wxTextCtrl * m_SymbolNameCtrl
 
wxTextCtrl * m_DescCtrl
 
wxStaticText * staticKeywordsLabel
 
wxTextCtrl * m_KeywordCtrl
 
wxStaticText * m_inheritsStaticText
 
wxComboBox * m_inheritanceSelectCombo
 
wxBoxSizer * bSizerLowerBasicPanel
 
wxCheckBox * m_AsConvertButt
 
wxCheckBox * m_OptionPower
 
wxCheckBox * m_excludeFromBomCheckBox
 
wxCheckBox * m_excludeFromBoardCheckBox
 
wxStaticText * m_staticTextNbUnits
 
wxSpinCtrl * m_SelNumberOfUnits
 
wxCheckBox * m_OptionPartsInterchangeable
 
wxCheckBox * m_ShowPinNumButt
 
wxCheckBox * m_ShowPinNameButt
 
wxCheckBox * m_PinsNameInsideButt
 
wxStaticText * m_nameOffsetLabel
 
wxTextCtrl * m_nameOffsetCtrl
 
wxStaticText * m_nameOffsetUnits
 
wxPanel * m_PanelFootprintFilter
 
wxStaticText * m_staticTextFootprints
 
wxListBox * m_FootprintFilterListBox
 
wxBitmapButton * m_addFilterButton
 
wxBitmapButton * m_editFilterButton
 
wxBitmapButton * m_deleteFilterButton
 
wxButton * m_spiceFieldsButton
 
wxStdDialogButtonSizer * m_stdSizerButton
 
wxButton * m_stdSizerButtonOK
 
wxButton * m_stdSizerButtonCancel
 
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
 

Private Types

enum  LAST_LAYOUT { NONE, ALIAS, PARENT }
 

Private Member Functions

void OnAddField (wxCommandEvent &event) override
 
void OnDeleteField (wxCommandEvent &event) override
 
void OnMoveUp (wxCommandEvent &event) override
 
void OnMoveDown (wxCommandEvent &event) override
 
void OnSymbolNameKillFocus (wxFocusEvent &event) override
 
void OnSymbolNameText (wxCommandEvent &event) override
 
void OnAddFootprintFilter (wxCommandEvent &event) override
 
void OnDeleteFootprintFilter (wxCommandEvent &event) override
 
void OnEditFootprintFilter (wxCommandEvent &event) override
 
void OnSizeGrid (wxSizeEvent &event) override
 
void OnGridCellChanging (wxGridEvent &event)
 
void OnEditSpiceModel (wxCommandEvent &event) override
 
void OnUpdateUI (wxUpdateUIEvent &event) override
 
void OnFilterDClick (wxMouseEvent &event) override
 
void OnCancelButtonClick (wxCommandEvent &event) override
 
void adjustGridColumns (int aWidth)
 
void syncControlStates (bool aIsAlias)
 

Static Private Attributes

static int m_lastOpenedPage = 0
 
static LAST_LAYOUT m_lastLayout = DIALOG_LIB_SYMBOL_PROPERTIES::NONE
 

Detailed Description

Definition at line 38 of file dialog_lib_symbol_properties.h.

Member Enumeration Documentation

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 42 of file kiway_holder.h.

◆ LAST_LAYOUT

Constructor & Destructor Documentation

◆ DIALOG_LIB_SYMBOL_PROPERTIES()

DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES ( SYMBOL_EDIT_FRAME parent,
LIB_PART aLibEntry 
)

Definition at line 50 of file dialog_lib_symbol_properties.cpp.

51  :
53  m_Parent( aParent ),
54  m_libEntry( aLibEntry ),
56  m_delayedFocusCtrl( nullptr ),
57  m_delayedFocusGrid( nullptr ),
58  m_delayedFocusRow( -1 ),
60  m_delayedFocusPage( -1 ),
61  m_width( 0 )
62 {
63  // Give a bit more room for combobox editors
64  m_grid->SetDefaultRowSize( m_grid->GetDefaultRowSize() + 4 );
65  m_fields = new FIELDS_GRID_TABLE<LIB_FIELD>( this, aParent, m_grid, m_libEntry );
67  m_grid->PushEventHandler( new FIELDS_GRID_TRICKS( m_grid, this ) );
68 
69  // Show/hide columns according to the user's preference
70  auto cfg = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
71  m_grid->ShowHideColumns( cfg->m_EditComponentVisibleColumns );
72 
73  wxGridCellAttr* attr = new wxGridCellAttr;
74  attr->SetEditor( new GRID_CELL_URL_EDITOR( this ) );
75  m_grid->SetAttr( DATASHEET_FIELD, FDC_VALUE, attr );
76 
77  m_SymbolNameCtrl->SetValidator( SCH_FIELD_VALIDATOR( true, VALUE_FIELD ) );
78 
79  // Configure button logos
80  m_bpAdd->SetBitmap( KiBitmap( BITMAPS::small_plus ) );
81  m_bpDelete->SetBitmap( KiBitmap( BITMAPS::small_trash ) );
82  m_bpMoveUp->SetBitmap( KiBitmap( BITMAPS::small_up ) );
83  m_bpMoveDown->SetBitmap( KiBitmap( BITMAPS::small_down ) );
87 
88  if( aParent->IsSymbolFromLegacyLibrary() )
89  {
90  m_stdSizerButtonCancel->SetDefault();
91  m_stdSizerButtonOK->SetLabel( _( "Read Only" ) );
92  m_stdSizerButtonOK->Enable( false );
93  }
94  else
95  {
96  m_stdSizerButtonOK->SetDefault();
97  }
98 
99 #ifndef KICAD_SPICE
100  m_spiceFieldsButton->Hide();
101 #endif
102 
103  // wxFormBuilder doesn't include this event...
104  m_grid->Connect( wxEVT_GRID_CELL_CHANGING,
106  NULL, this );
107 
109  {
110  if( ( m_lastLayout == DIALOG_LIB_SYMBOL_PROPERTIES::ALIAS && aLibEntry->IsRoot() )
111  || ( m_lastLayout == DIALOG_LIB_SYMBOL_PROPERTIES::PARENT && aLibEntry->IsAlias() ) )
112  {
113  resetSize();
114  }
115  }
116 
119 
120  m_grid->GetParent()->Layout();
122  Layout();
123 
125 }
void ShowHideColumns(const wxString &shownColumns)
Show/hide the grid columns based on a tokenized string of shown column indexes.
Definition: wx_grid.cpp:129
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:65
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106
name of datasheet
Field Value of part, i.e. "3.3K".
#define NULL
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:104
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
#define _(s)
Definition: 3d_actions.cpp:33
bool IsAlias() const
Definition: lib_symbol.h:168
void resetSize()
Clear the existing dialog size and position.
bool IsRoot() const override
For symbols derived from other symbols, IsRoot() indicates no derivation.
Definition: lib_symbol.h:167
A text control validator used for validating the text allowed in library and schematic symbol fields.
DIALOG_LIB_SYMBOL_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=ID_LIBEDIT_NOTEBOOK, const wxString &title=_("Library Symbol Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)

References _, ALIAS, DATASHEET_FIELD, FDC_VALUE, DIALOG_SHIM::finishDialogSettings(), LIB_PART::IsAlias(), LIB_PART::IsRoot(), SYMBOL_EDIT_FRAME::IsSymbolFromLegacyLibrary(), KiBitmap(), DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_addFilterButton, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_bpAdd, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_bpDelete, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_bpMoveDown, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_bpMoveUp, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_deleteFilterButton, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_editFilterButton, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, m_lastLayout, m_libEntry, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_spiceFieldsButton, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_stdSizerButtonCancel, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_stdSizerButtonOK, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SymbolNameCtrl, NONE, NULL, OnGridCellChanging(), PARENT, Pgm(), DIALOG_SHIM::resetSize(), WX_GRID::SetTable(), WX_GRID::ShowHideColumns(), small_down, small_edit, small_plus, small_trash, small_up, syncControlStates(), and VALUE_FIELD.

◆ ~DIALOG_LIB_SYMBOL_PROPERTIES()

DIALOG_LIB_SYMBOL_PROPERTIES::~DIALOG_LIB_SYMBOL_PROPERTIES ( )

Definition at line 128 of file dialog_lib_symbol_properties.cpp.

129 {
130  m_lastOpenedPage = m_NoteBook->GetSelection( );
131 
132  auto cfg = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
134 
135  // Prevents crash bug in wxGrid's d'tor
137 
138  m_grid->Disconnect( wxEVT_GRID_CELL_CHANGING,
140  NULL, this );
141 
142  // Delete the GRID_TRICKS.
143  m_grid->PopEventHandler( true );
144 }
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106
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:97
#define NULL
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
wxString GetShownColumns()
Get a tokenized string containing the shown column indexes.
Definition: wx_grid.cpp:110

References WX_GRID::DestroyTable(), WX_GRID::GetShownColumns(), SYMBOL_EDITOR_SETTINGS::m_EditComponentVisibleColumns, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, m_lastOpenedPage, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_NoteBook, NULL, OnGridCellChanging(), and Pgm().

Member Function Documentation

◆ adjustGridColumns()

void DIALOG_LIB_SYMBOL_PROPERTIES::adjustGridColumns ( int  aWidth)
private

Definition at line 663 of file dialog_lib_symbol_properties.cpp.

664 {
665  m_width = aWidth;
666 
667  // Account for scroll bars
668  aWidth -= ( m_grid->GetSize().x - m_grid->GetClientSize().x );
669 
670  m_grid->AutoSizeColumn( FDC_NAME );
671 
672  int fixedColsWidth = m_grid->GetColSize( FDC_NAME );
673 
674  for( int i = 2; i < m_grid->GetNumberCols(); i++ )
675  fixedColsWidth += m_grid->GetColSize( i );
676 
677  m_grid->SetColSize( FDC_VALUE, aWidth - fixedColsWidth );
678 }

References FDC_NAME, FDC_VALUE, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, and m_width.

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

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 307 of file dialog_shim.cpp.

308 {
309  // so we can do logging of this state change:
310  return wxDialog::Enable( enable );
311 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 445 of file dialog_shim.cpp.

446 {
447  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
448  // handle validation in the same way as other dialogs.
449  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
450  return;
451 
452  SetReturnCode( retCode );
453 
454  if( !IsQuasiModal() )
455  {
456  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
457  "wasn't called" );
458  return;
459  }
460 
461  if( m_qmodal_loop )
462  {
463  if( m_qmodal_loop->IsRunning() )
464  m_qmodal_loop->Exit( 0 );
465  else
466  m_qmodal_loop->ScheduleExit( 0 );
467 
469  }
470 
473 
474  Show( false );
475 }
bool IsQuasiModal() const
Definition: dialog_shim.h:107
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:212
#define NULL
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:215

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

Referenced by HK_PROMPT_DIALOG::EndFlexible(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_COMPONENTS_LIBID::onCancel(), OnCancelButtonClick(), DIALOG_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_PRINT_GENERIC::onCloseButton(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_CHOOSE_SYMBOL::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), DIALOG_SYMBOL_PROPERTIES::OnEditLibrarySymbol(), DIALOG_SYMBOL_PROPERTIES::OnEditSymbol(), DIALOG_SYMBOL_PROPERTIES::OnExchangeSymbol(), HTML_MESSAGE_BOX::OnOKButtonClick(), DIALOG_SYMBOL_PROPERTIES::OnUpdateSymbol(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_CHOOSE_SYMBOL::OnUseBrowser(), 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 148 of file dialog_shim.cpp.

149 {
150  // must be called from the constructor of derived classes,
151  // when all widgets are initialized, and therefore their size fixed
152 
153  // SetSizeHints fixes the minimal size of sizers in the dialog
154  // (SetSizeHints calls Fit(), so no need to call it)
155  GetSizer()->SetSizeHints( this );
156 }

Referenced by DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), 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_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), 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_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), 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_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_NETLIST::DIALOG_NETLIST(), 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_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_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_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(), DLG_SELECT_3DMODEL::DLG_SELECT_3DMODEL(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), PAGED_DIALOG::finishInitialization(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SYMBOL_PROPERTIES::OnInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_BOARD_STATISTICS::TransferDataToWindow(), and DIALOG_COLOR_PICKER::TransferDataToWindow().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( ) const
inlineinherited

Definition at line 49 of file kiway_holder.h.

49 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:79

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ 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 166 of file dialog_shim.cpp.

167 {
168  wxSize sz( x, 0 );
169  return ConvertDialogToPixels( sz ).x;
170 }

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 125 of file dialog_shim.h.

126  {
127  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
128  !e.ShiftDown() && !e.MetaDown();
129  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ IsQuasiModal()

◆ IsShiftCtrl()

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

Definition at line 131 of file dialog_shim.h.

132  {
133  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
134  e.ShiftDown() && !e.MetaDown();
135  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ 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 56 of file kiway_holder.h.

57  {
58  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
59  return *m_kiway;
60  }
KIWAY * m_kiway
Definition: kiway_holder.h:78

References KIWAY_HOLDER::m_kiway.

Referenced by PROJECT_TREE_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), CVPCB_MAINFRAME::BuildLibrariesListBox(), SYMBOL_EDIT_FRAME::canCloseWindow(), SCH_EDIT_FRAME::canCloseWindow(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_SYMBOL::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), CVPCB_MAINFRAME::DisplayStatus(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), BACK_ANNOTATE::FetchNetlistFromPCB(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), KICAD_MANAGER_FRAME::ImportNonKiCadProject(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), CVPCB_MAINFRAME::LoadFootprintFiles(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), PL_EDITOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), SYMBOL_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadFootprintFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), KIWAY_HOLDER::Prj(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), SYMBOL_EDIT_FRAME::Save(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), LIB_TREE_MODEL_ADAPTER::SavePinnedItems(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SetCrossProbeConnection(), SYMBOL_EDIT_FRAME::SetCurPart(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ OnAddField()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnAddField ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 463 of file dialog_lib_symbol_properties.cpp.

464 {
465  if( !m_grid->CommitPendingChanges() )
466  return;
467 
468  auto* settings = Pgm().GetSettingsManager().GetAppSettings<SYMBOL_EDITOR_SETTINGS>();
469  int fieldID = m_fields->size();
470  LIB_FIELD newField( m_libEntry, fieldID );
471 
472  newField.SetTextSize( wxSize( Mils2iu( settings->m_Defaults.text_size ),
473  Mils2iu( settings->m_Defaults.text_size ) ) );
474 
475  m_fields->push_back( newField );
476 
477  // notify the grid
478  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, 1 );
479  m_grid->ProcessTableMessage( msg );
480 
481  m_grid->MakeCellVisible( (int) m_fields->size() - 1, 0 );
482  m_grid->SetGridCursor( (int) m_fields->size() - 1, 0 );
483 
484  m_grid->EnableCellEditControl();
485  m_grid->ShowCellEditControl();
486 }
Field object used in symbol libraries.
Definition: lib_field.h:59
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:182
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields

References WX_GRID::CommitPendingChanges(), m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, m_libEntry, Pgm(), and EDA_TEXT::SetTextSize().

◆ OnAddFootprintFilter()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnAddFootprintFilter ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 613 of file dialog_lib_symbol_properties.cpp.

614 {
615  wxString filterLine;
616  WX_TEXT_ENTRY_DIALOG dlg( this, _( "Filter:" ), _( "Add Footprint Filter" ), filterLine );
617 
618  if( dlg.ShowModal() == wxID_CANCEL || dlg.GetValue().IsEmpty() )
619  return;
620 
621  filterLine = dlg.GetValue();
622  filterLine.Replace( wxT( " " ), wxT( "_" ) );
623 
624  // duplicate filters do no harm, so don't be a nanny.
625 
626  m_FootprintFilterListBox->Append( filterLine );
627  m_FootprintFilterListBox->SetSelection( (int) m_FootprintFilterListBox->GetCount() - 1 );
628 }
A KICAD version of wxTextEntryDialog which supports the various improvments/work-arounds from DIALOG_...
#define _(s)
Definition: 3d_actions.cpp:33

References _, WX_TEXT_ENTRY_DIALOG::GetValue(), and DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_FootprintFilterListBox.

Referenced by OnFilterDClick().

◆ OnCancelButtonClick()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnCancelButtonClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 605 of file dialog_lib_symbol_properties.cpp.

606 {
607  // Running the Footprint Browser gums up the works and causes the automatic cancel
608  // stuff to no longer work. So we do it here ourselves.
609  EndQuasiModal( wxID_CANCEL );
610 }
void EndQuasiModal(int retCode)

References DIALOG_SHIM::EndQuasiModal().

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in DIALOG_CHOOSE_SYMBOL, HK_PROMPT_DIALOG, DIALOG_TEXT_PROPERTIES, and HTML_MESSAGE_BOX.

Definition at line 536 of file dialog_shim.cpp.

537 {
538  if( aEvt.GetKeyCode() == 'U' && aEvt.GetModifiers() == wxMOD_CONTROL )
539  {
540  if( m_parentFrame )
541  {
543  return;
544  }
545  }
546  // shift-return (Mac default) or Ctrl-Return (GTK) for OK
547  else if( aEvt.GetKeyCode() == WXK_RETURN && ( aEvt.ShiftDown() || aEvt.ControlDown() ) )
548  {
549  wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
550  return;
551  }
552  else if( aEvt.GetKeyCode() == WXK_TAB && !aEvt.ControlDown() )
553  {
554  wxWindow* currentWindow = wxWindow::FindFocus();
555  int currentIdx = -1;
556  int delta = aEvt.ShiftDown() ? -1 : 1;
557 
558  auto advance = [&]( int& idx )
559  {
560  // Wrap-around modulus
561  int size = m_tabOrder.size();
562  idx = ( ( idx + delta ) % size + size ) % size;
563  };
564 
565  for( size_t i = 0; i < m_tabOrder.size(); ++i )
566  {
567  if( m_tabOrder[i] == currentWindow )
568  {
569  currentIdx = (int) i;
570  break;
571  }
572  }
573 
574  if( currentIdx >= 0 )
575  {
576  advance( currentIdx );
577 
578  //todo: We don't currently have non-textentry dialog boxes but this will break if
579  // we add them.
580 #ifdef __APPLE__
581  while( dynamic_cast<wxTextEntry*>( m_tabOrder[ currentIdx ] ) == nullptr )
582  advance( currentIdx );
583 #endif
584 
585  m_tabOrder[ currentIdx ]->SetFocus();
586  return;
587  }
588  }
589 
590  aEvt.Skip();
591 }
std::vector< wxWindow * > m_tabOrder
Definition: dialog_shim.h:219
EDA_BASE_FRAME * m_parentFrame
Definition: dialog_shim.h:217
virtual void ToggleUserUnits()

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

◆ OnDeleteField()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnDeleteField ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 489 of file dialog_lib_symbol_properties.cpp.

490 {
491  int curRow = m_grid->GetGridCursorRow();
492 
493  if( curRow < 0 )
494  {
495  return;
496  }
497  else if( curRow < MANDATORY_FIELDS )
498  {
499  DisplayError( this, wxString::Format( _( "The first %d fields are mandatory." ),
500  MANDATORY_FIELDS ) );
501  return;
502  }
503 
504  m_grid->CommitPendingChanges( true /* quiet mode */ );
505 
506  m_fields->erase( m_fields->begin() + curRow );
507 
508  // notify the grid
509  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_DELETED, curRow, 1 );
510  m_grid->ProcessTableMessage( msg );
511 
512  if( m_grid->GetNumberRows() > 0 )
513  {
514  m_grid->MakeCellVisible( std::max( 0, curRow-1 ), m_grid->GetGridCursorCol() );
515  m_grid->SetGridCursor( std::max( 0, curRow-1 ), m_grid->GetGridCursorCol() );
516  }
517 }
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:252
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:182
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
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
The first 4 are mandatory, and must be instantiated in SCH_COMPONENT and LIB_PART constructors.
#define _(s)
Definition: 3d_actions.cpp:33

References _, WX_GRID::CommitPendingChanges(), DisplayError(), Format(), m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, and MANDATORY_FIELDS.

◆ OnDeleteFootprintFilter()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnDeleteFootprintFilter ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 631 of file dialog_lib_symbol_properties.cpp.

632 {
633  int ii = m_FootprintFilterListBox->GetSelection();
634 
635  if( ii >= 0 )
636  {
637  m_FootprintFilterListBox->Delete( (unsigned) ii );
638 
639  if( m_FootprintFilterListBox->GetCount() == 0 )
640  m_FootprintFilterListBox->SetSelection( wxNOT_FOUND );
641  else
642  m_FootprintFilterListBox->SetSelection( std::max( 0, ii - 1 ) );
643  }
644 }

References DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_FootprintFilterListBox.

◆ OnEditFootprintFilter()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnEditFootprintFilter ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 647 of file dialog_lib_symbol_properties.cpp.

648 {
649  int idx = m_FootprintFilterListBox->GetSelection();
650 
651  if( idx >= 0 )
652  {
653  wxString filter = m_FootprintFilterListBox->GetStringSelection();
654 
655  WX_TEXT_ENTRY_DIALOG dlg( this, _( "Filter:" ), _( "Edit Footprint Filter" ), filter );
656 
657  if( dlg.ShowModal() == wxID_OK && !dlg.GetValue().IsEmpty() )
658  m_FootprintFilterListBox->SetString( (unsigned) idx, dlg.GetValue() );
659  }
660 }
A KICAD version of wxTextEntryDialog which supports the various improvments/work-arounds from DIALOG_...
#define _(s)
Definition: 3d_actions.cpp:33

References _, filter, WX_TEXT_ENTRY_DIALOG::GetValue(), and DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_FootprintFilterListBox.

Referenced by OnFilterDClick().

◆ OnEditSpiceModel()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnEditSpiceModel ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 564 of file dialog_lib_symbol_properties.cpp.

565 {
566 #ifdef KICAD_SPICE
567  int diff = m_fields->size();
568  auto cmp = SCH_COMPONENT( *m_libEntry, m_libEntry->GetLibId(), nullptr );
569 
570  DIALOG_SPICE_MODEL dialog( this, cmp, m_fields );
571 
572  if( dialog.ShowModal() != wxID_OK )
573  return;
574 
575  diff = (int) m_fields->size() - diff;
576 
577  if( diff > 0 )
578  {
579  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, diff );
580  m_grid->ProcessTableMessage( msg );
581  }
582  else if( diff < 0 )
583  {
584  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_DELETED, 0, -diff );
585  m_grid->ProcessTableMessage( msg );
586  }
587 
588  m_grid->ForceRefresh();
589 #endif /* KICAD_SPICE */
590 }
LIB_ID GetLibId() const override
Definition: lib_symbol.h:131
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
Schematic symbol object.
Definition: sch_symbol.h:78

References LIB_PART::GetLibId(), m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, and m_libEntry.

◆ OnFilterDClick()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnFilterDClick ( wxMouseEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 593 of file dialog_lib_symbol_properties.cpp.

594 {
595  int idx = m_FootprintFilterListBox->HitTest( event.GetPosition() );
596  wxCommandEvent dummy;
597 
598  if( idx >= 0 )
600  else
602 }
static LIB_PART * dummy()
Used to draw a dummy shape when a LIB_PART is not found in library.
Definition: sch_symbol.cpp:69
void OnEditFootprintFilter(wxCommandEvent &event) override
void OnAddFootprintFilter(wxCommandEvent &event) override

References dummy(), DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_FootprintFilterListBox, OnAddFootprintFilter(), and OnEditFootprintFilter().

◆ OnGridCellChanging()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnGridCellChanging ( wxGridEvent &  event)
private

Definition at line 404 of file dialog_lib_symbol_properties.cpp.

405 {
406  wxGridCellEditor* editor = m_grid->GetCellEditor( event.GetRow(), event.GetCol() );
407  wxControl* control = editor->GetControl();
408 
409  if( control && control->GetValidator() && !control->GetValidator()->Validate( control ) )
410  {
411  event.Veto();
412 
414  m_delayedFocusRow = event.GetRow();
415  m_delayedFocusColumn = event.GetCol();
416  m_delayedFocusPage = 0;
417  }
418  else if( event.GetCol() == FDC_NAME )
419  {
420  wxString newName = event.GetString();
421 
422  for( int i = 0; i < m_grid->GetNumberRows(); ++i )
423  {
424  if( i == event.GetRow() )
425  continue;
426 
427  if( newName.CmpNoCase( m_grid->GetCellValue( i, FDC_NAME ) ) == 0 )
428  {
429  DisplayError( this, wxString::Format( _( "The name '%s' is already in use." ),
430  newName ) );
431  event.Veto();
432  m_delayedFocusRow = event.GetRow();
433  m_delayedFocusColumn = event.GetCol();
434  }
435  }
436  }
437  else if( event.GetRow() == VALUE_FIELD && event.GetCol() == FDC_VALUE )
438  m_SymbolNameCtrl->ChangeValue( event.GetString() );
439 
440  editor->DecRef();
441 }
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:252
Field Value of part, i.e. "3.3K".
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
#define _(s)
Definition: 3d_actions.cpp:33

References _, DisplayError(), editor, FDC_NAME, FDC_VALUE, Format(), m_delayedFocusColumn, m_delayedFocusGrid, m_delayedFocusPage, m_delayedFocusRow, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SymbolNameCtrl, and VALUE_FIELD.

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

◆ OnMoveDown()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnMoveDown ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 542 of file dialog_lib_symbol_properties.cpp.

543 {
544  if( !m_grid->CommitPendingChanges() )
545  return;
546 
547  int i = m_grid->GetGridCursorRow();
548 
549  if( i >= MANDATORY_FIELDS && i + 1 < m_fields->GetNumberRows() )
550  {
551  LIB_FIELD tmp = m_fields->at( (unsigned) i );
552  m_fields->erase( m_fields->begin() + i, m_fields->begin() + i + 1 );
553  m_fields->insert( m_fields->begin() + i + 1, tmp );
554  m_grid->ForceRefresh();
555 
556  m_grid->SetGridCursor( i + 1, m_grid->GetGridCursorCol() );
557  m_grid->MakeCellVisible( m_grid->GetGridCursorRow(), m_grid->GetGridCursorCol() );
558  }
559  else
560  wxBell();
561 }
int GetNumberRows() override
Field object used in symbol libraries.
Definition: lib_field.h:59
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:182
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
The first 4 are mandatory, and must be instantiated in SCH_COMPONENT and LIB_PART constructors.

References WX_GRID::CommitPendingChanges(), FIELDS_GRID_TABLE< T >::GetNumberRows(), m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, and MANDATORY_FIELDS.

◆ OnMoveUp()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnMoveUp ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 520 of file dialog_lib_symbol_properties.cpp.

521 {
522  if( !m_grid->CommitPendingChanges() )
523  return;
524 
525  int i = m_grid->GetGridCursorRow();
526 
527  if( i > MANDATORY_FIELDS )
528  {
529  LIB_FIELD tmp = m_fields->at( (unsigned) i );
530  m_fields->erase( m_fields->begin() + i, m_fields->begin() + i + 1 );
531  m_fields->insert( m_fields->begin() + i - 1, tmp );
532  m_grid->ForceRefresh();
533 
534  m_grid->SetGridCursor( i - 1, m_grid->GetGridCursorCol() );
535  m_grid->MakeCellVisible( m_grid->GetGridCursorRow(), m_grid->GetGridCursorCol() );
536  }
537  else
538  wxBell();
539 }
Field object used in symbol libraries.
Definition: lib_field.h:59
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:182
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
The first 4 are mandatory, and must be instantiated in SCH_COMPONENT and LIB_PART constructors.

References WX_GRID::CommitPendingChanges(), m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, and MANDATORY_FIELDS.

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 352 of file dialog_shim.cpp.

353 {
354  if( m_firstPaintEvent )
355  {
357 
358  selectAllInTextCtrls( GetChildren() );
359 
362  else
363  KIPLATFORM::UI::ForceFocus( this ); // Focus the dialog itself
364 
365  m_firstPaintEvent = false;
366  }
367 
368  event.Skip();
369 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:210
bool m_firstPaintEvent
Definition: dialog_shim.h:209
void ForceFocus(wxWindow *aWindow)
Pass the current focus to the window.
Definition: gtk/ui.cpp:44
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:68
static void selectAllInTextCtrls(wxWindowList &children)

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

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ onPowerCheckBox()

void DIALOG_LIB_SYMBOL_PROPERTIES::onPowerCheckBox ( wxCommandEvent &  aEvent)
overrideprotectedvirtual

◆ OnSizeGrid()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnSizeGrid ( wxSizeEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 757 of file dialog_lib_symbol_properties.cpp.

758 {
759  auto new_size = event.GetSize().GetX();
760 
761  if( new_size != m_width )
762  {
763  adjustGridColumns( event.GetSize().GetX() );
764  }
765 
766  // Always propagate a wxSizeEvent:
767  event.Skip();
768 }

References adjustGridColumns(), and m_width.

◆ OnSymbolNameKillFocus()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnSymbolNameKillFocus ( wxFocusEvent &  event)
overrideprivatevirtual

◆ OnSymbolNameText()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnSymbolNameText ( wxCommandEvent &  event)
overrideprivatevirtual

◆ OnUpdateUI()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnUpdateUI ( wxUpdateUIEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 681 of file dialog_lib_symbol_properties.cpp.

682 {
683  m_OptionPartsInterchangeable->Enable( m_SelNumberOfUnits->GetValue() > 1 );
685 
686  if( m_grid->IsCellEditControlShown() )
687  {
688  int row = m_grid->GetGridCursorRow();
689  int col = m_grid->GetGridCursorCol();
690 
691  if( row == VALUE_FIELD && col == FDC_VALUE )
692  {
693  wxGridCellEditor* editor = m_grid->GetCellEditor( row, col );
694  m_SymbolNameCtrl->ChangeValue( editor->GetValue() );
695  editor->DecRef();
696  }
697  }
698 
699  // Handle shown columns changes
700  wxString shownColumns = m_grid->GetShownColumns();
701 
702  if( shownColumns != m_shownColumns )
703  {
704  m_shownColumns = shownColumns;
705 
706  if( !m_grid->IsCellEditControlShown() )
707  adjustGridColumns( m_grid->GetRect().GetWidth() );
708  }
709 
710  // Handle a delayed focus. The delay allows us to:
711  // a) change focus when the error was triggered from within a killFocus handler
712  // b) show the correct notebook page in the background before the error dialog comes up
713  // when triggered from an OK or a notebook page change
714 
715  if( m_delayedFocusPage >= 0 && m_NoteBook->GetSelection() != m_delayedFocusPage )
716  {
717  m_NoteBook->SetSelection( (unsigned) m_delayedFocusPage );
718  m_delayedFocusPage = -1;
719  }
720 
721  if( !m_delayedErrorMessage.IsEmpty() )
722  {
723  // We will re-enter this routine when the error dialog is displayed, so make
724  // sure we don't keep putting up more dialogs.
725  wxString msg = m_delayedErrorMessage;
726  m_delayedErrorMessage = wxEmptyString;
727 
728  // Do not use DisplayErrorMessage(); it screws up window order on Mac
729  DisplayError( nullptr, msg );
730  }
731 
732  if( m_delayedFocusCtrl )
733  {
734  m_delayedFocusCtrl->SetFocus();
735 
736  if( auto textEntry = dynamic_cast<wxTextEntry*>( m_delayedFocusCtrl ) )
737  textEntry->SelectAll();
738 
739  m_delayedFocusCtrl = nullptr;
740  }
741  else if( m_delayedFocusGrid )
742  {
743  m_delayedFocusGrid->SetFocus();
746 
747  m_delayedFocusGrid->EnableCellEditControl( true );
748  m_delayedFocusGrid->ShowCellEditControl();
749 
750  m_delayedFocusGrid = nullptr;
751  m_delayedFocusRow = -1;
753  }
754 }
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:252
Field Value of part, i.e. "3.3K".
wxString GetShownColumns()
Get a tokenized string containing the shown column indexes.
Definition: wx_grid.cpp:110
void Enable(bool aEnable)
Enable/disable the label, widget and units label.

References adjustGridColumns(), DisplayError(), editor, UNIT_BINDER::Enable(), FDC_VALUE, WX_GRID::GetShownColumns(), m_delayedErrorMessage, m_delayedFocusColumn, m_delayedFocusCtrl, m_delayedFocusGrid, m_delayedFocusPage, m_delayedFocusRow, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_NoteBook, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_OptionPartsInterchangeable, m_pinNameOffset, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_PinsNameInsideButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SelNumberOfUnits, m_shownColumns, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SymbolNameCtrl, and VALUE_FIELD.

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Return a reference to the PROJECT associated with this KIWAY.

Definition at line 35 of file kiway_holder.cpp.

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

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

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_LIBRARY_MANAGER::addLibrary(), SYMBOL_EDIT_FRAME::addLibTableEntry(), SCH_EDIT_FRAME::AppendSchematic(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLibrariesListBox(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_PROPERTIES::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), 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_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), SYMBOL_VIEWER_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PL_DRAW_PANEL_GAL::DisplayWorksheet(), PCB_EDIT_FRAME::doAutoSave(), SCH_EDIT_FRAME::doAutoSave(), PCB_BASE_EDIT_FRAME::doCloseWindow(), FOOTPRINT_EDIT_FRAME::doCloseWindow(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), BOARD_EDITOR_CONTROL::ExportNetlist(), DIALOG_EXPORT_SVG::ExportSVGFile(), 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(), DIALOG_GENDRILL::GenDrillAndMapFiles(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), SYMBOL_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), SCH_BASE_FRAME::GetLibPart(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), KICAD_MANAGER_FRAME::GetProjectFileName(), 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(), EDA_DRAW_FRAME::LibraryFileBrowser(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_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(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::On3DModelCellChanged(), DIALOG_FOOTPRINT_PROPERTIES::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::OnAdd3DModel(), DIALOG_FOOTPRINT_PROPERTIES::OnAdd3DModel(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), 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(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_BOARD_SETUP::OnPageChange(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_BOM::OnRunGenerator(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), DIALOG_LABEL_EDITOR::onScintillaCharAdded(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_SCH_EDIT_ONE_FIELD::onScintillaCharAdded(), DIALOG_SPICE_MODEL::onSelectLibrary(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::OpenProjectFiles(), PANEL_PREV_3D::PANEL_PREV_3D(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_CONTROL::PasteFootprint(), SCH_BASE_FRAME::PickSymbolFromLibTree(), DIALOG_PLOT::Plot(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), 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(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_EDIT_FRAME::Save_File(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), SYMBOL_EDIT_FRAME::saveLibrary(), SYMBOL_EDIT_FRAME::savePartAs(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SIM_PLOT_FRAME::SaveSettings(), EDA_BASE_FRAME::SaveSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), PCB_BASE_FRAME::SelectLibrary(), SYMBOL_EDIT_FRAME::SelectLibraryFromList(), PCB_BASE_EDIT_FRAME::selectLibTable(), SYMBOL_EDIT_FRAME::selectSymLibTable(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), SYMBOL_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), SYMBOL_EDIT_FRAME::SetCurPart(), GERBVIEW_FRAME::SetPageSettings(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_SYMBOL::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), SYMBOL_VIEWER_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), SYMBOL_LIBRARY_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_EDIT_COMPONENTS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::~DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), 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 282 of file dialog_shim.cpp.

283 {
284  const char* hash_key;
285 
286  if( m_hash_key.size() )
287  {
288  // a special case like EDA_LIST_DIALOG, which has multiple uses.
289  hash_key = m_hash_key.c_str();
290  }
291  else
292  {
293  hash_key = typeid(*this).name();
294  }
295 
296  RECT_MAP::iterator it = class_map.find( hash_key );
297 
298  if( it == class_map.end() )
299  return;
300 
301  EDA_RECT rect = it->second;
302  rect.SetSize( 0, 0 );
303  class_map[ hash_key ] = rect;
304 }
std::string m_hash_key
Definition: dialog_shim.h:200
static RECT_MAP class_map
void SetSize(const wxSize &size)
Definition: eda_rect.h:139
Handle the component boundary box.
Definition: eda_rect.h:42

References class_map, DIALOG_SHIM::m_hash_key, and EDA_RECT::SetSize().

Referenced by 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 98 of file dialog_shim.h.

99  {
100  m_initialFocusTarget = aWindow;
101  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:210

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), 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_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_INSPECTION_REPORTER::DIALOG_INSPECTION_REPORTER(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), 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_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDA_VIEW_SWITCHER::EDA_VIEW_SWITCHER(), HK_PROMPT_DIALOG::HK_PROMPT_DIALOG(), DIALOG_EDIT_ONE_FIELD::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(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), SYMBOL_EDIT_FRAME::savePartAs(), DIALOG_RULE_AREA_PROPERTIES::TransferDataToWindow(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_COPPER_ZONE::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 42 of file kiway_holder.cpp.

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

References 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 187 of file dialog_shim.cpp.

188 {
189  wxDialog::SetPosition( aNewPosition );
190 
191  // Now update the stored position:
192  const char* hash_key;
193 
194  if( m_hash_key.size() )
195  {
196  // a special case like EDA_LIST_DIALOG, which has multiple uses.
197  hash_key = m_hash_key.c_str();
198  }
199  else
200  {
201  hash_key = typeid(*this).name();
202  }
203 
204  RECT_MAP::iterator it = class_map.find( hash_key );
205 
206  if( it == class_map.end() )
207  return;
208 
209  EDA_RECT rect = it->second;
210  rect.SetOrigin( aNewPosition );
211 
212  class_map[ hash_key ] = rect;
213 }
void SetPosition(wxString aStr, const wxString &aDefaultMeasurementUnit, int *aX, int *aY, const wxString &aActualConversion)
std::string m_hash_key
Definition: dialog_shim.h:200
void SetOrigin(const wxPoint &pos)
Definition: eda_rect.h:126
static RECT_MAP class_map
Handle the component boundary box.
Definition: eda_rect.h:42

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

Referenced by DIALOG_SCH_FIND::DIALOG_SCH_FIND(), and 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 159 of file dialog_shim.cpp.

160 {
161  wxSize sz( x, y );
162  SetSize( ConvertDialogToPixels( sz ) );
163 }

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

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 216 of file dialog_shim.cpp.

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

References class_map, EDA_RECT::GetPosition(), EDA_RECT::GetSize(), DIALOG_SHIM::m_hash_key, and DIALOG_SHIM::m_useCalculatedSize.

Referenced by FOOTPRINT_EDITOR_CONTROL::CheckFootprint(), 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(), POSITION_RELATIVE_TOOL::PositionRelative(), EE_INSPECTION_TOOL::PrevMarker(), DRC_TOOL::PrevMarker(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), EDA_VIEW_SWITCHER::Show(), DIALOG_PAD_PROPERTIES::Show(), DRC_TOOL::ShowDRCDialog(), EE_INSPECTION_TOOL::ShowERCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), HTML_MESSAGE_BOX::ShowModeless(), DIALOG_SHIM::ShowQuasiModal(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and SCH_EDIT_FRAME::UpdateHierarchyNavigator().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 395 of file dialog_shim.cpp.

396 {
397  // This is an exception safe way to zero a pointer before returning.
398  // Yes, even though DismissModal() clears this first normally, this is
399  // here in case there's an exception before the dialog is dismissed.
400  struct NULLER
401  {
402  void*& m_what;
403  NULLER( void*& aPtr ) : m_what( aPtr ) {}
404  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
405  } clear_this( (void*&) m_qmodal_loop );
406 
407  // release the mouse if it's currently captured as the window having it
408  // will be disabled when this dialog is shown -- but will still keep the
409  // capture making it impossible to do anything in the modal dialog itself
410  wxWindow* win = wxWindow::GetCapture();
411  if( win )
412  win->ReleaseMouse();
413 
414  // Get the optimal parent
415  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
416 
417  wxASSERT_MSG( !m_qmodal_parent_disabler,
418  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
419 
420  // quasi-modal: disable only my "optimal" parent
422 
423  // Apple in its infinite wisdom will raise a disabled window before even passing
424  // us the event, so we have no way to stop it. Instead, we must set an order on
425  // the windows so that the quasi-modal will be pushed in front of the disabled
426  // window when it is raised.
428 
429  Show( true );
430 
431  m_qmodal_showing = true;
432 
433  WX_EVENT_LOOP event_loop;
434 
435  m_qmodal_loop = &event_loop;
436 
437  event_loop.Run();
438 
439  m_qmodal_showing = false;
440 
441  return GetReturnCode();
442 }
bool m_qmodal_showing
Definition: dialog_shim.h:214
#define WX_EVENT_LOOP
Definition: kiway_player.h:43
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:212
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:215
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:42
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:62

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(), COMMON_CONTROL::ConfigurePaths(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_DRAWING_TOOLS::createNewText(), 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(), InvokeDialogEditComponentsLibId(), InvokeDialogRescueEach(), InvokeNonCopperZonesEditor(), 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::ShowDimensionPropertiesDialog(), PCB_EDIT_FRAME::ShowExchangeFootprintsDialog(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), and PCB_BASE_EDIT_FRAME::ShowTextPropertiesDialog().

◆ syncControlStates()

◆ TransferDataFromWindow()

bool DIALOG_LIB_SYMBOL_PROPERTIES::TransferDataFromWindow ( )
overrideprotected

Definition at line 295 of file dialog_lib_symbol_properties.cpp.

296 {
297  if( !wxDialog::TransferDataFromWindow() )
298  return false;
299 
300  if( !m_grid->CommitPendingChanges() )
301  return false;
302 
303  // We need to keep the name and the value the same at the moment!
304  wxString newName = m_fields->at( VALUE_FIELD ).GetText();
305  wxString oldName = m_libEntry->GetName();
306 
307  if( oldName != newName )
308  {
309  wxString libName = m_Parent->GetCurLib();
310 
311  if( m_Parent->GetLibManager().PartExists( newName, libName ) )
312  {
313  wxString msg;
314 
315  msg.Printf( _( "The name '%s' conflicts with an existing entry in the library '%s'." ),
316  newName, libName );
317  DisplayErrorMessage( this, msg );
318  return false;
319  }
320 
322  }
323  else
324  {
326  }
327 
328  // The Y axis for components in lib is from bottom to top while the screen axis is top
329  // to bottom: we must change the y coord sign when writing back to the library
330  for( size_t i = 0; i < m_fields->size(); ++i )
331  {
332  wxPoint pos = m_fields->at( i ).GetPosition();
333  pos.y = -pos.y;
334  m_fields->at( i ).SetPosition( pos );
335  m_fields->at( i ).SetId( i );
336  }
337 
339 
340  // Update the parent for inherited symbols
341  if( m_libEntry->IsAlias() )
342  {
343  wxString parentName = m_inheritanceSelectCombo->GetValue();
344 
345  // The parentName was verified to be non-empty in the Validator
346  wxString libName = m_Parent->GetCurLib();
347 
348  // Get the parent from the libManager based on the name set in the inheritance combo box.
349  LIB_PART* newParent = m_Parent->GetLibManager().GetAlias( parentName, libName );
350 
351  // Verify that the requested parent exists
352  wxCHECK( newParent, false );
353 
354  // Verify that the new parent is not an alias.
355  wxCHECK( !newParent->IsAlias(), false );
356 
357  m_libEntry->SetParent( newParent );
358  }
359 
360  // We need to keep the name and the value the same at the moment!
361  m_libEntry->SetName( newName );
362  m_libEntry->SetDescription( m_DescCtrl->GetValue() );
363  m_libEntry->SetKeyWords( m_KeywordCtrl->GetValue() );
366  m_libEntry->SetConversion( m_AsConvertButt->GetValue() );
367 
368  if( m_OptionPower->GetValue() )
369  m_libEntry->SetPower();
370  else
372 
375 
378 
379  if( m_PinsNameInsideButt->GetValue() )
380  {
381  int offset = KiROUND( (double) m_pinNameOffset.GetValue() );
382 
383  // We interpret an offset of 0 as "outside", so make sure it's non-zero
384  m_libEntry->SetPinNameOffset( offset == 0 ? 20 : offset );
385  }
386  else
387  {
388  m_libEntry->SetPinNameOffset( 0 ); // pin text outside the body (name is on the pin)
389  }
390 
392 
394 
395  // It's possible that the symbol being edited has no pins, in which case there may be no
396  // alternate body style objects causing #LIB_PART::HasCoversion() to always return false.
397  // This allows the user to edit the alternate body style just in case this condition occurs.
398  m_Parent->SetShowDeMorgan( m_AsConvertButt->GetValue() );
399 
400  return true;
401 }
void SetFPFilters(const wxArrayString &aFilters)
Definition: lib_symbol.h:177
LIB_PART * GetAlias(const wxString &aAlias, const wxString &aLibrary) const
Return either an alias of a working LIB_PART copy, or alias of the original part if there is no worki...
void SetPower()
Definition: lib_symbol.cpp:420
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
Definition: confirm.cpp:265
wxString GetName() const override
Definition: lib_symbol.h:129
void SetShowDeMorgan(bool show)
bool PartExists(const wxString &aAlias, const wxString &aLibrary) const
Return true if part with a specific alias exists in library (either original one or buffered).
void SetUnitCount(int aCount, bool aDuplicateDrawItems=true)
Set the units per part count.
void SetIncludeInBom(bool aIncludeInBom)
Set or clear the include in schematic bill of materials flag.
Definition: lib_symbol.h:580
wxString GetCurLib() const
The nickname of the current library being edited and empty string if none.
void UpdateAfterSymbolProperties(wxString *aOldName=nullptr)
void SetConversion(bool aSetConvert, bool aDuplicatePins=true)
Set or clear the alternate body style (DeMorgan) for the part.
Field Value of part, i.e. "3.3K".
int GetUnitCount() const override
For items with units, return the number of units.
void SaveCopyInUndoList(EDA_ITEM *aItem, UNDO_REDO aUndoType=UNDO_REDO::LIBEDIT, bool aAppend=false)
Create a copy of the current symbol, and save it in the undo list.
void SetDescription(const wxString &aDescription)
Definition: lib_symbol.h:136
SYMBOL_LIBRARY_MANAGER & GetLibManager()
void SetParent(LIB_PART *aParent=nullptr)
Definition: lib_symbol.cpp:325
Define a library symbol object.
Definition: lib_symbol.h:93
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:182
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
void SetShowPinNumbers(bool aShow)
Set or clear the pin number visibility flag.
Definition: lib_symbol.h:572
#define _(s)
Definition: 3d_actions.cpp:33
void SetKeyWords(const wxString &aKeyWords)
Definition: lib_symbol.h:149
bool IsAlias() const
Definition: lib_symbol.h:168
constexpr ret_type KiROUND(fp_type v)
Round a floating point number to an integer using "round halfway cases away from zero".
Definition: util.h:68
virtual long long int GetValue()
Return the current value in Internal Units.
virtual void SetName(const wxString &aName)
Definition: lib_symbol.cpp:314
void SetIncludeOnBoard(bool aIncludeOnBoard)
Set or clear include in board netlist flag.
Definition: lib_symbol.h:588
void SetShowPinNames(bool aShow)
Set or clear the pin name visibility flag.
Definition: lib_symbol.h:564
void SetPinNameOffset(int aOffset)
Set the offset in mils of the pin name text from the pin symbol.
Definition: lib_symbol.h:556
void SetFields(const std::vector< LIB_FIELD > &aFieldsList)
Overwrite all the existing fields in this symbol with fields supplied in aFieldsList.
Definition: lib_symbol.cpp:886
void LockUnits(bool aLockUnits)
Set interchangeable the property for part units.
Definition: lib_symbol.h:231
void SetNormal()
Definition: lib_symbol.cpp:438

References _, WX_GRID::CommitPendingChanges(), DisplayErrorMessage(), SYMBOL_LIBRARY_MANAGER::GetAlias(), SYMBOL_EDIT_FRAME::GetCurLib(), SYMBOL_EDIT_FRAME::GetLibManager(), LIB_PART::GetName(), LIB_PART::GetUnitCount(), UNIT_BINDER::GetValue(), LIB_PART::IsAlias(), KiROUND(), LIB_RENAME, LIB_PART::LockUnits(), DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_AsConvertButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_DescCtrl, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_excludeFromBoardCheckBox, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_excludeFromBomCheckBox, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_FootprintFilterListBox, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_inheritanceSelectCombo, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_KeywordCtrl, m_libEntry, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_OptionPartsInterchangeable, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_OptionPower, m_Parent, m_pinNameOffset, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_PinsNameInsideButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SelNumberOfUnits, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_ShowPinNameButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_ShowPinNumButt, SYMBOL_LIBRARY_MANAGER::PartExists(), SYMBOL_EDIT_FRAME::SaveCopyInUndoList(), LIB_PART::SetConversion(), LIB_PART::SetDescription(), LIB_PART::SetFields(), LIB_PART::SetFPFilters(), LIB_PART::SetIncludeInBom(), LIB_PART::SetIncludeOnBoard(), LIB_PART::SetKeyWords(), LIB_PART::SetName(), LIB_PART::SetNormal(), LIB_PART::SetParent(), LIB_PART::SetPinNameOffset(), LIB_PART::SetPower(), SYMBOL_EDIT_FRAME::SetShowDeMorgan(), LIB_PART::SetShowPinNames(), LIB_PART::SetShowPinNumbers(), LIB_PART::SetUnitCount(), SYMBOL_EDIT_FRAME::UpdateAfterSymbolProperties(), and VALUE_FIELD.

◆ TransferDataToWindow()

bool DIALOG_LIB_SYMBOL_PROPERTIES::TransferDataToWindow ( )
overrideprotected

Definition at line 147 of file dialog_lib_symbol_properties.cpp.

148 {
149  if( !wxDialog::TransferDataToWindow() )
150  return false;
151 
152  // Push a copy of each field into m_updateFields
154 
155  // The Y axis for components in lib is from bottom to top while the screen axis is top
156  // to bottom: we must change the y coord sign for editing
157  for( size_t i = 0; i < m_fields->size(); ++i )
158  {
159  wxPoint pos = m_fields->at( i ).GetPosition();
160  pos.y = -pos.y;
161  m_fields->at( i ).SetPosition( pos );
162  }
163 
164  // notify the grid
165  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, m_fields->GetNumberRows() );
166  m_grid->ProcessTableMessage( msg );
167  adjustGridColumns( m_grid->GetRect().GetWidth() );
168 
169  m_SymbolNameCtrl->ChangeValue( m_libEntry->GetName() );
170 
171  m_DescCtrl->ChangeValue( m_libEntry->GetDescription() );
172  m_KeywordCtrl->ChangeValue( m_libEntry->GetKeyWords() );
175  m_AsConvertButt->SetValue( m_libEntry->HasConversion() );
176  m_OptionPower->SetValue( m_libEntry->IsPower() );
179 
181  m_ShowPinNameButt->SetValue( m_libEntry->ShowPinNames() );
182  m_PinsNameInsideButt->SetValue( m_libEntry->GetPinNameOffset() != 0 );
184 
185  wxArrayString tmp = m_libEntry->GetFPFilters();
186  m_FootprintFilterListBox->Append( tmp );
187 
188  // Populate the list of root parts for inherited objects.
189  if( m_libEntry->IsAlias() )
190  {
191  wxArrayString rootSymbolNames;
192  wxString libName = m_Parent->GetCurLib();
193 
194  // Someone forgot to set the current library in the editor frame window.
195  wxCHECK( !libName.empty(), false );
196 
197  m_Parent->GetLibManager().GetRootSymbolNames( libName, rootSymbolNames );
198  m_inheritanceSelectCombo->Append( rootSymbolNames );
199 
200  PART_SPTR rootPart = m_libEntry->GetParent().lock();
201 
202  wxCHECK( rootPart, false );
203 
204  wxString parentName = rootPart->GetName();
205  int selection = m_inheritanceSelectCombo->FindString( parentName );
206 
207  wxCHECK( selection != wxNOT_FOUND, false );
208  m_inheritanceSelectCombo->SetSelection( selection );
209 
210  m_lastOpenedPage = 0;
211  }
212 
213  m_NoteBook->SetSelection( (unsigned) m_lastOpenedPage );
214 
215  return true;
216 }
void GetRootSymbolNames(const wxString &aLibName, wxArrayString &aRootSymbolNames)
int GetNumberRows() override
wxString GetName() const override
Definition: lib_symbol.h:129
bool HasConversion() const
Test if part has more than one body conversion type (DeMorgan).
wxArrayString GetFPFilters() const
Definition: lib_symbol.h:179
std::shared_ptr< LIB_PART > PART_SPTR
shared pointer to LIB_PART
Definition: lib_symbol.h:42
wxString GetKeyWords() const
Definition: lib_symbol.h:151
wxString GetCurLib() const
The nickname of the current library being edited and empty string if none.
int GetUnitCount() const override
For items with units, return the number of units.
SYMBOL_LIBRARY_MANAGER & GetLibManager()
PART_REF & GetParent()
Definition: lib_symbol.h:120
void GetFields(std::vector< LIB_FIELD * > &aList)
Return a list of fields within this part.
Definition: lib_symbol.cpp:903
wxString GetDescription() override
Definition: lib_symbol.h:138
int GetPinNameOffset() const
Definition: lib_symbol.h:557
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
bool IsPower() const
Definition: lib_symbol.cpp:411
bool ShowPinNumbers() const
Definition: lib_symbol.h:573
bool IsAlias() const
Definition: lib_symbol.h:168
bool GetIncludeOnBoard() const
Definition: lib_symbol.h:589
bool GetIncludeInBom() const
Definition: lib_symbol.h:581
bool ShowPinNames() const
Definition: lib_symbol.h:565
bool UnitsLocked() const
Check whether part units are interchangeable.
Definition: lib_symbol.h:237
virtual void ChangeValue(int aValue)
Change the value (in Internal Units) for the text field, taking care of units conversion but does not...

References adjustGridColumns(), UNIT_BINDER::ChangeValue(), SYMBOL_EDIT_FRAME::GetCurLib(), LIB_PART::GetDescription(), LIB_PART::GetFields(), LIB_PART::GetFPFilters(), LIB_PART::GetIncludeInBom(), LIB_PART::GetIncludeOnBoard(), LIB_PART::GetKeyWords(), SYMBOL_EDIT_FRAME::GetLibManager(), LIB_PART::GetName(), FIELDS_GRID_TABLE< T >::GetNumberRows(), LIB_PART::GetParent(), LIB_PART::GetPinNameOffset(), SYMBOL_LIBRARY_MANAGER::GetRootSymbolNames(), LIB_PART::GetUnitCount(), LIB_PART::HasConversion(), LIB_PART::IsAlias(), LIB_PART::IsPower(), DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_AsConvertButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_DescCtrl, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_excludeFromBoardCheckBox, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_excludeFromBomCheckBox, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_FootprintFilterListBox, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_inheritanceSelectCombo, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_KeywordCtrl, m_lastOpenedPage, m_libEntry, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_NoteBook, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_OptionPartsInterchangeable, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_OptionPower, m_Parent, m_pinNameOffset, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_PinsNameInsideButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SelNumberOfUnits, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_ShowPinNameButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_ShowPinNumButt, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SymbolNameCtrl, LIB_PART::ShowPinNames(), LIB_PART::ShowPinNumbers(), and LIB_PART::UnitsLocked().

◆ Validate()

bool DIALOG_LIB_SYMBOL_PROPERTIES::Validate ( )
overrideprotected

Definition at line 219 of file dialog_lib_symbol_properties.cpp.

220 {
221  if( !m_grid->CommitPendingChanges() )
222  return false;
223 
224  // Alias symbol reference can be empty because it inherits from the parent symbol.
225  if( m_libEntry->IsRoot() &&
227  {
228  if( m_NoteBook->GetSelection() != 0 )
229  m_NoteBook->SetSelection( 0 );
230 
231  m_delayedErrorMessage = _( "References must start with a letter." );
235  m_delayedFocusPage = 0;
236 
237  return false;
238  }
239 
240  // Check for missing field names.
241  for( size_t i = MANDATORY_FIELDS; i < m_fields->size(); ++i )
242  {
243  LIB_FIELD& field = m_fields->at( i );
244  wxString fieldName = field.GetName( false );
245 
246  if( fieldName.IsEmpty() )
247  {
248  if( m_NoteBook->GetSelection() != 0 )
249  m_NoteBook->SetSelection( 0 );
250 
251  m_delayedErrorMessage = _( "Fields must have a name." );
254  m_delayedFocusRow = i;
255  m_delayedFocusPage = 0;
256 
257  return false;
258  }
259  }
260 
261  // Verify that the parent name is set if the symbol is inherited
262  if( m_libEntry->IsAlias() )
263  {
264  wxString parentName = m_inheritanceSelectCombo->GetValue();
265 
266  if( parentName.IsEmpty() )
267  {
268  m_delayedErrorMessage = _( "Aliased symbol must have a parent selected" );
269 
270  return false;
271  }
272  }
273 
274  if( m_SelNumberOfUnits->GetValue() < m_libEntry->GetUnitCount() )
275  {
276  if( !IsOK( this, _( "Delete extra units from symbol?" ) ) )
277  return false;
278  }
279 
280  if( m_AsConvertButt->GetValue() && !m_libEntry->HasConversion() )
281  {
282  if( !IsOK( this, _( "Add new pins for alternate body style (DeMorgan) to symbol?" ) ) )
283  return false;
284  }
285  else if( !m_AsConvertButt->GetValue() && m_libEntry->HasConversion() )
286  {
287  if( !IsOK( this, _( "Delete alternate body style (DeMorgan) draw items from symbol?" ) ) )
288  return false;
289  }
290 
291  return true;
292 }
Field Reference of part, i.e. "IC21".
bool HasConversion() const
Test if part has more than one body conversion type (DeMorgan).
Field object used in symbol libraries.
Definition: lib_field.h:59
wxString GetName(bool aUseDefaultName=true) const
Returns the field name.
Definition: lib_field.cpp:364
int GetUnitCount() const override
For items with units, return the number of units.
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:182
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
The first 4 are mandatory, and must be instantiated in SCH_COMPONENT and LIB_PART constructors.
#define _(s)
Definition: 3d_actions.cpp:33
bool IsAlias() const
Definition: lib_symbol.h:168
bool IsRoot() const override
For symbols derived from other symbols, IsRoot() indicates no derivation.
Definition: lib_symbol.h:167
static bool IsReferenceStringValid(const wxString &aReferenceString)
Test for an acceptable reference string.
Definition: sch_symbol.cpp:465
bool IsOK(wxWindow *aParent, const wxString &aMessage)
Display a yes/no dialog with aMessage and returns the user response.
Definition: confirm.cpp:296

References _, WX_GRID::CommitPendingChanges(), FDC_NAME, FDC_VALUE, LIB_FIELD::GetName(), LIB_PART::GetUnitCount(), LIB_PART::HasConversion(), LIB_PART::IsAlias(), IsOK(), SCH_COMPONENT::IsReferenceStringValid(), LIB_PART::IsRoot(), DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_AsConvertButt, m_delayedErrorMessage, m_delayedFocusColumn, m_delayedFocusGrid, m_delayedFocusPage, m_delayedFocusRow, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_inheritanceSelectCombo, m_libEntry, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_NoteBook, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SelNumberOfUnits, 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 173 of file dialog_shim.cpp.

174 {
175  wxSize sz( 0, y );
176  return ConvertDialogToPixels( sz ).y;
177 }

Referenced by DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

Member Data Documentation

◆ bButtonSize

wxBoxSizer* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::bButtonSize
protectedinherited

◆ bSizerLowerBasicPanel

wxBoxSizer* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::bSizerLowerBasicPanel
protectedinherited

◆ m_addFilterButton

wxBitmapButton* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_addFilterButton
protectedinherited

◆ m_AsConvertButt

wxCheckBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_AsConvertButt
protectedinherited

◆ m_bpAdd

◆ m_bpDelete

◆ m_bpMoveDown

◆ m_bpMoveUp

◆ m_delayedErrorMessage

wxString DIALOG_LIB_SYMBOL_PROPERTIES::m_delayedErrorMessage

Definition at line 85 of file dialog_lib_symbol_properties.h.

Referenced by OnUpdateUI(), and Validate().

◆ m_delayedFocusColumn

int DIALOG_LIB_SYMBOL_PROPERTIES::m_delayedFocusColumn

Definition at line 83 of file dialog_lib_symbol_properties.h.

Referenced by OnGridCellChanging(), OnUpdateUI(), and Validate().

◆ m_delayedFocusCtrl

wxControl* DIALOG_LIB_SYMBOL_PROPERTIES::m_delayedFocusCtrl

Definition at line 80 of file dialog_lib_symbol_properties.h.

Referenced by OnSymbolNameKillFocus(), and OnUpdateUI().

◆ m_delayedFocusGrid

WX_GRID* DIALOG_LIB_SYMBOL_PROPERTIES::m_delayedFocusGrid

Definition at line 81 of file dialog_lib_symbol_properties.h.

Referenced by OnGridCellChanging(), OnUpdateUI(), and Validate().

◆ m_delayedFocusPage

int DIALOG_LIB_SYMBOL_PROPERTIES::m_delayedFocusPage

◆ m_delayedFocusRow

int DIALOG_LIB_SYMBOL_PROPERTIES::m_delayedFocusRow

Definition at line 82 of file dialog_lib_symbol_properties.h.

Referenced by OnGridCellChanging(), OnUpdateUI(), and Validate().

◆ m_deleteFilterButton

wxBitmapButton* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_deleteFilterButton
protectedinherited

◆ m_DescCtrl

wxTextCtrl* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_DescCtrl
protectedinherited

◆ m_editFilterButton

wxBitmapButton* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_editFilterButton
protectedinherited

◆ m_excludeFromBoardCheckBox

wxCheckBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_excludeFromBoardCheckBox
protectedinherited

◆ m_excludeFromBomCheckBox

wxCheckBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_excludeFromBomCheckBox
protectedinherited

◆ m_fields

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 209 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_FootprintFilterListBox

◆ m_grid

◆ m_hash_key

◆ m_inheritanceSelectCombo

wxComboBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_inheritanceSelectCombo
protectedinherited

◆ m_inheritsStaticText

wxStaticText* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_inheritsStaticText
protectedinherited

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 210 of file dialog_shim.h.

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

◆ m_KeywordCtrl

wxTextCtrl* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_KeywordCtrl
protectedinherited

◆ m_lastLayout

DIALOG_LIB_SYMBOL_PROPERTIES::LAST_LAYOUT DIALOG_LIB_SYMBOL_PROPERTIES::m_lastLayout = DIALOG_LIB_SYMBOL_PROPERTIES::NONE
staticprivate

Definition at line 99 of file dialog_lib_symbol_properties.h.

Referenced by DIALOG_LIB_SYMBOL_PROPERTIES().

◆ m_lastOpenedPage

int DIALOG_LIB_SYMBOL_PROPERTIES::m_lastOpenedPage = 0
staticprivate

◆ m_libEntry

LIB_PART* DIALOG_LIB_SYMBOL_PROPERTIES::m_libEntry

◆ m_nameOffsetCtrl

wxTextCtrl* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_nameOffsetCtrl
protectedinherited

◆ m_nameOffsetLabel

wxStaticText* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_nameOffsetLabel
protectedinherited

◆ m_nameOffsetUnits

wxStaticText* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_nameOffsetUnits
protectedinherited

◆ m_NoteBook

wxNotebook* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_NoteBook
protectedinherited

◆ m_OptionPartsInterchangeable

wxCheckBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_OptionPartsInterchangeable
protectedinherited

◆ m_OptionPower

◆ m_PanelBasic

wxPanel* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_PanelBasic
protectedinherited

◆ m_PanelFootprintFilter

wxPanel* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_PanelFootprintFilter
protectedinherited

◆ m_Parent

SYMBOL_EDIT_FRAME* DIALOG_LIB_SYMBOL_PROPERTIES::m_Parent

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

Definition at line 217 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnCharHook().

◆ m_pinNameOffset

UNIT_BINDER DIALOG_LIB_SYMBOL_PROPERTIES::m_pinNameOffset

◆ m_PinsNameInsideButt

wxCheckBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_PinsNameInsideButt
protectedinherited

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 212 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 214 of file dialog_shim.h.

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

◆ m_SelNumberOfUnits

wxSpinCtrl* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_SelNumberOfUnits
protectedinherited

◆ m_shownColumns

wxString DIALOG_LIB_SYMBOL_PROPERTIES::m_shownColumns

Definition at line 87 of file dialog_lib_symbol_properties.h.

Referenced by OnUpdateUI().

◆ m_ShowPinNameButt

wxCheckBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_ShowPinNameButt
protectedinherited

◆ m_ShowPinNumButt

wxCheckBox* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_ShowPinNumButt
protectedinherited

◆ m_spiceFieldsButton

◆ m_staticTextFootprints

wxStaticText* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_staticTextFootprints
protectedinherited

◆ m_staticTextNbUnits

wxStaticText* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_staticTextNbUnits
protectedinherited

◆ m_stdSizerButton

wxStdDialogButtonSizer* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_stdSizerButton
protectedinherited

◆ m_stdSizerButtonCancel

wxButton* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_stdSizerButtonCancel
protectedinherited

◆ m_stdSizerButtonOK

wxButton* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_stdSizerButtonOK
protectedinherited

◆ m_SymbolNameCtrl

◆ m_tabOrder

◆ m_units

◆ m_useCalculatedSize

bool DIALOG_SHIM::m_useCalculatedSize
protectedinherited

◆ m_width

int DIALOG_LIB_SYMBOL_PROPERTIES::m_width

Definition at line 88 of file dialog_lib_symbol_properties.h.

Referenced by adjustGridColumns(), and OnSizeGrid().

◆ staticKeywordsLabel

wxStaticText* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::staticKeywordsLabel
protectedinherited

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