KiCad PCB EDA Suite
dialog_footprint_properties_fp_editor_base.cpp
Go to the documentation of this file.
1 // C++ code generated with wxFormBuilder (version 3.10.0-4761b0c5)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO *NOT* EDIT THIS FILE!
7 
9 #include "widgets/wx_grid.h"
10 
12 
14 
15 DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
16 {
17  this->SetSizeHints( wxDefaultSize, wxDefaultSize );
18 
19  m_GeneralBoxSizer = new wxBoxSizer( wxVERTICAL );
20 
21  m_NoteBook = new wxNotebook( this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize, 0 );
22  m_PanelGeneral = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
23  wxBoxSizer* m_PanelPropertiesBoxSizer;
24  m_PanelPropertiesBoxSizer = new wxBoxSizer( wxVERTICAL );
25 
26  wxStaticBoxSizer* sbSizerTexts;
27  sbSizerTexts = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, wxEmptyString ), wxVERTICAL );
28 
29  m_itemsGrid = new WX_GRID( sbSizerTexts->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
30 
31  // Grid
32  m_itemsGrid->CreateGrid( 2, 11 );
33  m_itemsGrid->EnableEditing( true );
34  m_itemsGrid->EnableGridLines( true );
35  m_itemsGrid->EnableDragGridSize( false );
36  m_itemsGrid->SetMargins( 0, 0 );
37 
38  // Columns
39  m_itemsGrid->SetColSize( 0, 124 );
40  m_itemsGrid->SetColSize( 1, 60 );
41  m_itemsGrid->SetColSize( 2, 110 );
42  m_itemsGrid->SetColSize( 3, 110 );
43  m_itemsGrid->SetColSize( 4, 110 );
44  m_itemsGrid->SetColSize( 5, 60 );
45  m_itemsGrid->SetColSize( 6, 110 );
46  m_itemsGrid->SetColSize( 7, 110 );
47  m_itemsGrid->SetColSize( 8, 110 );
48  m_itemsGrid->SetColSize( 9, 110 );
49  m_itemsGrid->SetColSize( 10, 110 );
50  m_itemsGrid->EnableDragColMove( false );
51  m_itemsGrid->EnableDragColSize( true );
52  m_itemsGrid->SetColLabelValue( 0, _("Text Items") );
53  m_itemsGrid->SetColLabelValue( 1, _("Show") );
54  m_itemsGrid->SetColLabelValue( 2, _("Width") );
55  m_itemsGrid->SetColLabelValue( 3, _("Height") );
56  m_itemsGrid->SetColLabelValue( 4, _("Thickness") );
57  m_itemsGrid->SetColLabelValue( 5, _("Italic") );
58  m_itemsGrid->SetColLabelValue( 6, _("Layer") );
59  m_itemsGrid->SetColLabelValue( 7, _("Orientation") );
60  m_itemsGrid->SetColLabelValue( 8, _("Unconstrained") );
61  m_itemsGrid->SetColLabelValue( 9, _("X Offset") );
62  m_itemsGrid->SetColLabelValue( 10, _("Y Offset") );
64  m_itemsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
65 
66  // Rows
67  m_itemsGrid->EnableDragRowSize( false );
68  m_itemsGrid->SetRowLabelValue( 0, _("Reference designator") );
69  m_itemsGrid->SetRowLabelValue( 1, _("Value") );
70  m_itemsGrid->SetRowLabelSize( 160 );
71  m_itemsGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
72 
73  // Label Appearance
74 
75  // Cell Defaults
76  m_itemsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
77  m_itemsGrid->SetMinSize( wxSize( 800,140 ) );
78 
79  sbSizerTexts->Add( m_itemsGrid, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
80 
81  wxBoxSizer* bButtonSize;
82  bButtonSize = new wxBoxSizer( wxHORIZONTAL );
83 
84  m_bpAdd = new wxBitmapButton( sbSizerTexts->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
85  bButtonSize->Add( m_bpAdd, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
86 
87 
88  bButtonSize->Add( 20, 0, 0, wxEXPAND, 5 );
89 
90  m_bpDelete = new wxBitmapButton( sbSizerTexts->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
91  bButtonSize->Add( m_bpDelete, 0, wxRIGHT, 5 );
92 
93 
94  sbSizerTexts->Add( bButtonSize, 0, wxEXPAND, 5 );
95 
96 
97  m_PanelPropertiesBoxSizer->Add( sbSizerTexts, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
98 
99  wxFlexGridSizer* fgSizerFPID;
100  fgSizerFPID = new wxFlexGridSizer( 4, 2, 3, 0 );
101  fgSizerFPID->AddGrowableCol( 1 );
102  fgSizerFPID->SetFlexibleDirection( wxBOTH );
103  fgSizerFPID->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
104 
105  wxStaticText* staticFPNameLabel;
106  staticFPNameLabel = new wxStaticText( m_PanelGeneral, wxID_ANY, _("Footprint name:"), wxDefaultPosition, wxDefaultSize, 0 );
107  staticFPNameLabel->Wrap( -1 );
108  fgSizerFPID->Add( staticFPNameLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
109 
110  m_FootprintNameCtrl = new wxTextCtrl( m_PanelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
111  fgSizerFPID->Add( m_FootprintNameCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
112 
113  wxStaticText* staticDescriptionLabel;
114  staticDescriptionLabel = new wxStaticText( m_PanelGeneral, wxID_ANY, _("Description:"), wxDefaultPosition, wxDefaultSize, 0 );
115  staticDescriptionLabel->Wrap( -1 );
116  fgSizerFPID->Add( staticDescriptionLabel, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
117 
118  m_DocCtrl = new wxTextCtrl( m_PanelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
119  fgSizerFPID->Add( m_DocCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
120 
121  staticKeywordsLabel = new wxStaticText( m_PanelGeneral, wxID_ANY, _("Keywords:"), wxDefaultPosition, wxDefaultSize, 0 );
122  staticKeywordsLabel->Wrap( -1 );
123  fgSizerFPID->Add( staticKeywordsLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
124 
125  m_KeywordCtrl = new wxTextCtrl( m_PanelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
126  fgSizerFPID->Add( m_KeywordCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
127 
128 
129  m_PanelPropertiesBoxSizer->Add( fgSizerFPID, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
130 
131  wxBoxSizer* bSizerProperties;
132  bSizerProperties = new wxBoxSizer( wxHORIZONTAL );
133 
134  m_sizerAP = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Auto-placement Rules") ), wxVERTICAL );
135 
136  m_sizerAllow90 = new wxBoxSizer( wxVERTICAL );
137 
138  m_allow90Label = new wxStaticText( m_sizerAP->GetStaticBox(), wxID_ANY, _("Allow 90 degree rotated placement:"), wxDefaultPosition, wxDefaultSize, 0 );
139  m_allow90Label->Wrap( -1 );
140  m_sizerAllow90->Add( m_allow90Label, 0, wxLEFT, 5 );
141 
142  m_CostRot90Ctrl = new wxSlider( m_sizerAP->GetStaticBox(), wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS );
143  m_sizerAllow90->Add( m_CostRot90Ctrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
144 
145 
146  m_sizerAP->Add( m_sizerAllow90, 0, wxEXPAND, 5 );
147 
148 
149  m_sizerAP->Add( 0, 8, 1, wxEXPAND, 5 );
150 
151  m_sizerAllow180 = new wxBoxSizer( wxVERTICAL );
152 
153  m_allow180Label = new wxStaticText( m_sizerAP->GetStaticBox(), wxID_ANY, _("Allow 180 degree rotated placement:"), wxDefaultPosition, wxDefaultSize, 0 );
154  m_allow180Label->Wrap( -1 );
155  m_sizerAllow180->Add( m_allow180Label, 0, wxLEFT, 5 );
156 
157  m_CostRot180Ctrl = new wxSlider( m_sizerAP->GetStaticBox(), wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS );
158  m_sizerAllow180->Add( m_CostRot180Ctrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
159 
160 
161  m_sizerAP->Add( m_sizerAllow180, 0, wxEXPAND|wxBOTTOM, 5 );
162 
163 
164  bSizerProperties->Add( m_sizerAP, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
165 
166 
167  bSizerProperties->Add( 10, 0, 0, wxEXPAND, 5 );
168 
169  wxStaticBoxSizer* sbFabSizer;
170  sbFabSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes") ), wxVERTICAL );
171 
172  wxBoxSizer* bPartTypeSizer;
173  bPartTypeSizer = new wxBoxSizer( wxHORIZONTAL );
174 
175  m_componentTypeLabel = new wxStaticText( sbFabSizer->GetStaticBox(), wxID_ANY, _("Component type:"), wxDefaultPosition, wxDefaultSize, 0 );
176  m_componentTypeLabel->Wrap( -1 );
177  bPartTypeSizer->Add( m_componentTypeLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
178 
179  wxString m_componentTypeChoices[] = { _("Through hole"), _("SMD"), _("Other") };
180  int m_componentTypeNChoices = sizeof( m_componentTypeChoices ) / sizeof( wxString );
181  m_componentType = new wxChoice( sbFabSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_componentTypeNChoices, m_componentTypeChoices, 0 );
182  m_componentType->SetSelection( 0 );
183  bPartTypeSizer->Add( m_componentType, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
184 
185 
186  sbFabSizer->Add( bPartTypeSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 );
187 
188  m_boardOnly = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Not in schematic"), wxDefaultPosition, wxDefaultSize, 0 );
189  sbFabSizer->Add( m_boardOnly, 0, wxALL, 5 );
190 
191  m_excludeFromPosFiles = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Exclude from position files"), wxDefaultPosition, wxDefaultSize, 0 );
192  sbFabSizer->Add( m_excludeFromPosFiles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
193 
194  m_excludeFromBOM = new wxCheckBox( sbFabSizer->GetStaticBox(), wxID_ANY, _("Exclude from BOM"), wxDefaultPosition, wxDefaultSize, 0 );
195  sbFabSizer->Add( m_excludeFromBOM, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
196 
197 
198  bSizerProperties->Add( sbFabSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
199 
200 
201  m_PanelPropertiesBoxSizer->Add( bSizerProperties, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
202 
203 
204  m_PanelGeneral->SetSizer( m_PanelPropertiesBoxSizer );
205  m_PanelGeneral->Layout();
206  m_PanelPropertiesBoxSizer->Fit( m_PanelGeneral );
207  m_NoteBook->AddPage( m_PanelGeneral, _("General"), false );
208  m_PanelClearances = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
209  wxBoxSizer* bSizerPanelClearances;
210  bSizerPanelClearances = new wxBoxSizer( wxVERTICAL );
211 
212  wxStaticBoxSizer* sbSizerLocalProperties;
213  sbSizerLocalProperties = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Clearances") ), wxVERTICAL );
214 
215  m_staticTextInfo = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Set values to 0 to use netclass values."), wxDefaultPosition, wxDefaultSize, 0 );
216  m_staticTextInfo->Wrap( -1 );
217  sbSizerLocalProperties->Add( m_staticTextInfo, 0, wxLEFT|wxRIGHT, 5 );
218 
219  m_staticTextInfoValPos = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Positive clearance means area bigger than the pad (usual for mask clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
220  m_staticTextInfoValPos->Wrap( -1 );
221  sbSizerLocalProperties->Add( m_staticTextInfoValPos, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
222 
223  m_staticTextInfoValNeg = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Negative clearance means area smaller than the pad (usual for paste clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
224  m_staticTextInfoValNeg->Wrap( -1 );
225  sbSizerLocalProperties->Add( m_staticTextInfoValNeg, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
226 
227  wxFlexGridSizer* fgSizerClearances;
228  fgSizerClearances = new wxFlexGridSizer( 5, 3, 0, 0 );
229  fgSizerClearances->AddGrowableCol( 1 );
230  fgSizerClearances->SetFlexibleDirection( wxBOTH );
231  fgSizerClearances->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
232 
233  m_NetClearanceLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
234  m_NetClearanceLabel->Wrap( -1 );
235  m_NetClearanceLabel->SetToolTip( _("This is the local net clearance for all pads of this footprint.\nIf 0, the Netclass values are used.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") );
236 
237  fgSizerClearances->Add( m_NetClearanceLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
238 
239  m_NetClearanceCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
240  fgSizerClearances->Add( m_NetClearanceCtrl, 1, wxEXPAND|wxALL, 5 );
241 
242  m_NetClearanceUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
243  m_NetClearanceUnits->Wrap( -1 );
244  fgSizerClearances->Add( m_NetClearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
245 
246  m_SolderMaskMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
247  m_SolderMaskMarginLabel->Wrap( -1 );
248  m_SolderMaskMarginLabel->SetToolTip( _("This is the local clearance between pads and the solder mask for \nthis footprint.\nIf 0, the global value is used.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") );
249 
250  fgSizerClearances->Add( m_SolderMaskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
251 
252  m_SolderMaskMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
253  fgSizerClearances->Add( m_SolderMaskMarginCtrl, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
254 
255  m_SolderMaskMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
256  m_SolderMaskMarginUnits->Wrap( -1 );
257  fgSizerClearances->Add( m_SolderMaskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
258 
259  m_SolderPasteMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste absolute clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
260  m_SolderPasteMarginLabel->Wrap( -1 );
261  m_SolderPasteMarginLabel->SetToolTip( _("This is the local clearance between pads and the solder paste for\nthis footprint.\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.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") );
262 
263  fgSizerClearances->Add( m_SolderPasteMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
264 
265  m_SolderPasteMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
266  fgSizerClearances->Add( m_SolderPasteMarginCtrl, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
267 
268  m_SolderPasteMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
269  m_SolderPasteMarginUnits->Wrap( -1 );
270  fgSizerClearances->Add( m_SolderPasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
271 
272  m_PasteMarginRatioLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste relative clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
273  m_PasteMarginRatioLabel->Wrap( -1 );
274  m_PasteMarginRatioLabel->SetToolTip( _("This is the local clearance ratio in percent between pads and the\nsolder paste for this footprint.\nA value of 10 means the clearance value is 10 percent of the pad size.\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.\nThis value can be overridden on a pad-by-pad basis in the Local\nClearance and Settings tab of Pad Properties.") );
275 
276  fgSizerClearances->Add( m_PasteMarginRatioLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
277 
278  m_PasteMarginRatioCtrl = new TEXT_CTRL_EVAL( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
279  fgSizerClearances->Add( m_PasteMarginRatioCtrl, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
280 
281  m_PasteMarginRatioUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
282  m_PasteMarginRatioUnits->Wrap( -1 );
283  fgSizerClearances->Add( m_PasteMarginRatioUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
284 
285 
286  sbSizerLocalProperties->Add( fgSizerClearances, 1, wxEXPAND, 5 );
287 
288  m_staticTextInfoCopper = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Note: solder mask and paste values are used only for pads on copper layers."), wxDefaultPosition, wxDefaultSize, 0 );
289  m_staticTextInfoCopper->Wrap( -1 );
290  sbSizerLocalProperties->Add( m_staticTextInfoCopper, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
291 
292  m_staticTextInfoPaste = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Note: solder paste clearances (absolute and relative) are added to determine the final clearance."), wxDefaultPosition, wxDefaultSize, 0 );
293  m_staticTextInfoPaste->Wrap( -1 );
294  sbSizerLocalProperties->Add( m_staticTextInfoPaste, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
295 
296 
297  bSizerPanelClearances->Add( sbSizerLocalProperties, 0, wxEXPAND|wxALL, 5 );
298 
299  wxStaticBoxSizer* sbSizer5;
300  sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Connection to Copper Zones") ), wxHORIZONTAL );
301 
302  m_staticText16 = new wxStaticText( sbSizer5->GetStaticBox(), wxID_ANY, _("Pad connection to zones:"), wxDefaultPosition, wxDefaultSize, 0 );
303  m_staticText16->Wrap( -1 );
304  sbSizer5->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
305 
306  wxString m_ZoneConnectionChoiceChoices[] = { _("Use zone setting"), _("Solid"), _("Thermal relief"), _("None") };
307  int m_ZoneConnectionChoiceNChoices = sizeof( m_ZoneConnectionChoiceChoices ) / sizeof( wxString );
308  m_ZoneConnectionChoice = new wxChoice( sbSizer5->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionChoiceNChoices, m_ZoneConnectionChoiceChoices, 0 );
309  m_ZoneConnectionChoice->SetSelection( 0 );
310  sbSizer5->Add( m_ZoneConnectionChoice, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
311 
312 
313  bSizerPanelClearances->Add( sbSizer5, 0, wxALL|wxEXPAND, 5 );
314 
315 
316  m_PanelClearances->SetSizer( bSizerPanelClearances );
317  m_PanelClearances->Layout();
318  bSizerPanelClearances->Fit( m_PanelClearances );
319  m_NoteBook->AddPage( m_PanelClearances, _("Clearance Overrides and Settings"), true );
320 
321  m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
322 
323  wxBoxSizer* bSizer16;
324  bSizer16 = new wxBoxSizer( wxHORIZONTAL );
325 
326  m_sdbSizerStdButtons = new wxStdDialogButtonSizer();
327  m_sdbSizerStdButtonsOK = new wxButton( this, wxID_OK );
329  m_sdbSizerStdButtonsCancel = new wxButton( this, wxID_CANCEL );
331  m_sdbSizerStdButtons->Realize();
332 
333  bSizer16->Add( m_sdbSizerStdButtons, 1, wxEXPAND|wxALL, 5 );
334 
335 
336  m_GeneralBoxSizer->Add( bSizer16, 0, wxEXPAND, 5 );
337 
338 
339  this->SetSizer( m_GeneralBoxSizer );
340  this->Layout();
341  m_GeneralBoxSizer->Fit( this );
342 
343  // Connect Events
344  this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnInitDlg ) );
345  this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUpdateUI ) );
346  m_itemsGrid->Connect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnGridSize ), NULL, this );
347  m_bpAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddField ), NULL, this );
348  m_bpDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteField ), NULL, this );
349  m_FootprintNameCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnFootprintNameText ), NULL, this );
350 }
351 
353 {
354  // Disconnect Events
355  this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnInitDlg ) );
356  this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUpdateUI ) );
357  m_itemsGrid->Disconnect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnGridSize ), NULL, this );
358  m_bpAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddField ), NULL, this );
359  m_bpDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteField ), NULL, this );
360  m_FootprintNameCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnFootprintNameText ), NULL, this );
361 
362 }
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
Definition: dialog_shim.h:82
#define _(s)
DIALOG_FOOTPRINT_PROPERTIES_FP_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)
wxTextCtrl wrapper to handle math expression evaluation.
void SetColLabelSize(int aHeight)
Hide wxGrid's SetColLabelSize() method with one which makes sure the size is tall enough for the syst...
Definition: wx_grid.cpp:53