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_SYMBOL *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_SYMBOLm_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
 
wxSize m_initialSize
 

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 39 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_SYMBOL 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
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() && !aParent->IsSymbolFromSchematic() )
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  nullptr, 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:136
SYMBOL_EDITOR_SETTINGS * GetSettings() const
bool IsAlias() const
Definition: lib_symbol.h: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:72
name of datasheet
Field Value of part, i.e. "3.3K".
#define _(s)
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
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...
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:171
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(), SYMBOL_EDIT_FRAME::GetSettings(), LIB_SYMBOL::IsAlias(), LIB_SYMBOL::IsRoot(), SYMBOL_EDIT_FRAME::IsSymbolFromLegacyLibrary(), SYMBOL_EDIT_FRAME::IsSymbolFromSchematic(), 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, SYMBOL_EDITOR_SETTINGS::m_EditSymbolVisibleColumns, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, m_lastLayout, m_libEntry, m_Parent, 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, OnGridCellChanging(), PARENT, 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 
134 
135  // Prevents crash bug in wxGrid's d'tor
137 
138  m_grid->Disconnect( wxEVT_GRID_CELL_CHANGING,
140  nullptr, this );
141 
142  // Delete the GRID_TRICKS.
143  m_grid->PopEventHandler( true );
144 }
SYMBOL_EDITOR_SETTINGS * GetSettings() const
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:104
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
wxString GetShownColumns()
Get a tokenized string containing the shown column indexes.
Definition: wx_grid.cpp:117

References WX_GRID::DestroyTable(), SYMBOL_EDIT_FRAME::GetSettings(), WX_GRID::GetShownColumns(), SYMBOL_EDITOR_SETTINGS::m_EditSymbolVisibleColumns, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, m_lastOpenedPage, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_NoteBook, m_Parent, and OnGridCellChanging().

Member Function Documentation

◆ adjustGridColumns()

void DIALOG_LIB_SYMBOL_PROPERTIES::adjustGridColumns ( int  aWidth)
private

Definition at line 672 of file dialog_lib_symbol_properties.cpp.

673 {
674  m_width = aWidth;
675 
676  // Account for scroll bars
677  aWidth -= ( m_grid->GetSize().x - m_grid->GetClientSize().x );
678 
679  m_grid->AutoSizeColumn( FDC_NAME );
680 
681  int fixedColsWidth = m_grid->GetColSize( FDC_NAME );
682 
683  for( int i = 2; i < m_grid->GetNumberCols(); i++ )
684  fixedColsWidth += m_grid->GetColSize( i );
685 
686  m_grid->SetColSize( FDC_VALUE, aWidth - fixedColsWidth );
687 }

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

313 {
314  // so we can do logging of this state change:
315  return wxDialog::Enable( enable );
316 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 473 of file dialog_shim.cpp.

474 {
475  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
476  // handle validation in the same way as other dialogs.
477  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
478  return;
479 
480  SetReturnCode( retCode );
481 
482  if( !IsQuasiModal() )
483  {
484  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
485  "wasn't called" );
486  return;
487  }
488 
489  if( m_qmodal_loop )
490  {
491  if( m_qmodal_loop->IsRunning() )
492  m_qmodal_loop->Exit( 0 );
493  else
494  m_qmodal_loop->ScheduleExit( 0 );
495 
496  m_qmodal_loop = nullptr;
497  }
498 
500  m_qmodal_parent_disabler = nullptr;
501 
502  Show( false );
503 }
bool IsQuasiModal() const
Definition: dialog_shim.h:106
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:211
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:214

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

Referenced by NETLIST_DIALOG::OnAddGenerator(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_SYMBOLS_LIBID::onCancel(), OnCancelButtonClick(), DIALOG_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), NETLIST_DIALOG::OnDelGenerator(), DIALOG_SYMBOL_PROPERTIES::OnEditLibrarySymbol(), DIALOG_SYMBOL_PROPERTIES::OnEditSymbol(), DIALOG_SYMBOL_PROPERTIES::OnExchangeSymbol(), PCB_ONE_LAYER_SELECTOR::OnLeftGridCellClick(), PCB_ONE_LAYER_SELECTOR::OnRightGridCellClick(), DIALOG_SYMBOL_PROPERTIES::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 151 of file dialog_shim.cpp.

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

