KiCad PCB EDA Suite
DIALOG_MODULE_BOARD_EDITOR_BASE Class Reference

Class DIALOG_MODULE_BOARD_EDITOR_BASE. More...

#include <dialog_edit_module_for_BoardEditor_base.h>

Inheritance diagram for DIALOG_MODULE_BOARD_EDITOR_BASE:
DIALOG_SHIM KIWAY_HOLDER DIALOG_MODULE_BOARD_EDITOR

Public Member Functions

 DIALOG_MODULE_BOARD_EDITOR_BASE (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Footprint Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
 
 ~DIALOG_MODULE_BOARD_EDITOR_BASE ()
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal ()
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
KIWAYKiway () const
 Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Function Prj returns a reference to the PROJECT "associated with" this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 Function SetKiway. More...
 

Protected Member Functions

virtual void OnInitDlg (wxInitDialogEvent &event)
 
virtual void OnEditReference (wxCommandEvent &event)
 
virtual void OnEditValue (wxCommandEvent &event)
 
virtual void ModuleOrientEvent (wxCommandEvent &event)
 
virtual void ExchangeModule (wxCommandEvent &event)
 
virtual void GotoModuleEditor (wxCommandEvent &event)
 
virtual void On3DShapeNameSelected (wxCommandEvent &event)
 
virtual void Edit3DShapeFilename (wxCommandEvent &event)
 
virtual void Add3DShape (wxCommandEvent &event)
 
virtual void Remove3DShape (wxCommandEvent &event)
 
virtual void Cfg3DPath (wxCommandEvent &event)
 
void FinishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void FixOSXCancelButtonIssue ()
 A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms. More...
 

Protected Attributes

wxNotebook * m_NoteBook
 
wxPanel * m_PanelProperties
 
wxStaticText * m_staticTextRef
 
wxTextCtrl * m_ReferenceCtrl
 
wxButton * m_button4
 
wxStaticText * m_staticTextVal
 
wxTextCtrl * m_ValueCtrl
 
wxButton * m_button5
 
wxRadioBox * m_LayerCtrl
 
wxRadioBox * m_OrientCtrl
 
wxStaticText * m_staticTextRotation
 
wxTextCtrl * m_OrientValueCtrl
 
wxStaticText * m_staticTextPos
 
wxStaticText * m_XPosLabel
 
wxTextCtrl * m_ModPositionX
 
wxStaticText * m_XPosUnit
 
wxStaticText * m_YPosLabel
 
wxTextCtrl * m_ModPositionY
 
wxStaticText * m_YPosUnit
 
wxStaticText * m_TextSheetPath
 
wxTextCtrl * m_textCtrlSheetPath
 
wxButton * m_buttonExchange
 
wxButton * m_buttonModuleEditor
 
wxRadioBox * m_AttributsCtrl
 
wxRadioBox * m_AutoPlaceCtrl
 
wxStaticText * m_staticText11
 
wxSlider * m_CostRot90Ctrl
 
wxStaticText * m_staticText12
 
wxSlider * m_CostRot180Ctrl
 
wxStaticText * m_staticText16
 
wxChoice * m_ZoneConnectionChoice
 
wxStaticText * m_staticTextInfo
 
wxStaticText * m_staticTextNetClearance
 
wxTextCtrl * m_NetClearanceValueCtrl
 
wxStaticText * m_NetClearanceUnits
 
wxStaticLine * m_staticline1
 
wxStaticLine * m_staticline2
 
wxStaticLine * m_staticline3
 
wxStaticText * m_MaskClearanceTitle
 
wxTextCtrl * m_SolderMaskMarginCtrl
 
wxStaticText * m_SolderMaskMarginUnits
 
wxStaticText * m_staticTextSolderPaste
 
wxTextCtrl * m_SolderPasteMarginCtrl
 
wxStaticText * m_SolderPasteMarginUnits
 
wxStaticText * m_staticTextRatio
 
wxTextCtrl * m_SolderPasteMarginRatioCtrl
 
wxStaticText * m_SolderPasteRatioMarginUnits
 
wxPanel * m_Panel3D
 
wxBoxSizer * bSizerMain3D
 
wxListBox * m_3D_ShapeNameListBox
 
wxButton * m_buttonAdd
 
wxButton * m_buttonRemove
 
wxButton * m_buttonEdit
 
wxButton * m_button8
 
wxBoxSizer * bLowerSizer3D
 
wxStdDialogButtonSizer * m_sdbSizerStdButtons
 
wxButton * m_sdbSizerStdButtonsOK
 
wxButton * m_sdbSizerStdButtonsCancel
 
std::string m_hash_key
 
EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 

Private Attributes

wxBoxSizer * m_GeneralBoxSizer
 
wxBoxSizer * m_PropRightSizer
 

Detailed Description

Constructor & Destructor Documentation

DIALOG_MODULE_BOARD_EDITOR_BASE::DIALOG_MODULE_BOARD_EDITOR_BASE ( wxWindow *  parent,
wxWindowID  id = wxID_ANY,
const wxString &  title = _("Footprint Properties"),
const wxPoint pos = wxDefaultPosition,
const wxSize &  size = wxSize( -1,-1 ),
long  style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER 
)

Definition at line 12 of file dialog_edit_module_for_BoardEditor_base.cpp.

References Add3DShape(), bLowerSizer3D, bSizerMain3D, Cfg3DPath(), Edit3DShapeFilename(), ExchangeModule(), GotoModuleEditor(), ID_ADD_3D_SHAPE, ID_GOTO_MODULE_EDITOR, ID_LISTBOX_ORIENT_SELECT, ID_MODULE_PROPERTIES_EXCHANGE, ID_NOTEBOOK, ID_REMOVE_3D_SHAPE, m_3D_ShapeNameListBox, m_AttributsCtrl, m_AutoPlaceCtrl, m_button4, m_button5, m_button8, m_buttonAdd, m_buttonEdit, m_buttonExchange, m_buttonModuleEditor, m_buttonRemove, m_CostRot180Ctrl, m_CostRot90Ctrl, m_GeneralBoxSizer, m_LayerCtrl, m_MaskClearanceTitle, m_ModPositionX, m_ModPositionY, m_NetClearanceUnits, m_NetClearanceValueCtrl, m_NoteBook, m_OrientCtrl, m_OrientValueCtrl, m_Panel3D, m_PanelProperties, m_PropRightSizer, m_ReferenceCtrl, m_sdbSizerStdButtons, m_sdbSizerStdButtonsCancel, m_sdbSizerStdButtonsOK, m_SolderMaskMarginCtrl, m_SolderMaskMarginUnits, m_SolderPasteMarginCtrl, m_SolderPasteMarginRatioCtrl, m_SolderPasteMarginUnits, m_SolderPasteRatioMarginUnits, m_staticline1, m_staticline2, m_staticline3, m_staticText11, m_staticText12, m_staticText16, m_staticTextInfo, m_staticTextNetClearance, m_staticTextPos, m_staticTextRatio, m_staticTextRef, m_staticTextRotation, m_staticTextSolderPaste, m_staticTextVal, m_textCtrlSheetPath, m_TextSheetPath, m_ValueCtrl, m_XPosLabel, m_XPosUnit, m_YPosLabel, m_YPosUnit, m_ZoneConnectionChoice, ModuleOrientEvent(), On3DShapeNameSelected(), OnEditReference(), OnEditValue(), OnInitDlg(), and Remove3DShape().

12  : DIALOG_SHIM( parent, id, title, pos, size, style )
13 {
14  this->SetSizeHints( wxDefaultSize, wxDefaultSize );
15 
16  m_GeneralBoxSizer = new wxBoxSizer( wxVERTICAL );
17 
18  m_NoteBook = new wxNotebook( this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize, 0 );
19  m_PanelProperties = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
20  wxBoxSizer* m_PanelPropertiesBoxSizer;
21  m_PanelPropertiesBoxSizer = new wxBoxSizer( wxHORIZONTAL );
22 
23  wxBoxSizer* bSizerLeft;
24  bSizerLeft = new wxBoxSizer( wxVERTICAL );
25 
26  m_staticTextRef = new wxStaticText( m_PanelProperties, wxID_ANY, _("Reference"), wxDefaultPosition, wxDefaultSize, 0 );
27  m_staticTextRef->Wrap( -1 );
28  bSizerLeft->Add( m_staticTextRef, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
29 
30  wxBoxSizer* bSizerRef;
31  bSizerRef = new wxBoxSizer( wxHORIZONTAL );
32 
33  m_ReferenceCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
34  bSizerRef->Add( m_ReferenceCtrl, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
35 
36  m_button4 = new wxButton( m_PanelProperties, wxID_ANY, _("Edit"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
37  bSizerRef->Add( m_button4, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
38 
39 
40  bSizerLeft->Add( bSizerRef, 0, wxEXPAND, 5 );
41 
42  m_staticTextVal = new wxStaticText( m_PanelProperties, wxID_ANY, _("Value"), wxDefaultPosition, wxDefaultSize, 0 );
43  m_staticTextVal->Wrap( -1 );
44  bSizerLeft->Add( m_staticTextVal, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
45 
46  wxBoxSizer* bSizerVal;
47  bSizerVal = new wxBoxSizer( wxHORIZONTAL );
48 
49  m_ValueCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
50  bSizerVal->Add( m_ValueCtrl, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
51 
52  m_button5 = new wxButton( m_PanelProperties, wxID_ANY, _("Edit"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
53  bSizerVal->Add( m_button5, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
54 
55 
56  bSizerLeft->Add( bSizerVal, 0, wxEXPAND, 5 );
57 
58  wxString m_LayerCtrlChoices[] = { _("Front"), _("Back") };
59  int m_LayerCtrlNChoices = sizeof( m_LayerCtrlChoices ) / sizeof( wxString );
60  m_LayerCtrl = new wxRadioBox( m_PanelProperties, wxID_ANY, _("Board Side"), wxDefaultPosition, wxDefaultSize, m_LayerCtrlNChoices, m_LayerCtrlChoices, 1, wxRA_SPECIFY_COLS );
61  m_LayerCtrl->SetSelection( 0 );
62  bSizerLeft->Add( m_LayerCtrl, 0, wxALL|wxEXPAND, 5 );
63 
64  wxString m_OrientCtrlChoices[] = { _("0.0"), _("+90.0"), _("-90.0"), _("180.0"), _("Other") };
65  int m_OrientCtrlNChoices = sizeof( m_OrientCtrlChoices ) / sizeof( wxString );
66  m_OrientCtrl = new wxRadioBox( m_PanelProperties, ID_LISTBOX_ORIENT_SELECT, _("Rotation"), wxDefaultPosition, wxDefaultSize, m_OrientCtrlNChoices, m_OrientCtrlChoices, 1, wxRA_SPECIFY_COLS );
67  m_OrientCtrl->SetSelection( 0 );
68  bSizerLeft->Add( m_OrientCtrl, 0, wxEXPAND|wxALL, 5 );
69 
70  m_staticTextRotation = new wxStaticText( m_PanelProperties, wxID_ANY, _("Rotation (-360 to 360):"), wxDefaultPosition, wxDefaultSize, 0 );
71  m_staticTextRotation->Wrap( -1 );
72  bSizerLeft->Add( m_staticTextRotation, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
73 
74  m_OrientValueCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
75  bSizerLeft->Add( m_OrientValueCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
76 
77  m_staticTextPos = new wxStaticText( m_PanelProperties, wxID_ANY, _("Position"), wxDefaultPosition, wxDefaultSize, 0 );
78  m_staticTextPos->Wrap( -1 );
79  bSizerLeft->Add( m_staticTextPos, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
80 
81  wxFlexGridSizer* fgSizerPos;
82  fgSizerPos = new wxFlexGridSizer( 2, 3, 0, 0 );
83  fgSizerPos->AddGrowableCol( 1 );
84  fgSizerPos->SetFlexibleDirection( wxHORIZONTAL );
85  fgSizerPos->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
86 
87  m_XPosLabel = new wxStaticText( m_PanelProperties, wxID_ANY, _("X"), wxDefaultPosition, wxDefaultSize, 0 );
88  m_XPosLabel->Wrap( -1 );
89  fgSizerPos->Add( m_XPosLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
90 
91  m_ModPositionX = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
92  fgSizerPos->Add( m_ModPositionX, 1, wxEXPAND|wxRIGHT, 5 );
93 
94  m_XPosUnit = new wxStaticText( m_PanelProperties, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
95  m_XPosUnit->Wrap( -1 );
96  fgSizerPos->Add( m_XPosUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
97 
98  m_YPosLabel = new wxStaticText( m_PanelProperties, wxID_ANY, _("Y"), wxDefaultPosition, wxDefaultSize, 0 );
99  m_YPosLabel->Wrap( -1 );
100  fgSizerPos->Add( m_YPosLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
101 
102  m_ModPositionY = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
103  fgSizerPos->Add( m_ModPositionY, 1, wxEXPAND|wxRIGHT, 5 );
104 
105  m_YPosUnit = new wxStaticText( m_PanelProperties, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
106  m_YPosUnit->Wrap( -1 );
107  fgSizerPos->Add( m_YPosUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
108 
109 
110  bSizerLeft->Add( fgSizerPos, 0, wxEXPAND|wxBOTTOM, 5 );
111 
112  m_TextSheetPath = new wxStaticText( m_PanelProperties, wxID_ANY, _("Sheet path:"), wxDefaultPosition, wxDefaultSize, 0 );
113  m_TextSheetPath->Wrap( -1 );
114  bSizerLeft->Add( m_TextSheetPath, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
115 
116  m_textCtrlSheetPath = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
117  m_textCtrlSheetPath->SetToolTip( _("An unique ID (a time stamp) to identify the component.\nThis is an alternate identifier to the reference.") );
118 
119  bSizerLeft->Add( m_textCtrlSheetPath, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
120 
121 
122  m_PanelPropertiesBoxSizer->Add( bSizerLeft, 1, wxEXPAND, 5 );
123 
124  m_PropRightSizer = new wxBoxSizer( wxVERTICAL );
125 
126  m_buttonExchange = new wxButton( m_PanelProperties, ID_MODULE_PROPERTIES_EXCHANGE, _("Change Footprint(s)"), wxDefaultPosition, wxDefaultSize, 0 );
127  m_PropRightSizer->Add( m_buttonExchange, 0, wxALL|wxEXPAND, 5 );
128 
129  m_buttonModuleEditor = new wxButton( m_PanelProperties, ID_GOTO_MODULE_EDITOR, _("Footprint Editor"), wxDefaultPosition, wxDefaultSize, 0 );
130  m_PropRightSizer->Add( m_buttonModuleEditor, 0, wxALL|wxEXPAND, 5 );
131 
132  wxBoxSizer* bSizerAttrib;
133  bSizerAttrib = new wxBoxSizer( wxHORIZONTAL );
134 
135  wxString m_AttributsCtrlChoices[] = { _("Through hole"), _("Surface mount"), _("Virtual") };
136  int m_AttributsCtrlNChoices = sizeof( m_AttributsCtrlChoices ) / sizeof( wxString );
137  m_AttributsCtrl = new wxRadioBox( m_PanelProperties, wxID_ANY, _("Placement type"), wxDefaultPosition, wxDefaultSize, m_AttributsCtrlNChoices, m_AttributsCtrlChoices, 1, wxRA_SPECIFY_COLS );
138  m_AttributsCtrl->SetSelection( 0 );
139  bSizerAttrib->Add( m_AttributsCtrl, 1, wxALL|wxEXPAND, 5 );
140 
141  wxString m_AutoPlaceCtrlChoices[] = { _("Free"), _("Lock pads"), _("Lock footprint") };
142  int m_AutoPlaceCtrlNChoices = sizeof( m_AutoPlaceCtrlChoices ) / sizeof( wxString );
143  m_AutoPlaceCtrl = new wxRadioBox( m_PanelProperties, wxID_ANY, _("Move and Place"), wxDefaultPosition, wxDefaultSize, m_AutoPlaceCtrlNChoices, m_AutoPlaceCtrlChoices, 1, wxRA_SPECIFY_COLS );
144  m_AutoPlaceCtrl->SetSelection( 0 );
145  bSizerAttrib->Add( m_AutoPlaceCtrl, 1, wxALL|wxEXPAND, 5 );
146 
147 
148  m_PropRightSizer->Add( bSizerAttrib, 0, wxEXPAND, 5 );
149 
150  wxStaticBoxSizer* sbSizerAP;
151  sbSizerAP = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Auto Place") ), wxHORIZONTAL );
152 
153  wxBoxSizer* bSizerRotOpt;
154  bSizerRotOpt = new wxBoxSizer( wxVERTICAL );
155 
156  m_staticText11 = new wxStaticText( sbSizerAP->GetStaticBox(), wxID_ANY, _("Rotate 90 degrees"), wxDefaultPosition, wxDefaultSize, 0 );
157  m_staticText11->Wrap( -1 );
158  bSizerRotOpt->Add( m_staticText11, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
159 
160  m_CostRot90Ctrl = new wxSlider( sbSizerAP->GetStaticBox(), wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS );
161  bSizerRotOpt->Add( m_CostRot90Ctrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
162 
163 
164  sbSizerAP->Add( bSizerRotOpt, 1, wxEXPAND, 5 );
165 
166  wxBoxSizer* bSizerMoveOpt;
167  bSizerMoveOpt = new wxBoxSizer( wxVERTICAL );
168 
169  m_staticText12 = new wxStaticText( sbSizerAP->GetStaticBox(), wxID_ANY, _("Rotate 180 degrees"), wxDefaultPosition, wxDefaultSize, 0 );
170  m_staticText12->Wrap( -1 );
171  bSizerMoveOpt->Add( m_staticText12, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
172 
173  m_CostRot180Ctrl = new wxSlider( sbSizerAP->GetStaticBox(), wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS );
174  bSizerMoveOpt->Add( m_CostRot180Ctrl, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
175 
176 
177  sbSizerAP->Add( bSizerMoveOpt, 1, wxEXPAND, 5 );
178 
179 
180  m_PropRightSizer->Add( sbSizerAP, 0, wxEXPAND|wxALL, 5 );
181 
182  wxStaticBoxSizer* sbSizerLocalProperties;
183  sbSizerLocalProperties = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Local Settings") ), wxVERTICAL );
184 
185  wxBoxSizer* bSizer11;
186  bSizer11 = new wxBoxSizer( wxVERTICAL );
187 
188  wxBoxSizer* bSizer10;
189  bSizer10 = new wxBoxSizer( wxHORIZONTAL );
190 
191  m_staticText16 = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Pad connection to zones:"), wxDefaultPosition, wxDefaultSize, 0 );
192  m_staticText16->Wrap( -1 );
193  bSizer10->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
194 
195  wxString m_ZoneConnectionChoiceChoices[] = { _("Use zone setting"), _("Solid"), _("Thermal relief"), _("None") };
196  int m_ZoneConnectionChoiceNChoices = sizeof( m_ZoneConnectionChoiceChoices ) / sizeof( wxString );
197  m_ZoneConnectionChoice = new wxChoice( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionChoiceNChoices, m_ZoneConnectionChoiceChoices, 0 );
198  m_ZoneConnectionChoice->SetSelection( 0 );
199  bSizer10->Add( m_ZoneConnectionChoice, 1, wxALL|wxEXPAND, 5 );
200 
201 
202  bSizer11->Add( bSizer10, 1, wxEXPAND, 5 );
203 
204  m_staticTextInfo = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Set clearances to 0 to use global values"), wxDefaultPosition, wxDefaultSize, 0 );
205  m_staticTextInfo->Wrap( -1 );
206  m_staticTextInfo->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
207 
208  bSizer11->Add( m_staticTextInfo, 0, wxALL, 5 );
209 
210 
211  sbSizerLocalProperties->Add( bSizer11, 0, wxEXPAND, 5 );
212 
213  wxFlexGridSizer* fgSizerClearances;
214  fgSizerClearances = new wxFlexGridSizer( 5, 3, 0, 0 );
215  fgSizerClearances->AddGrowableCol( 1 );
216  fgSizerClearances->SetFlexibleDirection( wxBOTH );
217  fgSizerClearances->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
218 
219  m_staticTextNetClearance = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
220  m_staticTextNetClearance->Wrap( -1 );
221  m_staticTextNetClearance->SetToolTip( _("This is the local net clearance for all pad of this footprint\nIf 0, the Netclass values are used\nThis value can be superseded by a pad local value.") );
222 
223  fgSizerClearances->Add( m_staticTextNetClearance, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
224 
225  m_NetClearanceValueCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
226  fgSizerClearances->Add( m_NetClearanceValueCtrl, 1, wxALL|wxEXPAND, 5 );
227 
228  m_NetClearanceUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
229  m_NetClearanceUnits->Wrap( -1 );
230  fgSizerClearances->Add( m_NetClearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
231 
232  m_staticline1 = new wxStaticLine( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
233  fgSizerClearances->Add( m_staticline1, 1, wxEXPAND, 5 );
234 
235  m_staticline2 = new wxStaticLine( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
236  fgSizerClearances->Add( m_staticline2, 1, wxEXPAND, 5 );
237 
238  m_staticline3 = new wxStaticLine( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
239  fgSizerClearances->Add( m_staticline3, 1, wxEXPAND, 5 );
240 
241  m_MaskClearanceTitle = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
242  m_MaskClearanceTitle->Wrap( -1 );
243  m_MaskClearanceTitle->SetToolTip( _("This is the local clearance between pads and the solder mask\nfor this footprint\nThis value can be superseded by a pad local value.\nIf 0, the global value is used") );
244 
245  fgSizerClearances->Add( m_MaskClearanceTitle, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
246 
247  m_SolderMaskMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
248  fgSizerClearances->Add( m_SolderMaskMarginCtrl, 1, wxALL|wxEXPAND, 5 );
249 
250  m_SolderMaskMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
251  m_SolderMaskMarginUnits->Wrap( -1 );
252  fgSizerClearances->Add( m_SolderMaskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
253 
254  m_staticTextSolderPaste = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
255  m_staticTextSolderPaste->Wrap( -1 );
256  m_staticTextSolderPaste->SetToolTip( _("This is the local clearance between pads and the solder paste\nfor this footprint.\nThis value can be superseded by a pad local values.\nThe final clearance value is the sum of this value and the clearance value ratio\nA negative value means a smaller mask size than pad size") );
257 
258  fgSizerClearances->Add( m_staticTextSolderPaste, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
259 
260  m_SolderPasteMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
261  fgSizerClearances->Add( m_SolderPasteMarginCtrl, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 );
262 
263  m_SolderPasteMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
264  m_SolderPasteMarginUnits->Wrap( -1 );
265  fgSizerClearances->Add( m_SolderPasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
266 
267  m_staticTextRatio = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste ratio clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
268  m_staticTextRatio->Wrap( -1 );
269  m_staticTextRatio->SetToolTip( _("This is the local clearance ratio in per cent between pads and the solder paste\nfor this footprint.\nA value of 10 means the clearance value is 10 per cent of the pad size\nThis value can be superseded by a pad local value.\nThe final clearance value is the sum of this value and the clearance value\nA negative value means a smaller mask size than pad size.") );
270 
271  fgSizerClearances->Add( m_staticTextRatio, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
272 
273  m_SolderPasteMarginRatioCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
274  fgSizerClearances->Add( m_SolderPasteMarginRatioCtrl, 1, wxALL|wxEXPAND, 5 );
275 
276  m_SolderPasteRatioMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
277  m_SolderPasteRatioMarginUnits->Wrap( -1 );
278  fgSizerClearances->Add( m_SolderPasteRatioMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
279 
280 
281  sbSizerLocalProperties->Add( fgSizerClearances, 1, wxEXPAND, 5 );
282 
283 
284  m_PropRightSizer->Add( sbSizerLocalProperties, 0, wxALL|wxEXPAND, 5 );
285 
286 
287  m_PanelPropertiesBoxSizer->Add( m_PropRightSizer, 0, 0, 5 );
288 
289 
290  m_PanelProperties->SetSizer( m_PanelPropertiesBoxSizer );
291  m_PanelProperties->Layout();
292  m_PanelPropertiesBoxSizer->Fit( m_PanelProperties );
293  m_NoteBook->AddPage( m_PanelProperties, _("Properties"), true );
294  m_Panel3D = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
295  bSizerMain3D = new wxBoxSizer( wxVERTICAL );
296 
297  wxStaticBoxSizer* sbSizer3;
298  sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_Panel3D, wxID_ANY, _("3D Shape Name") ), wxHORIZONTAL );
299 
300  wxBoxSizer* bSizer18;
301  bSizer18 = new wxBoxSizer( wxVERTICAL );
302 
303  m_3D_ShapeNameListBox = new wxListBox( sbSizer3->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );
304  m_3D_ShapeNameListBox->SetMinSize( wxSize( 200,110 ) );
305  m_3D_ShapeNameListBox->SetMaxSize( wxSize( -1,200 ) );
306 
307  bSizer18->Add( m_3D_ShapeNameListBox, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
308 
309 
310  sbSizer3->Add( bSizer18, 1, wxEXPAND, 5 );
311 
312  wxBoxSizer* bSizer19;
313  bSizer19 = new wxBoxSizer( wxHORIZONTAL );
314 
315  wxBoxSizer* bSizer3DButtons;
316  bSizer3DButtons = new wxBoxSizer( wxVERTICAL );
317 
318  m_buttonAdd = new wxButton( sbSizer3->GetStaticBox(), ID_ADD_3D_SHAPE, _("Add 3D Shape"), wxDefaultPosition, wxDefaultSize, 0 );
319  bSizer3DButtons->Add( m_buttonAdd, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
320 
321  m_buttonRemove = new wxButton( sbSizer3->GetStaticBox(), ID_REMOVE_3D_SHAPE, _("Remove 3D Shape"), wxDefaultPosition, wxDefaultSize, 0 );
322  bSizer3DButtons->Add( m_buttonRemove, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
323 
324  m_buttonEdit = new wxButton( sbSizer3->GetStaticBox(), wxID_ANY, _("Edit Filename"), wxDefaultPosition, wxDefaultSize, 0 );
325  bSizer3DButtons->Add( m_buttonEdit, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
326 
327  m_button8 = new wxButton( sbSizer3->GetStaticBox(), wxID_ANY, _("Configure Paths"), wxDefaultPosition, wxDefaultSize, 0 );
328  bSizer3DButtons->Add( m_button8, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
329 
330 
331  bSizer19->Add( bSizer3DButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
332 
333 
334  sbSizer3->Add( bSizer19, 0, wxEXPAND, 5 );
335 
336 
337  bSizerMain3D->Add( sbSizer3, 0, wxEXPAND, 5 );
338 
339  bLowerSizer3D = new wxBoxSizer( wxHORIZONTAL );
340 
341 
342  bSizerMain3D->Add( bLowerSizer3D, 1, wxEXPAND, 5 );
343 
344 
345  m_Panel3D->SetSizer( bSizerMain3D );
346  m_Panel3D->Layout();
347  bSizerMain3D->Fit( m_Panel3D );
348  m_NoteBook->AddPage( m_Panel3D, _("3D Settings"), false );
349 
350  m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND | wxALL, 5 );
351 
352  m_sdbSizerStdButtons = new wxStdDialogButtonSizer();
353  m_sdbSizerStdButtonsOK = new wxButton( this, wxID_OK );
355  m_sdbSizerStdButtonsCancel = new wxButton( this, wxID_CANCEL );
357  m_sdbSizerStdButtons->Realize();
358 
359  m_GeneralBoxSizer->Add( m_sdbSizerStdButtons, 0, wxALL|wxEXPAND, 5 );
360 
361 
362  this->SetSizer( m_GeneralBoxSizer );
363  this->Layout();
364  m_GeneralBoxSizer->Fit( this );
365 
366  // Connect Events
367  this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::OnInitDlg ) );
368  m_button4->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::OnEditReference ), NULL, this );
369  m_button5->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::OnEditValue ), NULL, this );
370  m_OrientCtrl->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::ModuleOrientEvent ), NULL, this );
371  m_buttonExchange->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::ExchangeModule ), NULL, this );
372  m_buttonModuleEditor->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::GotoModuleEditor ), NULL, this );
373  m_3D_ShapeNameListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::On3DShapeNameSelected ), NULL, this );
374  m_3D_ShapeNameListBox->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Edit3DShapeFilename ), NULL, this );
375  m_buttonAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Add3DShape ), NULL, this );
376  m_buttonRemove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Remove3DShape ), NULL, this );
377  m_buttonEdit->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Edit3DShapeFilename ), NULL, this );
378  m_button8->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Cfg3DPath ), NULL, this );
379 }
virtual void Remove3DShape(wxCommandEvent &event)
virtual void ExchangeModule(wxCommandEvent &event)
virtual void OnEditReference(wxCommandEvent &event)
virtual void ModuleOrientEvent(wxCommandEvent &event)
virtual void GotoModuleEditor(wxCommandEvent &event)
virtual void OnInitDlg(wxInitDialogEvent &event)
DIALOG_SHIM(wxWindow *aParent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE, const wxString &name=wxDialogNameStr)
Definition: dialog_shim.cpp:57
virtual void On3DShapeNameSelected(wxCommandEvent &event)
#define ID_MODULE_PROPERTIES_EXCHANGE
virtual void Edit3DShapeFilename(wxCommandEvent &event)
DIALOG_MODULE_BOARD_EDITOR_BASE::~DIALOG_MODULE_BOARD_EDITOR_BASE ( )

Definition at line 381 of file dialog_edit_module_for_BoardEditor_base.cpp.

References Add3DShape(), Cfg3DPath(), Edit3DShapeFilename(), ExchangeModule(), GotoModuleEditor(), m_3D_ShapeNameListBox, m_button4, m_button5, m_button8, m_buttonAdd, m_buttonEdit, m_buttonExchange, m_buttonModuleEditor, m_buttonRemove, m_OrientCtrl, ModuleOrientEvent(), On3DShapeNameSelected(), OnEditReference(), OnEditValue(), OnInitDlg(), and Remove3DShape().

382 {
383  // Disconnect Events
384  this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::OnInitDlg ) );
385  m_button4->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::OnEditReference ), NULL, this );
386  m_button5->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::OnEditValue ), NULL, this );
387  m_OrientCtrl->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::ModuleOrientEvent ), NULL, this );
388  m_buttonExchange->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::ExchangeModule ), NULL, this );
389  m_buttonModuleEditor->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::GotoModuleEditor ), NULL, this );
390  m_3D_ShapeNameListBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::On3DShapeNameSelected ), NULL, this );
391  m_3D_ShapeNameListBox->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Edit3DShapeFilename ), NULL, this );
392  m_buttonAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Add3DShape ), NULL, this );
393  m_buttonRemove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Remove3DShape ), NULL, this );
394  m_buttonEdit->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Edit3DShapeFilename ), NULL, this );
395  m_button8->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_BOARD_EDITOR_BASE::Cfg3DPath ), NULL, this );
396 
397 }
virtual void Remove3DShape(wxCommandEvent &event)
virtual void ExchangeModule(wxCommandEvent &event)
virtual void OnEditReference(wxCommandEvent &event)
virtual void ModuleOrientEvent(wxCommandEvent &event)
virtual void GotoModuleEditor(wxCommandEvent &event)
virtual void OnInitDlg(wxInitDialogEvent &event)
virtual void On3DShapeNameSelected(wxCommandEvent &event)
virtual void Edit3DShapeFilename(wxCommandEvent &event)

