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
 
TEXT_CTRL_EVALm_OrientValueCtrl
 
wxStaticText * m_staticTextPos
 
wxStaticText * m_XPosLabel
 
TEXT_CTRL_EVALm_ModPositionX
 
wxStaticText * m_XPosUnit
 
wxStaticText * m_YPosLabel
 
TEXT_CTRL_EVALm_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
 
TEXT_CTRL_EVALm_NetClearanceValueCtrl
 
wxStaticText * m_NetClearanceUnits
 
wxStaticLine * m_staticline1
 
wxStaticLine * m_staticline2
 
wxStaticLine * m_staticline3
 
wxStaticText * m_MaskClearanceTitle
 
TEXT_CTRL_EVALm_SolderMaskMarginCtrl
 
wxStaticText * m_SolderMaskMarginUnits
 
wxStaticText * m_staticTextSolderPaste
 
TEXT_CTRL_EVALm_SolderPasteMarginCtrl
 
wxStaticText * m_SolderPasteMarginUnits
 
wxStaticText * m_staticTextRatio
 
TEXT_CTRL_EVALm_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 14 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().

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

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

Reimplemented in DIALOG_MODULE_BOARD_EDITOR.

Definition at line 129 of file dialog_edit_module_for_BoardEditor_base.h.

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

129 { event.Skip(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::Edit3DShapeFilename ( 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(); }
bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 184 of file dialog_shim.cpp.

Referenced by DIALOG_PRINT_USING_PRINTER::InitValues().

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

Definition at line 542 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().

543 {
544  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
545  // handle validation in the same way as other dialogs.
546  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
547  return;
548 
549  SetReturnCode( retCode );
550 
551  if( !IsQuasiModal() )
552  {
553  wxFAIL_MSG( wxT( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal wasn't called" ) );
554  return;
555  }
556 
557  m_qmodal_showing = false;
558 
559  if( m_qmodal_loop )
560  {
561  if( m_qmodal_loop->IsRunning() )
562  m_qmodal_loop->Exit( 0 );
563  else
564  m_qmodal_loop->ScheduleExit( 0 );
565 
566  m_qmodal_loop = NULL;
567  }
568 
571 
572  Show( false );
573 }
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 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(); }
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_EDIT_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), 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 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(); }
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::AppendSchematic(), 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(), LIB_MANAGER::GetBufferedPart(), LIB_MANAGER::getLibraryBuffer(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), SCH_EDIT_FRAME::ImportFile(), PCB_EDIT_FRAME::ImportFile(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::initBuffers(), PCB_EDIT_FRAME::InstallModuleOptionsFrame(), KIWAY_PLAYER::language_change(), 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::rescueProject(), 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(), LIB_MANAGER::UpdatePart(), 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 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(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::On3DShapeNameSelected ( 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(); }
virtual void DIALOG_MODULE_BOARD_EDITOR_BASE::OnEditReference ( 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::OnEditValue ( 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::OnInitDlg ( wxInitDialogEvent &  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(); }
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 DIALOG_EDIT_COMPONENT_IN_LIBRARY::AddAliasOfPart(), SCH_EDIT_FRAME::AppendSchematic(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), DIALOG_SYMBOL_REMAP::backupProject(), LIB_VIEW_FRAME::BestZoom(), DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_MODULE_BOARD_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::BrowseAndSelectDocFile(), DIALOG_EXCHANGE_MODULE::BrowseAndSelectFootprint(), DIALOG_SYMBOL_LIB_TABLE::browseLibrariesHandler(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_MODULE_MODULE_EDITOR::Cfg3DPath(), DIALOG_MODULE_BOARD_EDITOR::Cfg3DPath(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), 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_SYMBOL_LIB_TABLE::DIALOG_SYMBOL_LIB_TABLE(), LIB_VIEW_FRAME::DisplayLibInfos(), LIB_EDIT_FRAME::DisplayLibInfos(), SCH_BASE_FRAME::DisplayListComponentsInLib(), PCB_EDIT_FRAME::doAutoSave(), DIALOG_MODULE_MODULE_EDITOR::Edit3DShapeFileName(), DIALOG_MODULE_BOARD_EDITOR::Edit3DShapeFileName(), SCH_EDIT_FRAME::EditSheet(), PCB_EDIT_FRAME::Export_IDF3(), 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(), FOOTPRINT_EDIT_FRAME::GetCurrentLib(), SCH_BASE_FRAME::GetLibAlias(), SCH_BASE_FRAME::GetLibPart(), FOOTPRINT_EDIT_FRAME::getLibPath(), LIB_EDIT_FRAME::getLibraryFileName(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DIALOG_BOM::getPluginFileName(), LIB_VIEW_FRAME::getSelectedAlias(), FP_THREAD_IFACE::GetTable(), SCH_EDIT_FRAME::ImportFile(), PCB_EDIT_FRAME::ImportFile(), DIALOG_MODULE_MODULE_EDITOR::initModeditProperties(), DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties(), PCB_EDIT_FRAME::InstallNetlistFrame(), SCH_EDIT_FRAME::IsSearchCacheObsolete(), SCH_EDIT_FRAME::Load_Component(), SCH_EDIT_FRAME::LoadCmpToFootprintLinkFile(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), LIB_EDIT_FRAME::LoadOneSymbol(), CVPCB_MAINFRAME::LoadProjectFile(), SCH_EDIT_FRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_GENCAD_EXPORT_OPTIONS::onBrowse(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), SCH_BASE_FRAME::OnEditSymbolLibTable(), DIALOG_GENDRILL::OnGenReportFile(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), PCB_EDIT_FRAME::OnLeftClick(), 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_CHOOSE_COMPONENT::OnSchViewPaint(), DIALOG_SPICE_MODEL::onSelectLibrary(), LIB_VIEW_FRAME::OnSelectSymbol(), 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(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Config(), 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::RescueLegacyProject(), SCH_EDIT_FRAME::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::saveLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), PCB_EDIT_FRAME::SaveProjectSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectComponentFromLibrary(), FOOTPRINT_VIEWER_FRAME::SelectCurrentFootprint(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), LIB_EDIT_FRAME::selectSymLibTable(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), EDA_3D_VIEWER::takeScreenshot(), SIM_PLOT_FRAME::updateNetlistExporter(), SCH_SCREEN::UpdateSymbolLinks(), 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 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(); }
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 #ifndef __WINDOWS__
159  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
160 #endif
161  ret = wxDialog::Show( show );
162 
163  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
164  EDA_RECT r = class_map[ hash_key ];
165 
166  if( r.GetSize().x != 0 && r.GetSize().y != 0 )
167  SetSize( r.GetPosition().x, r.GetPosition().y, r.GetSize().x, r.GetSize().y, 0 );
168  }
169  else
170  {
171  // Save the dialog's position & size before hiding, using classname as key
172  EDA_RECT r( wxDialog::GetPosition(), wxDialog::GetSize() );
173  class_map[ hash_key ] = r;
174 
175  ret = wxDialog::Show( show );
176  }
177 
179 
180  return ret;
181 }
const wxSize GetSize() const
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.
int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 497 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 SCH_EDIT_FRAME::EditComponent(), SCH_EDIT_FRAME::EditComponentFieldText(), LIB_EDIT_FRAME::EditField(), EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), LIB_EDIT_FRAME::InstallFieldsEditorDialog(), SCH_EDIT_FRAME::InstallHierarchyFrame(), InvokeDialogCreateBOMEditor(), InvokeDialogUpdateFields(), SCH_EDIT_FRAME::OnRemapSymbols(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), and SCH_BASE_FRAME::SelectComponentFromLibrary().

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