Referenced by 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_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_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_NEW_SYMBOL::DIALOG_LIB_NEW_SYMBOL(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_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_SELECT_3DMODEL::DIALOG_SELECT_3DMODEL(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_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(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), PAGED_DIALOG::finishInitialization(), DIALOG_FIELD_PROPERTIES::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 46 of file kiway_holder.h.

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

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

170 {
171  wxSize sz( x, 0 );
172  return ConvertDialogToPixels( sz ).x;
173 }

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

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

◆ IsQuasiModal()

◆ IsShiftCtrl()

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

Definition at line 130 of file dialog_shim.h.

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

◆ 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  }
KIWAY * m_kiway
Definition: kiway_holder.h:75

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(), 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(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), BACK_ANNOTATE::FetchNetlistFromPCB(), KICAD_MANAGER_FRAME::ImportNonKiCadProject(), SCRIPTING_TOOL::Init(), EDA_DRAW_FRAME::IsScriptingConsoleVisible(), 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(), 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_FIELD_PROPERTIES::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(), FOOTPRINT_WIZARD_FRAME::PythonPluginsReload(), 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(), EDA_DRAW_FRAME::ScriptingConsoleEnableDisable(), 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::SetCurSymbol(), 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 468 of file dialog_lib_symbol_properties.cpp.

469 {
470  if( !m_grid->CommitPendingChanges() )
471  return;
472 
474  int fieldID = m_fields->size();
475  LIB_FIELD newField( m_libEntry, fieldID );
476 
477  newField.SetTextSize( wxSize( Mils2iu( settings->m_Defaults.text_size ),
478  Mils2iu( settings->m_Defaults.text_size ) ) );
479 
480  m_fields->push_back( newField );
481 
482  // notify the grid
483  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, 1 );
484  m_grid->ProcessTableMessage( msg );
485 
486  m_grid->MakeCellVisible( (int) m_fields->size() - 1, 0 );
487  m_grid->SetGridCursor( (int) m_fields->size() - 1, 0 );
488 
489  m_grid->EnableCellEditControl();
490  m_grid->ShowCellEditControl();
491 }
SYMBOL_EDITOR_SETTINGS * GetSettings() const
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:190
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields

References WX_GRID::CommitPendingChanges(), SYMBOL_EDIT_FRAME::GetSettings(), SYMBOL_EDITOR_SETTINGS::m_Defaults, m_fields, DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_grid, m_libEntry, m_Parent, EDA_TEXT::SetTextSize(), and SYMBOL_EDITOR_SETTINGS::DEFAULTS::text_size.

◆ OnAddFootprintFilter()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnAddFootprintFilter ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 622 of file dialog_lib_symbol_properties.cpp.

623 {
624  wxString filterLine;
625  WX_TEXT_ENTRY_DIALOG dlg( this, _( "Filter:" ), _( "Add Footprint Filter" ), filterLine );
626 
627  if( dlg.ShowModal() == wxID_CANCEL || dlg.GetValue().IsEmpty() )
628  return;
629 
630  filterLine = dlg.GetValue();
631  filterLine.Replace( wxT( " " ), wxT( "_" ) );
632 
633  // duplicate filters do no harm, so don't be a nanny.
634 
635  m_FootprintFilterListBox->Append( filterLine );
636  m_FootprintFilterListBox->SetSelection( (int) m_FootprintFilterListBox->GetCount() - 1 );
637 }
A KICAD version of wxTextEntryDialog which supports the various improvements/work-arounds from DIALOG...
#define _(s)

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 614 of file dialog_lib_symbol_properties.cpp.

615 {
616  // Running the Footprint Browser gums up the works and causes the automatic cancel
617  // stuff to no longer work. So we do it here ourselves.
618  EndQuasiModal( wxID_CANCEL );
619 }
void EndQuasiModal(int retCode)

References DIALOG_SHIM::EndQuasiModal().

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in DIALOG_CHOOSE_SYMBOL, HK_PROMPT_DIALOG, and HTML_MESSAGE_BOX.

Definition at line 563 of file dialog_shim.cpp.