Member Function Documentation

virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::Add3DShape ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 126 of file dialog_edit_module_for_BoardEditor_base.h.

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

126 { event.Skip(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::Cfg3DPath ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 128 of file dialog_edit_module_for_BoardEditor_base.h.

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

128 { event.Skip(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::Edit3DShapeFilename ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 125 of file dialog_edit_module_for_BoardEditor_base.h.

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

125 { event.Skip(); }
bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 182 of file dialog_shim.cpp.

Referenced by DIALOG_PRINT_USING_PRINTER::InitValues().

183 {
184  // so we can do logging of this state change:
185 
186 #if defined(DEBUG)
187  const char* type_id = typeid( *this ).name();
188  printf( "wxDialog %s: %s\n", type_id, enable ? "enabled" : "disabled" );
189 #endif
190 
191  return wxDialog::Enable( enable );
192 }
void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 540 of file dialog_shim.cpp.

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

Referenced by HK_PROMPT_DIALOG::EndFlexible(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCancelButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick(), DIALOG_EDIT_ONE_FIELD::OnCancelClick(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCloseDialog(), DIALOG_EDIT_ONE_FIELD::OnCloseDialog(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog(), DIALOG_CHOOSE_COMPONENT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnOKButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick(), DIALOG_EDIT_ONE_FIELD::OnOkClick(), DIALOG_EXCHANGE_MODULE::OnQuit(), DIALOG_CHOOSE_COMPONENT::OnSchViewDClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), and DIALOG_SHIM::~DIALOG_SHIM().

541 {
542  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
543  // handle validation in the same way as other dialogs.
544  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
545  return;
546 
547  SetReturnCode( retCode );
548 
549  if( !IsQuasiModal() )
550  {
551  wxFAIL_MSG( wxT( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal wasn't called" ) );
552  return;
553  }
554 
555  m_qmodal_showing = false;
556 
557  if( m_qmodal_loop )
558  {
559  if( m_qmodal_loop->IsRunning() )
560  m_qmodal_loop->Exit( 0 );
561  else
562  m_qmodal_loop->ScheduleExit( 0 );
563 
564  m_qmodal_loop = NULL;
565  }
566 
569 
570  Show( false );
571 }
bool m_qmodal_showing
Definition: dialog_shim.h:132
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:131
bool IsQuasiModal()
Definition: dialog_shim.h:93
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:133
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::ExchangeModule ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 122 of file dialog_edit_module_for_BoardEditor_base.h.

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

122 { event.Skip(); }
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, when all widgets are initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at end of TransferDataToWindow, or better at end of a wxInitDialogEvent handler

In any case, the best way is to call it in a wxInitDialogEvent handler after calling TransfertDataToWindow(), which is the default wxInitDialogEvent handler wxDialog

Definition at line 104 of file dialog_shim.cpp.

References PCAD2KICAD::Center.

Referenced by COLOR4D_PICKER_DLG::COLOR4D_PICKER_DLG(), DIALOG_BOM::DIALOG_BOM(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES(), DIALOG_DIMENSION_EDITOR::DIALOG_DIMENSION_EDITOR(), DIALOG_DISPLAY_OPTIONS::DIALOG_DISPLAY_OPTIONS(), DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY(), DIALOG_EESCHEMA_OPTIONS::DIALOG_EESCHEMA_OPTIONS(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG::DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG(), DIALOG_KEEPOUT_AREA_PROPERTIES::DIALOG_KEEPOUT_AREA_PROPERTIES(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIBEDIT_OPTIONS::DIALOG_LIBEDIT_OPTIONS(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCH_EDIT_SHEET_PIN::DIALOG_SCH_EDIT_SHEET_PIN(), DIALOG_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS(), DIALOG_SELECT_PRETTY_LIB::DIALOG_SELECT_PRETTY_LIB(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_EDIT_ONE_FIELD::init(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_LIB_EDIT_PIN::OnInitDialog(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnInitDialog(), DIALOG_TRACK_VIA_PROPERTIES::OnInitDlg(), DIALOG_GRAPHIC_ITEMS_OPTIONS::OnInitDlg(), DialogEditModuleText::OnInitDlg(), DIALOG_SET_GRID::OnInitDlg(), DIALOG_PCB_TEXT_PROPERTIES::OnInitDlg(), DIALOG_PRINT_FOR_MODEDIT::OnInitDlg(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_MODULE_MODULE_EDITOR::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_MODULE_BOARD_EDITOR::OnInitDlg(), DIALOG_PRINT_USING_PRINTER::OnInitDlg(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnInitDlg(), TARGET_PROPERTIES_DIALOG_EDITOR::TARGET_PROPERTIES_DIALOG_EDITOR(), and DIALOG_SIGNAL_LIST::TransferDataToWindow().

105 {
106  // must be called from the constructor of derived classes,
107  // when all widgets are initialized, and therefore their size fixed
108 
109  // SetSizeHints fixes the minimal size of sizers in the dialog
110  // (SetSizeHints calls Fit(), so no need to call it)
111  GetSizer()->SetSizeHints( this );
112 
113  // the default position, when calling the first time the dlg
114  Center();
115 }
void DIALOG_SHIM::FixOSXCancelButtonIssue ( )
protectedinherited

A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms.

Definition at line 117 of file dialog_shim.cpp.

Referenced by DIALOG_SHIM::Show().

118 {
119 #ifdef __WXMAC__
120  // A ugly hack to fix an issue on OSX: ctrl+c closes the dialog instead of
121  // copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer
122  // created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority
123  // to copy text standard accelerator, and the dlg is closed when trying to copy text
124  wxButton* button = dynamic_cast< wxButton* > ( wxWindow::FindWindowById( wxID_CANCEL, this ) );
125 
126  if( button )
127  button->SetLabel( _( "Cancel" ) );
128 #endif
129 }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::GotoModuleEditor ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 123 of file dialog_edit_module_for_BoardEditor_base.h.

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

123 { event.Skip(); }
KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Function Kiway returns 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 60 of file kiway_player.h.

References KIWAY_HOLDER::m_kiway.

Referenced by SCH_EDIT_FRAME::AppendOneEEProject(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), CVPCB_MAINFRAME::CreateScreenCmp(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_SHIM::DIALOG_SHIM(), EDIT_TOOL::editFootprintInFpEditor(), SCH_EDIT_FRAME::EditSheet(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::initBuffers(), LIB_EDIT_FRAME::InstallConfigFrame(), PCB_EDIT_FRAME::InstallModuleOptionsFrame(), KIWAY_PLAYER::language_change(), SCH_SHEET::Load(), CVPCB_MAINFRAME::LoadFootprintFiles(), KIWAY_PLAYER::OnChangeIconsOptions(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), SCH_BASE_FRAME::OnEditSymbolLibTable(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnLeftClick(), SCH_BASE_FRAME::OnOpenLibraryViewer(), SCH_EDIT_FRAME::OnSimulate(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateReplaceModuleInBoard(), SCH_EDIT_FRAME::OpenProjectFiles(), KIWAY_HOLDER::Prj(), PCB_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Special_Functions(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDIT_FRAME::SaveEEFile(), CVPCB_MAINFRAME::SaveFootprintAssociation(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_EDIT_FRAME::SetPlotSettings(), DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame(), FOOTPRINT_VIEWER_FRAME::Show3D_Frame(), FOOTPRINT_EDIT_FRAME::Show3D_Frame(), FOOTPRINT_WIZARD_FRAME::Show3D_Frame(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::showButtonHandler(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::showButtonHandler(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), and DIALOG_EXCHANGE_MODULE::ViewAndSelectFootprint().

61  {
62  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
63  return *m_kiway;
64  }
KIWAY * m_kiway
Definition: kiway_player.h:85
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::ModuleOrientEvent ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 121 of file dialog_edit_module_for_BoardEditor_base.h.

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

121 { event.Skip(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::On3DShapeNameSelected ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 124 of file dialog_edit_module_for_BoardEditor_base.h.

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

124 { event.Skip(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::OnEditReference ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 119 of file dialog_edit_module_for_BoardEditor_base.h.

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

119 { event.Skip(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::OnEditValue ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 120 of file dialog_edit_module_for_BoardEditor_base.h.

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

120 { event.Skip(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::OnInitDlg ( wxInitDialogEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 118 of file dialog_edit_module_for_BoardEditor_base.h.

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

118 { event.Skip(); }
PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Function Prj returns a reference to the PROJECT "associated with" this KIWAY.

Definition at line 34 of file kiway_holder.cpp.

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

Referenced by SCH_EDIT_FRAME::AnnotateComponents(), SCH_EDIT_FRAME::AppendOneEEProject(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), SCH_EDIT_FRAME::backAnnotateFootprints(), LIB_VIEW_FRAME::BestZoom(), DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_MODULE_BOARD_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::BrowseAndSelectDocFile(), DIALOG_EXCHANGE_MODULE::BrowseAndSelectFootprint(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_MODULE_MODULE_EDITOR::Cfg3DPath(), DIALOG_MODULE_BOARD_EDITOR::Cfg3DPath(), SCH_EDIT_FRAME::CheckAnnotate(), SCH_SCREEN::CheckComponentsToPartsLinks(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions(), SCH_EDIT_FRAME::CreateArchiveLibrary(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary(), LIB_EDIT_FRAME::DeleteOnePart(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EESCHEMA_CONFIG::DIALOG_EESCHEMA_CONFIG(), DIALOG_FP_LIB_TABLE::DIALOG_FP_LIB_TABLE(), DIALOG_MODULE_BOARD_EDITOR::DIALOG_MODULE_BOARD_EDITOR(), DIALOG_MODULE_MODULE_EDITOR::DIALOG_MODULE_MODULE_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SCH_EDIT_ONE_FIELD::DIALOG_SCH_EDIT_ONE_FIELD(), DIALOG_SYMBOL_LIB_TABLE::DIALOG_SYMBOL_LIB_TABLE(), LIB_VIEW_FRAME::DisplayLibInfos(), SCH_BASE_FRAME::DisplayListComponentsInLib(), PCB_EDIT_FRAME::doAutoSave(), DIALOG_MODULE_MODULE_EDITOR::Edit3DShapeFileName(), DIALOG_MODULE_BOARD_EDITOR::Edit3DShapeFileName(), SCH_EDIT_FRAME::EditComponentFieldText(), SCH_EDIT_FRAME::EditSheet(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::ExportToGenCAD(), PCB_EDIT_FRAME::ExportVRML_File(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), NETLIST_DIALOG::GenNetlist(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), LIB_EDIT_FRAME::GetCurPart(), FOOTPRINT_EDIT_FRAME::GetCurrentLib(), FOOTPRINT_EDIT_FRAME::getLibPath(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DIALOG_BOM::getPluginFileName(), LIB_VIEW_FRAME::getSelectedAlias(), FP_THREAD_IFACE::GetTable(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers(), DIALOG_MODULE_MODULE_EDITOR::initModeditProperties(), DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties(), LIB_EDIT_FRAME::InstallConfigFrame(), SCH_EDIT_FRAME::InstallConfigFrame(), PCB_EDIT_FRAME::InstallNetlistFrame(), SCH_EDIT_FRAME::IsSearchCacheObsolete(), SCH_EDIT_FRAME::Load_Component(), SCH_EDIT_FRAME::LoadCmpToFootprintLinkFile(), DIALOG_BOM_EDITOR::LoadComponents(), CVPCB_MAINFRAME::LoadFootprintFiles(), SCH_EDIT_FRAME::LoadOneEEFile(), LIB_EDIT_FRAME::LoadOneLibraryPart(), LIB_EDIT_FRAME::LoadOneSymbol(), CVPCB_MAINFRAME::LoadProjectFile(), SCH_EDIT_FRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_EESCHEMA_CONFIG::OnAddOrInsertLibClick(), DIALOG_EESCHEMA_CONFIG::OnAddOrInsertPath(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), LIB_EDIT_FRAME::OnCloseWindow(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), SCH_BASE_FRAME::OnEditSymbolLibTable(), DIALOG_GENDRILL::OnGenReportFile(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), PCB_EDIT_FRAME::OnLeftClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick(), DIALOG_NETLIST::OnOpenNetlistClick(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_SVG_PRINT::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_MODULE_POSITION::OnOutputDirectoryBrowseClicked(), LIB_EDIT_FRAME::OnPlotCurrentComponent(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SCH_EDIT_FRAME::OnRightClick(), DIALOG_BOM::OnRunPlugin(), DIALOG_NETLIST::OnSaveMessagesToFile(), SCH_EDIT_FRAME::OnSaveProject(), DIALOG_SPICE_MODEL::onSelectIcLib(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OnSelectUnit(), DIALOG_SPICE_MODEL::onSemiSelectLib(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnTestChipName(), FOOTPRINT_EDIT_FRAME::OnUpdateSelectCurrentLib(), LIB_EDIT_FRAME::OnViewEntryDoc(), LIB_VIEW_FRAME::onViewSymbolDocument(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::PasteListOfItems(), PCB_EDITOR_CONTROL::PlaceModule(), SCH_EDIT_FRAME::prepareForNetlist(), SCH_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Config(), SCH_EDIT_FRAME::Process_Special_Functions(), SCH_EDIT_FRAME::ProcessCmpToFootprintLinkFile(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_VIEW_FRAME::ReCreateHToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), LIB_VIEW_FRAME::RedrawActiveWindow(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SCH_EDIT_FRAME::RescueProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_SCREEN::Save(), LIB_EDIT_FRAME::SaveActiveLibrary(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), PCB_EDIT_FRAME::SaveProjectSettings(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectComponentFromLibrary(), FOOTPRINT_VIEWER_FRAME::SelectCurrentFootprint(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), EDA_3D_VIEWER::takeScreenshot(), DIALOG_ERC::TestErc(), DIALOG_SPICE_MODEL::updateFromFile(), SIM_PLOT_FRAME::updateNetlistExporter(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), CVPCB_MAINFRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_MODULE_BOARD_EDITOR::~DIALOG_MODULE_BOARD_EDITOR(), and DIALOG_MODULE_MODULE_EDITOR::~DIALOG_MODULE_MODULE_EDITOR().

35 {
36  return Kiway().Prj();
37 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_player.h:60
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:144
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::Remove3DShape ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 127 of file dialog_edit_module_for_BoardEditor_base.h.

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

127 { event.Skip(); }
void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

Function SetKiway.

Parameters
aDestis the recipient of aKiway pointer. It is only used for debugging, since "this" is not a wxWindow*. "this" is a KIWAY_HOLDER mix-in.
aKiwayis often from a parent window, or from KIFACE::CreateWindow().

Definition at line 41 of file kiway_holder.cpp.

References KIWAY_HOLDER::m_kiway, and name.

Referenced by DIALOG_SHIM::DIALOG_SHIM(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

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

Definition at line 139 of file dialog_shim.cpp.

References class_map, DIALOG_SHIM::FixOSXCancelButtonIssue(), EDA_RECT::GetPosition(), EDA_RECT::GetSize(), DIALOG_SHIM::m_hash_key, wxPoint::x, and wxPoint::y.

Referenced by DisplayHotkeyList(), DIALOG_SHIM::EndQuasiModal(), InvokeDialogERC(), DIALOG_ANNOTATE::OnApplyClick(), DIALOG_SCH_FIND::OnCancel(), DIALOG_ANNOTATE::OnCancelClick(), DIALOG_DRC_CONTROL::OnLeftDClickClearance(), DIALOG_DRC_CONTROL::OnLeftDClickUnconnected(), DIALOG_DRC_CONTROL::OnPopupMenu(), DIALOG_EXCHANGE_MODULE::OnQuit(), POSITION_RELATIVE_TOOL::PositionRelative(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), DRC::ShowDRCDialog(), and DIALOG_SHIM::ShowQuasiModal().

140 {
141  bool ret;
142  const char* hash_key;
143 
144  if( m_hash_key.size() )
145  {
146  // a special case like EDA_LIST_DIALOG, which has multiple uses.
147  hash_key = m_hash_key.c_str();
148  }
149  else
150  {
151  hash_key = typeid(*this).name();
152  }
153 
154  // Show or hide the window. If hiding, save current position and size.
155  // If showing, use previous position and size.
156  if( show )
157  {
158  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
159  ret = wxDialog::Show( show );
160 
161  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
162  EDA_RECT r = class_map[ hash_key ];
163 
164  if( r.GetSize().x != 0 && r.GetSize().y != 0 )
165  SetSize( r.GetPosition().x, r.GetPosition().y, r.GetSize().x, r.GetSize().y, 0 );
166  }
167  else
168  {
169  // Save the dialog's position & size before hiding, using classname as key
170  EDA_RECT r( wxDialog::GetPosition(), wxDialog::GetSize() );
171  class_map[ hash_key ] = r;
172 
173  ret = wxDialog::Show( show );
174  }
175 
177 
178  return ret;
179 }
std::string m_hash_key
Definition: dialog_shim.h:128
void FixOSXCancelButtonIssue()
A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms.
static RECT_MAP class_map
const wxPoint & GetPosition() const
Class EDA_RECT handles the component boundary box.
const wxSize & GetSize() const
int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 495 of file dialog_shim.cpp.

References DBG, DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, and DIALOG_SHIM::Show().

Referenced by LIB_EDIT_FRAME::DeleteOnePart(), SCH_EDIT_FRAME::EditComponent(), SCH_EDIT_FRAME::EditComponentFieldText(), LIB_EDIT_FRAME::EditField(), EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), LIB_EDIT_FRAME::InstallFieldsEditorDialog(), InvokeDialogCreateBOMEditor(), LIB_VIEW_FRAME::OnSelectSymbol(), and SCH_BASE_FRAME::SelectComponentFromLibrary().

496 {
497  // This is an exception safe way to zero a pointer before returning.
498  // Yes, even though DismissModal() clears this first normally, this is
499  // here in case there's an exception before the dialog is dismissed.
500  struct NULLER
501  {
502  void*& m_what;
503  NULLER( void*& aPtr ) : m_what( aPtr ) {}
504  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
505  } clear_this( (void*&) m_qmodal_loop );
506 
507  // release the mouse if it's currently captured as the window having it
508  // will be disabled when this dialog is shown -- but will still keep the
509  // capture making it impossible to do anything in the modal dialog itself
510  wxWindow* win = wxWindow::GetCapture();
511  if( win )
512  win->ReleaseMouse();
513 
514  // Get the optimal parent
515  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
516 
517  // Show the optimal parent
518  DBG( if( parent ) printf( "%s: optimal parent: %s\n", __func__, typeid(*parent).name() );)
519 
520  wxASSERT_MSG( !m_qmodal_parent_disabler,
521  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
522 
523  // quasi-modal: disable only my "optimal" parent
525 
526  Show( true );
527 
528  m_qmodal_showing = true;
529 
530  EVENT_LOOP event_loop;
531 
532  m_qmodal_loop = &event_loop;
533 
534  event_loop.Run();
535 
536  return GetReturnCode();
537 }
bool m_qmodal_showing
Definition: dialog_shim.h:132
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:131
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:133
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:33
#define DBG(x)
Definition: fctsys.h:33

Member Data Documentation

wxBoxSizer* DIALOG_MODULE_BOARD_EDITOR_BASE::bLowerSizer3D
protected
wxBoxSizer* DIALOG_MODULE_BOARD_EDITOR_BASE::bSizerMain3D
protected
wxRadioBox* DIALOG_MODULE_BOARD_EDITOR_BASE::m_AttributsCtrl
protected
wxRadioBox* DIALOG_MODULE_BOARD_EDITOR_BASE::m_AutoPlaceCtrl
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_button4
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_button5
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_button8
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_buttonAdd
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_buttonEdit
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_buttonExchange
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_buttonModuleEditor
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_buttonRemove
protected
wxSlider* DIALOG_MODULE_BOARD_EDITOR_BASE::m_CostRot180Ctrl
protected
wxSlider* DIALOG_MODULE_BOARD_EDITOR_BASE::m_CostRot90Ctrl
protected
wxBoxSizer* DIALOG_MODULE_BOARD_EDITOR_BASE::m_GeneralBoxSizer
private
std::string DIALOG_SHIM::m_hash_key
protectedinherited
wxRadioBox* DIALOG_MODULE_BOARD_EDITOR_BASE::m_LayerCtrl
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_MaskClearanceTitle
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_ModPositionX
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_ModPositionY
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_NetClearanceUnits
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_NetClearanceValueCtrl
protected
wxPanel* DIALOG_MODULE_BOARD_EDITOR_BASE::m_PanelProperties
protected
wxBoxSizer* DIALOG_MODULE_BOARD_EDITOR_BASE::m_PropRightSizer
private
EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 131 of file dialog_shim.h.

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

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited
bool DIALOG_SHIM::m_qmodal_showing
protectedinherited
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_ReferenceCtrl
protected
wxStdDialogButtonSizer* DIALOG_MODULE_BOARD_EDITOR_BASE::m_sdbSizerStdButtons
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_sdbSizerStdButtonsCancel
protected
wxButton* DIALOG_MODULE_BOARD_EDITOR_BASE::m_sdbSizerStdButtonsOK
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_SolderMaskMarginCtrl
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_SolderMaskMarginUnits
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_SolderPasteMarginCtrl
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_SolderPasteMarginRatioCtrl
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_SolderPasteMarginUnits
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_SolderPasteRatioMarginUnits
protected
wxStaticLine* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticline1
protected
wxStaticLine* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticline2
protected
wxStaticLine* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticline3
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticText11
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticText12
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticText16
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextInfo
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextNetClearance
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextPos
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextRatio
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextRef
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextRotation
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextSolderPaste
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_staticTextVal
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_textCtrlSheetPath
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_TextSheetPath
protected
wxTextCtrl* DIALOG_MODULE_BOARD_EDITOR_BASE::m_ValueCtrl
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_XPosLabel
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_XPosUnit
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_YPosLabel
protected
wxStaticText* DIALOG_MODULE_BOARD_EDITOR_BASE::m_YPosUnit
protected
wxChoice* DIALOG_MODULE_BOARD_EDITOR_BASE::m_ZoneConnectionChoice
protected

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