564 {
565  if( aEvt.GetKeyCode() == 'U' && aEvt.GetModifiers() == wxMOD_CONTROL )
566  {
567  if( m_parentFrame )
568  {
570  return;
571  }
572  }
573  // shift-return (Mac default) or Ctrl-Return (GTK) for OK
574  else if( aEvt.GetKeyCode() == WXK_RETURN && ( aEvt.ShiftDown() || aEvt.ControlDown() ) )
575  {
576  wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
577  return;
578  }
579  else if( aEvt.GetKeyCode() == WXK_TAB && !aEvt.ControlDown() )
580  {
581  wxWindow* currentWindow = wxWindow::FindFocus();
582  int currentIdx = -1;
583  int delta = aEvt.ShiftDown() ? -1 : 1;
584 
585  auto advance = [&]( int& idx )
586  {
587  // Wrap-around modulus
588  int size = m_tabOrder.size();
589  idx = ( ( idx + delta ) % size + size ) % size;
590  };
591 
592  for( size_t i = 0; i < m_tabOrder.size(); ++i )
593  {
594  if( m_tabOrder[i] == currentWindow )
595  {
596  currentIdx = (int) i;
597  break;
598  }
599  }
600 
601  if( currentIdx >= 0 )
602  {
603  advance( currentIdx );
604 
605  //todo: We don't currently have non-textentry dialog boxes but this will break if
606  // we add them.
607 #ifdef __APPLE__
608  while( dynamic_cast<wxTextEntry*>( m_tabOrder[ currentIdx ] ) == nullptr )
609  advance( currentIdx );
610 #endif
611 
612  m_tabOrder[ currentIdx ]->SetFocus();
613  return;
614  }
615  }
616 
617  aEvt.Skip();
618 }
std::vector< wxWindow * > m_tabOrder
Definition: dialog_shim.h:218
EDA_BASE_FRAME * m_parentFrame
Definition: dialog_shim.h:216
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(), and DIALOG_TEXT_PROPERTIES::~DIALOG_TEXT_PROPERTIES().

◆ OnDeleteField()

void DIALOG_LIB_SYMBOL_PROPERTIES::OnDeleteField ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_LIB_SYMBOL_PROPERTIES_BASE.

Definition at line 494 of file dialog_lib_symbol_properties.cpp.

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

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 640 of file dialog_lib_symbol_properties.cpp.

641 {
642  int ii = m_FootprintFilterListBox->GetSelection();
643 
644  if( ii >= 0 )
645  {
646  m_FootprintFilterListBox->Delete( (unsigned) ii );
647 
648  if( m_FootprintFilterListBox->GetCount() == 0 )
649  m_FootprintFilterListBox->SetSelection( wxNOT_FOUND );
650  else
651  m_FootprintFilterListBox->SetSelection( std::max( 0, ii - 1 ) );
652  }
653 }

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 656 of file dialog_lib_symbol_properties.cpp.

657 {
658  int idx = m_FootprintFilterListBox->GetSelection();
659 
660  if( idx >= 0 )
661  {
662  wxString filter = m_FootprintFilterListBox->GetStringSelection();
663 
664  WX_TEXT_ENTRY_DIALOG dlg( this, _( "Filter:" ), _( "Edit Footprint Filter" ), filter );
665 
666  if( dlg.ShowModal() == wxID_OK && !dlg.GetValue().IsEmpty() )
667  m_FootprintFilterListBox->SetString( (unsigned) idx, dlg.GetValue() );
668  }
669 }
A KICAD version of wxTextEntryDialog which supports the various improvements/work-arounds from DIALOG...
#define _(s)

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 573 of file dialog_lib_symbol_properties.cpp.

574 {
575 #ifdef KICAD_SPICE
576  int diff = m_fields->size();
577  auto symbol = SCH_SYMBOL( *m_libEntry, m_libEntry->GetLibId(), nullptr );
578 
579  DIALOG_SPICE_MODEL dialog( this, symbol, m_fields );
580 
581  if( dialog.ShowModal() != wxID_OK )
582  return;
583 
584  diff = (int) m_fields->size() - diff;
585 
586  if( diff > 0 )
587  {
588  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, diff );
589  m_grid->ProcessTableMessage( msg );
590  }
591  else if( diff < 0 )
592  {
593  wxGridTableMessage msg( m_fields, wxGRIDTABLE_NOTIFY_ROWS_DELETED, 0, -diff );
594  m_grid->ProcessTableMessage( msg );
595  }
596 
597  m_grid->ForceRefresh();
598 #endif /* KICAD_SPICE */
599 }
LIB_ID GetLibId() const override
Definition: lib_symbol.h:135
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
Schematic symbol object.
Definition: sch_symbol.h:78

References LIB_SYMBOL::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 602 of file dialog_lib_symbol_properties.cpp.

603 {
604  int idx = m_FootprintFilterListBox->HitTest( event.GetPosition() );
605  wxCommandEvent dummy;
606 
607  if( idx >= 0 )
609  else
611 }
static LIB_SYMBOL * dummy()
Used to draw a dummy shape when a LIB_SYMBOL is not found in library.
Definition: sch_symbol.cpp:72
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 407 of file dialog_lib_symbol_properties.cpp.

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

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 549 of file dialog_lib_symbol_properties.cpp.

550 {
551  if( !m_grid->CommitPendingChanges() )
552  return;
553 
554  int i = m_grid->GetGridCursorRow();
555 
556  if( i >= MANDATORY_FIELDS && i + 1 < m_fields->GetNumberRows() )
557  {
558  LIB_FIELD tmp = m_fields->at( (unsigned) i );
559  m_fields->erase( m_fields->begin() + i, m_fields->begin() + i + 1 );
560  m_fields->insert( m_fields->begin() + i + 1, tmp );
561  m_grid->ForceRefresh();
562 
563  m_grid->SetGridCursor( i + 1, m_grid->GetGridCursorCol() );
564  m_grid->MakeCellVisible( m_grid->GetGridCursorRow(), m_grid->GetGridCursorCol() );
565  }
566  else
567  {
568  wxBell();
569  }
570 }
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:190
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 525 of file dialog_lib_symbol_properties.cpp.

526 {
527  if( !m_grid->CommitPendingChanges() )
528  return;
529 
530  int i = m_grid->GetGridCursorRow();
531 
532  if( i > MANDATORY_FIELDS )
533  {
534  LIB_FIELD tmp = m_fields->at( (unsigned) i );
535  m_fields->erase( m_fields->begin() + i, m_fields->begin() + i + 1 );
536  m_fields->insert( m_fields->begin() + i - 1, tmp );
537  m_grid->ForceRefresh();
538 
539  m_grid->SetGridCursor( i - 1, m_grid->GetGridCursorCol() );
540  m_grid->MakeCellVisible( m_grid->GetGridCursorRow(), m_grid->GetGridCursorCol() );
541  }
542  else
543  {
544  wxBell();
545  }
546 }
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:190
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 380 of file dialog_shim.cpp.

381 {
382  if( m_firstPaintEvent )
383  {
385 
386  selectAllInTextCtrls( GetChildren() );
387 
390  else
391  KIPLATFORM::UI::ForceFocus( this ); // Focus the dialog itself
392 
393  m_firstPaintEvent = false;
394  }
395 
396  event.Skip();
397 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:209
bool m_firstPaintEvent
Definition: dialog_shim.h:208
void ForceFocus(wxWindow *aWindow)
Pass the current focus to the window.
Definition: gtk/ui.cpp:44
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:71
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 766 of file dialog_lib_symbol_properties.cpp.

767 {
768  auto new_size = event.GetSize().GetX();
769 
770  if( new_size != m_width )
771  {
772  adjustGridColumns( event.GetSize().GetX() );
773  }
774 
775  // Always propagate a wxSizeEvent:
776  event.Skip();
777 }

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 690 of file dialog_lib_symbol_properties.cpp.

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

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(), SIM_PLOT_FRAME::canCloseWindow(), PANEL_FP_PROPERTIES_3D_MODEL::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::createNewLibrary(), PCB_BASE_EDIT_FRAME::CreateNewProjectLibrary(), 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_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(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), SYMBOL_VIEWER_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), 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(), SIM_PLOT_FRAME::getDefaultFilename(), SIM_PLOT_FRAME::getDefaultPath(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), 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(), 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(), 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(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), 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(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_SCHEMATIC_SETUP::OnPageChange(), DIALOG_BOARD_SETUP::OnPageChange(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), DIALOG_TEXT_AND_LABEL_PROPERTIES::onScintillaCharAdded(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_SCH_FIELD_PROPERTIES::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_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(), DIALOG_PLOT::Plot(), 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(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), 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(), SIM_PLOT_FRAME::SaveSettings(), EDA_BASE_FRAME::SaveSettings(), SYMBOL_EDIT_FRAME::saveSymbolAs(), SCH_BASE_FRAME::saveSymbolLibTables(), SIM_PLOT_FRAME::saveWorkbook(), 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::SetCurSymbol(), 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(), SYMBOL_LIBRARY_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER_FRAME::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), SCH_EDIT_FRAME::updateAutoSaveFile(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), SIM_PLOT_FRAME::updateTitle(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::UpdateTitle(), PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), 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 287 of file dialog_shim.cpp.

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

References class_map, and DIALOG_SHIM::m_hash_key.

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

98  {
99  m_initialFocusTarget = aWindow;
100  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:209

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_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_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES(), 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_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_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_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(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), SYMBOL_EDIT_FRAME::saveSymbolAs(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_RULE_AREA_PROPERTIES::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 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 }
KIWAY * m_kiway
Definition: kiway_holder.h:75
const char * name
Definition: DXF_plotter.cpp:56
void ignore_unused(const T &)
Definition: ignore.h:24

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

191 {
192  wxDialog::SetPosition( aNewPosition );
193 
194  // Now update the stored position:
195  const char* hash_key;
196 
197  if( m_hash_key.size() )
198  {
199  // a special case like EDA_LIST_DIALOG, which has multiple uses.
200  hash_key = m_hash_key.c_str();
201  }
202  else
203  {
204  hash_key = typeid(*this).name();
205  }
206 
207  std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
208 
209  if( it == class_map.end() )
210  return;
211 
212  wxRect rect = it->second;
213  rect.SetPosition( aNewPosition );
214 
215  class_map[ hash_key ] = rect;
216 }
std::string m_hash_key
Definition: dialog_shim.h:199
static std::unordered_map< std::string, wxRect > class_map
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 162 of file dialog_shim.cpp.

163 {
164  wxSize sz( x, y );
165  SetSize( ConvertDialogToPixels( sz ) );
166 }

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

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

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

Referenced by FOOTPRINT_EDITOR_CONTROL::CheckFootprint(), 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(), 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 423 of file dialog_shim.cpp.

424 {
425  // This is an exception safe way to zero a pointer before returning.
426  // Yes, even though DismissModal() clears this first normally, this is
427  // here in case there's an exception before the dialog is dismissed.
428  struct NULLER
429  {
430  void*& m_what;
431  NULLER( void*& aPtr ) : m_what( aPtr ) {}
432  ~NULLER() { m_what = nullptr; } // indeed, set it to NULL on destruction
433  } clear_this( (void*&) m_qmodal_loop );
434 
435  // release the mouse if it's currently captured as the window having it
436  // will be disabled when this dialog is shown -- but will still keep the
437  // capture making it impossible to do anything in the modal dialog itself
438  wxWindow* win = wxWindow::GetCapture();
439  if( win )
440  win->ReleaseMouse();
441 
442  // Get the optimal parent
443  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
444 
445  wxASSERT_MSG( !m_qmodal_parent_disabler,
446  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
447 
448  // quasi-modal: disable only my "optimal" parent
450 
451  // Apple in its infinite wisdom will raise a disabled window before even passing
452  // us the event, so we have no way to stop it. Instead, we must set an order on
453  // the windows so that the quasi-modal will be pushed in front of the disabled
454  // window when it is raised.
456 
457  Show( true );
458 
459  m_qmodal_showing = true;
460 
461  WX_EVENT_LOOP event_loop;
462 
463  m_qmodal_loop = &event_loop;
464 
465  event_loop.Run();
466 
467  m_qmodal_showing = false;
468 
469  return GetReturnCode();
470 }
bool m_qmodal_showing
Definition: dialog_shim.h:213
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:211
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:214
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:44
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(), 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(), InvokeDialogEditSymbolsLibId(), 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 296 of file dialog_lib_symbol_properties.cpp.

297 {
298  if( !wxDialog::TransferDataFromWindow() )
299  return false;
300 
301  if( !m_grid->CommitPendingChanges() )
302  return false;
303 
304  // We need to keep the name and the value the same at the moment!
305  wxString newName = m_fields->at( VALUE_FIELD ).GetText();
306  wxString oldName = m_libEntry->GetName();
307 
308  if( oldName != newName )
309  {
310  wxString libName = m_Parent->GetCurLib();
311 
312  if( m_Parent->GetLibManager().SymbolExists( newName, libName ) )
313  {
314  wxString msg;
315 
316  msg.Printf( _( "The name '%s' conflicts with an existing entry in the library '%s'." ),
317  UnescapeString( newName ),
318  libName );
319  DisplayErrorMessage( this, msg );
320  return false;
321  }
322 
324  }
325  else
326  {
328  }
329 
330  // The Y axis for components in lib is from bottom to top while the screen axis is top
331  // to bottom: we must change the y coord sign when writing back to the library
332  for( size_t i = 0; i < m_fields->size(); ++i )
333  {
334  wxPoint pos = m_fields->at( i ).GetPosition();
335  pos.y = -pos.y;
336  m_fields->at( i ).SetPosition( pos );
337  m_fields->at( i ).SetId( i );
338  }
339 
341 
342  // Update the parent for inherited symbols
343  if( m_libEntry->IsAlias() )
344  {
345  wxString parentName = EscapeString( m_inheritanceSelectCombo->GetValue(), CTX_LIBID );
346 
347  // The parentName was verified to be non-empty in the Validator
348  wxString libName = m_Parent->GetCurLib();
349 
350  // Get the parent from the libManager based on the name set in the inheritance combo box.
351  LIB_SYMBOL* newParent = m_Parent->GetLibManager().GetAlias( parentName, libName );
352 
353  // Verify that the requested parent exists
354  wxCHECK( newParent, false );
355 
356  // Verify that the new parent is not an alias.
357  wxCHECK( !newParent->IsAlias(), false );
358 
359  m_libEntry->SetParent( newParent );
360  }
361 
362  // We need to keep the name and the value the same at the moment!
363  m_libEntry->SetName( newName );
364  m_libEntry->SetDescription( m_DescCtrl->GetValue() );
365  m_libEntry->SetKeyWords( m_KeywordCtrl->GetValue() );
368  !m_OptionPartsInterchangeable->GetValue() );
369  m_libEntry->SetConversion( m_AsConvertButt->GetValue() );
370 
371  if( m_OptionPower->GetValue() )
372  m_libEntry->SetPower();
373  else
375 
378 
381 
382  if( m_PinsNameInsideButt->GetValue() )
383  {
384  int offset = KiROUND( (double) m_pinNameOffset.GetValue() );
385 
386  // We interpret an offset of 0 as "outside", so make sure it's non-zero
387  m_libEntry->SetPinNameOffset( offset == 0 ? 20 : offset );
388  }
389  else
390  {
391  m_libEntry->SetPinNameOffset( 0 ); // pin text outside the body (name is on the pin)
392  }
393 
395 
397 
398  // It's possible that the symbol being edited has no pins, in which case there may be no
399  // alternate body style objects causing #LIB_SYMBOL::HasCoversion() to always return false.
400  // This allows the user to edit the alternate body style just in case this condition occurs.
401  m_Parent->SetShowDeMorgan( m_AsConvertButt->GetValue() );
402 
403  return true;
404 }
void SetPinNameOffset(int aOffset)
Set the offset in mils of the pin name text from the pin symbol.
Definition: lib_symbol.h:560
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:913
void DisplayErrorMessage(wxWindow *aParent, const wxString &aText, const wxString &aExtraInfo)
Display an error message with aMessage.
Definition: confirm.cpp:292
void SetIncludeOnBoard(bool aIncludeOnBoard)
Set or clear include in board netlist flag.
Definition: lib_symbol.h:592
wxString GetName() const override
Definition: lib_symbol.h:133
void SetShowDeMorgan(bool show)
void SetConversion(bool aSetConvert, bool aDuplicatePins=true)
Set or clear the alternate body style (DeMorgan) for the symbol.
bool IsAlias() const
Definition: lib_symbol.h:172
void SetUnitCount(int aCount, bool aDuplicateDrawItems=true)
Set the units per symbol count.
Define a library symbol object.
Definition: lib_symbol.h:96
wxString GetCurLib() const
The nickname of the current library being edited and empty string if none.
void UpdateAfterSymbolProperties(wxString *aOldName=nullptr)
bool SymbolExists(const wxString &aAlias, const wxString &aLibrary) const
Return true if symbol with a specific alias exists in library (either original one or buffered).
void SetShowPinNames(bool aShow)
Set or clear the pin name visibility flag.
Definition: lib_symbol.h:568
Field Value of part, i.e. "3.3K".
virtual void SetName(const wxString &aName)
Definition: lib_symbol.cpp:313
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.
SYMBOL_LIBRARY_MANAGER & GetLibManager()
void SetDescription(const wxString &aDescription)
Definition: lib_symbol.h:140
#define _(s)
void SetParent(LIB_SYMBOL *aParent=nullptr)
Definition: lib_symbol.cpp:322
bool CommitPendingChanges(bool aQuietMode=false)
Close any open cell edit controls.
Definition: wx_grid.cpp:190
wxString UnescapeString(const wxString &aSource)
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
void SetIncludeInBom(bool aIncludeInBom)
Set or clear the include in schematic bill of materials flag.
Definition: lib_symbol.h:584
void SetFPFilters(const wxArrayString &aFilters)
Definition: lib_symbol.h:181
void SetPower()
Definition: lib_symbol.cpp:417
void SetShowPinNumbers(bool aShow)
Set or clear the pin number visibility flag.
Definition: lib_symbol.h:576
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:73
LIB_SYMBOL * GetAlias(const wxString &aAlias, const wxString &aLibrary) const
Return either an alias of a working LIB_SYMBOL copy, or alias of the original symbol if there is no w...
virtual long long int GetValue()
Return the current value in Internal Units.
wxString EscapeString(const wxString &aSource, ESCAPE_CONTEXT aContext)
The Escape/Unescape routines use HTML-entity-reference-style encoding to handle characters which are:...
void SetKeyWords(const wxString &aKeyWords)
Definition: lib_symbol.h:153
void SetNormal()
Definition: lib_symbol.cpp:435
void LockUnits(bool aLockUnits)
Set interchangeable the property for symbol units.
Definition: lib_symbol.h:235

References _, WX_GRID::CommitPendingChanges(), CTX_LIBID, DisplayErrorMessage(), EscapeString(), SYMBOL_LIBRARY_MANAGER::GetAlias(), SYMBOL_EDIT_FRAME::GetCurLib(), SYMBOL_EDIT_FRAME::GetLibManager(), LIB_SYMBOL::GetName(), LIB_SYMBOL::GetUnitCount(), UNIT_BINDER::GetValue(), LIB_SYMBOL::IsAlias(), KiROUND(), LIB_RENAME, LIB_SYMBOL::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_EDIT_FRAME::SaveCopyInUndoList(), LIB_SYMBOL::SetConversion(), LIB_SYMBOL::SetDescription(), LIB_SYMBOL::SetFields(), LIB_SYMBOL::SetFPFilters(), LIB_SYMBOL::SetIncludeInBom(), LIB_SYMBOL::SetIncludeOnBoard(), LIB_SYMBOL::SetKeyWords(), LIB_SYMBOL::SetName(), LIB_SYMBOL::SetNormal(), LIB_SYMBOL::SetParent(), LIB_SYMBOL::SetPinNameOffset(), LIB_SYMBOL::SetPower(), SYMBOL_EDIT_FRAME::SetShowDeMorgan(), LIB_SYMBOL::SetShowPinNames(), LIB_SYMBOL::SetShowPinNumbers(), LIB_SYMBOL::SetUnitCount(), SYMBOL_LIBRARY_MANAGER::SymbolExists(), UnescapeString(), 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( UnescapeString( m_libEntry->GetName() ) );
170 
171  m_DescCtrl->ChangeValue( m_libEntry->GetDescription() );
172  m_KeywordCtrl->ChangeValue( m_libEntry->GetKeyWords() );
175  m_libEntry->GetUnitCount() == 1 );
176  m_AsConvertButt->SetValue( m_libEntry->HasConversion() );
177  m_OptionPower->SetValue( m_libEntry->IsPower() );
180 
182  m_ShowPinNameButt->SetValue( m_libEntry->ShowPinNames() );
183  m_PinsNameInsideButt->SetValue( m_libEntry->GetPinNameOffset() != 0 );
185 
186  wxArrayString tmp = m_libEntry->GetFPFilters();
187  m_FootprintFilterListBox->Append( tmp );
188 
189  // Populate the list of root parts for inherited objects.
190  if( m_libEntry->IsAlias() )
191  {
192  wxArrayString rootSymbolNames;
193  wxString libName = m_Parent->GetCurLib();
194 
195  // Someone forgot to set the current library in the editor frame window.
196  wxCHECK( !libName.empty(), false );
197 
198  m_Parent->GetLibManager().GetRootSymbolNames( libName, rootSymbolNames );
199  m_inheritanceSelectCombo->Append( rootSymbolNames );
200 
201  LIB_SYMBOL_SPTR rootSymbol = m_libEntry->GetParent().lock();
202 
203  wxCHECK( rootSymbol, false );
204 
205  wxString parentName = UnescapeString( rootSymbol->GetName() );
206  int selection = m_inheritanceSelectCombo->FindString( parentName );
207 
208  wxCHECK( selection != wxNOT_FOUND, false );
209  m_inheritanceSelectCombo->SetSelection( selection );
210 
211  m_lastOpenedPage = 0;
212  }
213 
214  m_NoteBook->SetSelection( (unsigned) m_lastOpenedPage );
215 
216  return true;
217 }
LIB_SYMBOL_REF & GetParent()
Definition: lib_symbol.h:124
int GetPinNameOffset() const
Definition: lib_symbol.h:561
void GetRootSymbolNames(const wxString &aLibName, wxArrayString &aRootSymbolNames)
int GetNumberRows() override
wxString GetName() const override
Definition: lib_symbol.h:133
bool IsAlias() const
Definition: lib_symbol.h:172
std::shared_ptr< LIB_SYMBOL > LIB_SYMBOL_SPTR
shared pointer to LIB_SYMBOL
Definition: lib_symbol.h:42
bool ShowPinNumbers() const
Definition: lib_symbol.h:577
bool GetIncludeOnBoard() const
Definition: lib_symbol.h:593
bool IsPower() const
Definition: lib_symbol.cpp:408
wxString GetCurLib() const
The nickname of the current library being edited and empty string if none.
void GetFields(std::vector< LIB_FIELD * > &aList)
Return a list of fields within this symbol.
Definition: lib_symbol.cpp:930
bool HasConversion() const
Test if symbol has more than one body conversion type (DeMorgan).
wxString GetKeyWords() const
Definition: lib_symbol.h:155
int GetUnitCount() const override
For items with units, return the number of units.
SYMBOL_LIBRARY_MANAGER & GetLibManager()
bool ShowPinNames() const
Definition: lib_symbol.h:569
wxString UnescapeString(const wxString &aSource)
bool UnitsLocked() const
Check whether symbol units are interchangeable.
Definition: lib_symbol.h:241
FIELDS_GRID_TABLE< LIB_FIELD > * m_fields
wxArrayString GetFPFilters() const
Definition: lib_symbol.h:183
wxString GetDescription() override
Definition: lib_symbol.h:142
bool GetIncludeInBom() const
Definition: lib_symbol.h:585
virtual void ChangeValue(int aValue)
Set new value (in Internal Units) for the text field, taking care of units conversion WITHOUT trigger...

References adjustGridColumns(), UNIT_BINDER::ChangeValue(), SYMBOL_EDIT_FRAME::GetCurLib(), LIB_SYMBOL::GetDescription(), LIB_SYMBOL::GetFields(), LIB_SYMBOL::GetFPFilters(), LIB_SYMBOL::GetIncludeInBom(), LIB_SYMBOL::GetIncludeOnBoard(), LIB_SYMBOL::GetKeyWords(), SYMBOL_EDIT_FRAME::GetLibManager(), LIB_SYMBOL::GetName(), FIELDS_GRID_TABLE< T >::GetNumberRows(), LIB_SYMBOL::GetParent(), LIB_SYMBOL::GetPinNameOffset(), SYMBOL_LIBRARY_MANAGER::GetRootSymbolNames(), LIB_SYMBOL::GetUnitCount(), LIB_SYMBOL::HasConversion(), LIB_SYMBOL::IsAlias(), LIB_SYMBOL::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_SYMBOL::ShowPinNames(), LIB_SYMBOL::ShowPinNumbers(), UnescapeString(), and LIB_SYMBOL::UnitsLocked().

◆ Validate()

bool DIALOG_LIB_SYMBOL_PROPERTIES::Validate ( )
overrideprotected

Definition at line 220 of file dialog_lib_symbol_properties.cpp.

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

References _, WX_GRID::CommitPendingChanges(), FDC_NAME, FDC_VALUE, LIB_FIELD::GetName(), LIB_SYMBOL::GetUnitCount(), LIB_SYMBOL::HasConversion(), LIB_SYMBOL::IsAlias(), IsOK(), SCH_SYMBOL::IsReferenceStringValid(), LIB_SYMBOL::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 176 of file dialog_shim.cpp.

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

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 208 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 209 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 221 of file dialog_shim.h.

Referenced by DIALOG_SHIM::Show().

◆ 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

◆ 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

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

◆ 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 211 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 213 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

wxButton* DIALOG_LIB_SYMBOL_PROPERTIES_BASE::m_spiceFieldsButton
protectedinherited

◆ 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: