KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_footprint_properties_fp_editor_base.cpp
Go to the documentation of this file.
1
2// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
3// http://www.wxformbuilder.org/
4//
5// PLEASE DO *NOT* EDIT THIS FILE!
7
9#include "widgets/wx_grid.h"
10
12
14
15DIALOG_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, _("Fields") ), 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, 84 );
40 m_itemsGrid->SetColSize( 1, 48 );
41 m_itemsGrid->SetColSize( 2, 84 );
42 m_itemsGrid->SetColSize( 3, 84 );
43 m_itemsGrid->SetColSize( 4, 84 );
44 m_itemsGrid->SetColSize( 5, 60 );
45 m_itemsGrid->SetColSize( 6, 84 );
46 m_itemsGrid->SetColSize( 7, 84 );
47 m_itemsGrid->SetColSize( 8, 48 );
48 m_itemsGrid->SetColSize( 9, 84 );
49 m_itemsGrid->SetColSize( 10, 84 );
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") );
63 m_itemsGrid->SetColLabelSize( wxGRID_AUTOSIZE );
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_CENTER );
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 STD_BITMAP_BUTTON( 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 STD_BITMAP_BUTTON( 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, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
98
99 wxBoxSizer* bColumns;
100 bColumns = new wxBoxSizer( wxHORIZONTAL );
101
102 wxStaticBoxSizer* sbMetadataSizer;
103 sbMetadataSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Metadata") ), wxVERTICAL );
104
105 wxFlexGridSizer* fgSizerFPID;
106 fgSizerFPID = new wxFlexGridSizer( 4, 2, 3, 0 );
107 fgSizerFPID->AddGrowableCol( 1 );
108 fgSizerFPID->SetFlexibleDirection( wxBOTH );
109 fgSizerFPID->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
110
111 wxStaticText* staticFPNameLabel;
112 staticFPNameLabel = new wxStaticText( sbMetadataSizer->GetStaticBox(), wxID_ANY, _("Footprint name:"), wxDefaultPosition, wxDefaultSize, 0 );
113 staticFPNameLabel->Wrap( -1 );
114 fgSizerFPID->Add( staticFPNameLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
115
116 m_FootprintNameCtrl = new wxTextCtrl( sbMetadataSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
117 fgSizerFPID->Add( m_FootprintNameCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
118
119 wxStaticText* staticDescriptionLabel;
120 staticDescriptionLabel = new wxStaticText( sbMetadataSizer->GetStaticBox(), wxID_ANY, _("Description:"), wxDefaultPosition, wxDefaultSize, 0 );
121 staticDescriptionLabel->Wrap( -1 );
122 fgSizerFPID->Add( staticDescriptionLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_TOP|wxLEFT, 5 );
123
124 m_DocCtrl = new wxTextCtrl( sbMetadataSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
125 fgSizerFPID->Add( m_DocCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
126
127 staticKeywordsLabel = new wxStaticText( sbMetadataSizer->GetStaticBox(), wxID_ANY, _("Keywords:"), wxDefaultPosition, wxDefaultSize, 0 );
128 staticKeywordsLabel->Wrap( -1 );
129 fgSizerFPID->Add( staticKeywordsLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
130
131 m_KeywordCtrl = new wxTextCtrl( sbMetadataSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
132 fgSizerFPID->Add( m_KeywordCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
133
134
135 sbMetadataSizer->Add( fgSizerFPID, 1, wxEXPAND, 10 );
136
137 wxBoxSizer* bHeightSizer;
138 bHeightSizer = new wxBoxSizer( wxHORIZONTAL );
139
140 m_heightLabel = new wxStaticText( sbMetadataSizer->GetStaticBox(), wxID_ANY, _("Height:"), wxDefaultPosition, wxDefaultSize, 0 );
141 m_heightLabel->Wrap( -1 );
142 m_heightLabel->SetToolTip( _("Optional overall height specification for the footprint, independent from any 3D models.") );
143
144 bHeightSizer->Add( m_heightLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
145
146 m_heightCtrl = new wxTextCtrl( sbMetadataSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
147 m_heightCtrl->SetToolTip( _("Optional overall height specification for the footprint, independent from any 3D models.") );
148
149 bHeightSizer->Add( m_heightCtrl, 1, wxEXPAND, 5 );
150
151 m_heightUnits = new wxStaticText( sbMetadataSizer->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
152 m_heightUnits->Wrap( -1 );
153 bHeightSizer->Add( m_heightUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 3 );
154
155
156 sbMetadataSizer->Add( bHeightSizer, 0, wxEXPAND, 5 );
157
158
159 bColumns->Add( sbMetadataSizer, 1, wxEXPAND|wxALL, 5 );
160
161
162 bColumns->Add( 5, 0, 0, wxEXPAND, 5 );
163
164 wxStaticBoxSizer* sbAttributesSizer;
165 sbAttributesSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes") ), wxVERTICAL );
166
167 wxBoxSizer* bPartTypeSizer;
168 bPartTypeSizer = new wxBoxSizer( wxHORIZONTAL );
169
170 m_componentTypeLabel = new wxStaticText( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Component type:"), wxDefaultPosition, wxDefaultSize, 0 );
171 m_componentTypeLabel->Wrap( -1 );
172 bPartTypeSizer->Add( m_componentTypeLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
173
174 wxString m_componentTypeChoices[] = { _("Through hole"), _("SMD"), _("Unspecified") };
175 int m_componentTypeNChoices = sizeof( m_componentTypeChoices ) / sizeof( wxString );
176 m_componentType = new wxChoice( sbAttributesSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_componentTypeNChoices, m_componentTypeChoices, 0 );
177 m_componentType->SetSelection( 0 );
178 bPartTypeSizer->Add( m_componentType, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
179
180
181 sbAttributesSizer->Add( bPartTypeSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 );
182
183 m_cbExcludeFromSim = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Exclude from simulation"), wxDefaultPosition, wxDefaultSize, 0 );
184 sbAttributesSizer->Add( m_cbExcludeFromSim, 0, wxALL, 5 );
185
186 m_boardOnly = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Not in schematic"), wxDefaultPosition, wxDefaultSize, 0 );
187 sbAttributesSizer->Add( m_boardOnly, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
188
189 m_cbDNP = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Do not populate"), wxDefaultPosition, wxDefaultSize, 0 );
190 sbAttributesSizer->Add( m_cbDNP, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
191
192 m_excludeFromBOM = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Exclude from bill of materials"), wxDefaultPosition, wxDefaultSize, 0 );
193 sbAttributesSizer->Add( m_excludeFromBOM, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
194
195 m_excludeFromPosFiles = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Exclude from position files"), wxDefaultPosition, wxDefaultSize, 0 );
196 sbAttributesSizer->Add( m_excludeFromPosFiles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
197
198
199 bColumns->Add( sbAttributesSizer, 0, wxEXPAND|wxALL, 5 );
200
201
202 m_PanelPropertiesBoxSizer->Add( bColumns, 0, wxEXPAND, 5 );
203
204
205 m_PanelGeneral->SetSizer( m_PanelPropertiesBoxSizer );
206 m_PanelGeneral->Layout();
207 m_PanelPropertiesBoxSizer->Fit( m_PanelGeneral );
208 m_NoteBook->AddPage( m_PanelGeneral, _("General"), true );
209 m_LayersPanel = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
210 wxBoxSizer* bSizer14;
211 bSizer14 = new wxBoxSizer( wxHORIZONTAL );
212
213 wxStaticBoxSizer* sbSizer11;
214 sbSizer11 = new wxStaticBoxSizer( new wxStaticBox( m_LayersPanel, wxID_ANY, _("Custom Layers") ), wxVERTICAL );
215
216 wxGridBagSizer* gbSizer3;
217 gbSizer3 = new wxGridBagSizer( 0, 0 );
218 gbSizer3->SetFlexibleDirection( wxBOTH );
219 gbSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
220
221 m_cbCustomLayers = new wxCheckBox( sbSizer11->GetStaticBox(), wxID_ANY, _("Use custom stackup"), wxDefaultPosition, wxDefaultSize, 0 );
222 gbSizer3->Add( m_cbCustomLayers, wxGBPosition( 0, 0 ), wxGBSpan( 1, 2 ), wxALL|wxEXPAND, 5 );
223
224 m_copperLayerCountLabel = new wxStaticText( sbSizer11->GetStaticBox(), wxID_ANY, _("Copper layers"), wxDefaultPosition, wxDefaultSize, 0 );
225 m_copperLayerCountLabel->Wrap( -1 );
226 gbSizer3->Add( m_copperLayerCountLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
227
228 wxString m_copperLayerCountChoices[] = { _("2"), _("4"), _("6"), _("8"), _("10"), _("12"), _("14"), _("16"), _("18"), _("20"), _("22"), _("24"), _("26"), _("28"), _("30"), _("32"), wxEmptyString };
229 int m_copperLayerCountNChoices = sizeof( m_copperLayerCountChoices ) / sizeof( wxString );
230 m_copperLayerCount = new wxChoice( sbSizer11->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_copperLayerCountNChoices, m_copperLayerCountChoices, 0 );
231 m_copperLayerCount->SetSelection( 0 );
232 m_copperLayerCount->Enable( false );
233
234 gbSizer3->Add( m_copperLayerCount, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
235
236 wxStaticBoxSizer* sbUserCustomerLayers;
237 sbUserCustomerLayers = new wxStaticBoxSizer( new wxStaticBox( sbSizer11->GetStaticBox(), wxID_ANY, _("User Layers") ), wxVERTICAL );
238
239 m_customUserLayersGrid = new WX_GRID( sbUserCustomerLayers->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
240
241 // Grid
242 m_customUserLayersGrid->CreateGrid( 2, 1 );
243 m_customUserLayersGrid->EnableEditing( true );
244 m_customUserLayersGrid->EnableGridLines( true );
245 m_customUserLayersGrid->EnableDragGridSize( false );
246 m_customUserLayersGrid->SetMargins( 0, 0 );
247
248 // Columns
249 m_customUserLayersGrid->SetColSize( 0, 180 );
250 m_customUserLayersGrid->EnableDragColMove( false );
251 m_customUserLayersGrid->EnableDragColSize( true );
252 m_customUserLayersGrid->SetColLabelSize( 0 );
253 m_customUserLayersGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
254
255 // Rows
256 m_customUserLayersGrid->EnableDragRowSize( false );
257 m_customUserLayersGrid->SetRowLabelSize( 0 );
258 m_customUserLayersGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
259
260 // Label Appearance
261
262 // Cell Defaults
263 m_customUserLayersGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
264 sbUserCustomerLayers->Add( m_customUserLayersGrid, 1, wxALL|wxEXPAND, 5 );
265
266 wxBoxSizer* bButtonSize11;
267 bButtonSize11 = new wxBoxSizer( wxHORIZONTAL );
268
269 m_bpAddCustomLayer = new STD_BITMAP_BUTTON( sbUserCustomerLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
270 bButtonSize11->Add( m_bpAddCustomLayer, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
271
272
273 bButtonSize11->Add( 20, 0, 0, wxEXPAND, 5 );
274
275 m_bpDeleteCustomLayer = new STD_BITMAP_BUTTON( sbUserCustomerLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
276 bButtonSize11->Add( m_bpDeleteCustomLayer, 0, wxBOTTOM|wxRIGHT, 5 );
277
278
279 sbUserCustomerLayers->Add( bButtonSize11, 0, wxEXPAND, 5 );
280
281
282 gbSizer3->Add( sbUserCustomerLayers, wxGBPosition( 2, 0 ), wxGBSpan( 1, 2 ), wxALL|wxEXPAND, 5 );
283
284
285 gbSizer3->AddGrowableCol( 1 );
286 gbSizer3->AddGrowableRow( 2 );
287
288 sbSizer11->Add( gbSizer3, 1, wxEXPAND, 5 );
289
290
291 bSizer14->Add( sbSizer11, 1, wxEXPAND|wxRIGHT|wxTOP, 5 );
292
293 wxStaticBoxSizer* bSizerPrivateLayers;
294 bSizerPrivateLayers = new wxStaticBoxSizer( new wxStaticBox( m_LayersPanel, wxID_ANY, _("Private Layers") ), wxVERTICAL );
295
296 m_privateLayersGrid = new WX_GRID( bSizerPrivateLayers->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
297
298 // Grid
299 m_privateLayersGrid->CreateGrid( 2, 1 );
300 m_privateLayersGrid->EnableEditing( true );
301 m_privateLayersGrid->EnableGridLines( true );
302 m_privateLayersGrid->EnableDragGridSize( false );
303 m_privateLayersGrid->SetMargins( 0, 0 );
304
305 // Columns
306 m_privateLayersGrid->SetColSize( 0, 180 );
307 m_privateLayersGrid->EnableDragColMove( false );
308 m_privateLayersGrid->EnableDragColSize( true );
309 m_privateLayersGrid->SetColLabelSize( 0 );
310 m_privateLayersGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
311
312 // Rows
313 m_privateLayersGrid->EnableDragRowSize( false );
314 m_privateLayersGrid->SetRowLabelSize( 0 );
315 m_privateLayersGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
316
317 // Label Appearance
318
319 // Cell Defaults
320 m_privateLayersGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
321 bSizerPrivateLayers->Add( m_privateLayersGrid, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
322
323 wxBoxSizer* bPrivateLayerButtonsSizer;
324 bPrivateLayerButtonsSizer = new wxBoxSizer( wxHORIZONTAL );
325
326 m_bpAddPrivateLayer = new STD_BITMAP_BUTTON( bSizerPrivateLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
327 bPrivateLayerButtonsSizer->Add( m_bpAddPrivateLayer, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
328
329
330 bPrivateLayerButtonsSizer->Add( 20, 0, 0, wxEXPAND, 5 );
331
332 m_bpDeletePrivateLayer = new STD_BITMAP_BUTTON( bSizerPrivateLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
333 bPrivateLayerButtonsSizer->Add( m_bpDeletePrivateLayer, 0, wxBOTTOM|wxRIGHT, 5 );
334
335
336 bSizerPrivateLayers->Add( bPrivateLayerButtonsSizer, 0, wxEXPAND, 5 );
337
338
339 bSizer14->Add( bSizerPrivateLayers, 1, wxEXPAND|wxLEFT|wxTOP, 5 );
340
341
342 m_LayersPanel->SetSizer( bSizer14 );
343 m_LayersPanel->Layout();
344 bSizer14->Fit( m_LayersPanel );
345 m_NoteBook->AddPage( m_LayersPanel, _("Layers"), false );
346 m_PanelClearances = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
347 wxBoxSizer* bSizerPanelClearances;
348 bSizerPanelClearances = new wxBoxSizer( wxVERTICAL );
349
350 wxStaticBoxSizer* sbSizerLocalProperties;
351 sbSizerLocalProperties = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Clearances") ), wxVERTICAL );
352
353 m_staticTextInfo = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Leave values blank to use netclass values."), wxDefaultPosition, wxDefaultSize, 0 );
354 m_staticTextInfo->Wrap( -1 );
355 sbSizerLocalProperties->Add( m_staticTextInfo, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
356
357 wxGridBagSizer* gbSizer1;
358 gbSizer1 = new wxGridBagSizer( 4, 0 );
359 gbSizer1->SetFlexibleDirection( wxBOTH );
360 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
361 gbSizer1->SetEmptyCellSize( wxSize( -1,15 ) );
362
363 m_NetClearanceLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
364 m_NetClearanceLabel->Wrap( -1 );
365 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.") );
366
367 gbSizer1->Add( m_NetClearanceLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
368
369 m_NetClearanceCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
370 gbSizer1->Add( m_NetClearanceCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
371
372 m_NetClearanceUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
373 m_NetClearanceUnits->Wrap( -1 );
374 gbSizer1->Add( m_NetClearanceUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
375
376 m_SolderMaskMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder mask expansion:"), wxDefaultPosition, wxDefaultSize, 0 );
377 m_SolderMaskMarginLabel->Wrap( -1 );
378 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.") );
379
380 gbSizer1->Add( m_SolderMaskMarginLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
381
382 m_SolderMaskMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
383 gbSizer1->Add( m_SolderMaskMarginCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
384
385 m_SolderMaskMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
386 m_SolderMaskMarginUnits->Wrap( -1 );
387 gbSizer1->Add( m_SolderMaskMarginUnits, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
388
389 m_allowBridges = new wxCheckBox( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Allow bridged solder mask apertures between pads"), wxDefaultPosition, wxDefaultSize, 0 );
390 gbSizer1->Add( m_allowBridges, wxGBPosition( 3, 0 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
391
392 m_SolderPasteMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
393 m_SolderPasteMarginLabel->Wrap( -1 );
394 m_SolderPasteMarginLabel->SetToolTip( _("Solder paste clearance relative to pad size.\nEnter an absolute value (e.g., -0.1mm), a percentage (e.g., -5%), or both (e.g., -0.1mm - 5%).\nThis value can be superseded by local values for a footprint or a pad.") );
395
396 gbSizer1->Add( m_SolderPasteMarginLabel, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
397
398 m_SolderPasteMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
399 m_SolderPasteMarginCtrl->SetToolTip( _("Local solder paste clearance for this footprint.\nEnter an absolute value (e.g., -0.1mm), a percentage (e.g., -5%), or both (e.g., -0.1mm - 5%).\nIf blank, the global value is used.") );
400
401 gbSizer1->Add( m_SolderPasteMarginCtrl, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
402
403 m_SolderPasteMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
404 m_SolderPasteMarginUnits->Wrap( -1 );
405 gbSizer1->Add( m_SolderPasteMarginUnits, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
406
407 m_PasteMarginRatioLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste relative clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
408 m_PasteMarginRatioLabel->Wrap( -1 );
409 m_PasteMarginRatioLabel->SetToolTip( _("This is the local clearance ratio applied as a percentage of the pad width and height for this footprint.\nA value of 10 means the horizontal clearance value is 10 percent of the pad’s width, and the vertical clearance value is 10 percent of the pad’s height.\nThe final clearance value is the sum of this value and the absolute clearance value.\nA negative value means a smaller stencil aperture size than pad size.\nThis value can be overridden on a pad-by-pad basis in the Local Clearance and Settings tab of Pad Properties.") );
410
411 gbSizer1->Add( m_PasteMarginRatioLabel, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
412
413 m_PasteMarginRatioCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
414 gbSizer1->Add( m_PasteMarginRatioCtrl, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
415
416 m_PasteMarginRatioUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
417 m_PasteMarginRatioUnits->Wrap( -1 );
418 gbSizer1->Add( m_PasteMarginRatioUnits, wxGBPosition( 6, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
419
420
421 sbSizerLocalProperties->Add( gbSizer1, 0, wxEXPAND|wxTOP|wxBOTTOM, 10 );
422
423 wxFlexGridSizer* fgSizerClearances;
424 fgSizerClearances = new wxFlexGridSizer( 5, 3, 0, 0 );
425 fgSizerClearances->AddGrowableCol( 1 );
426 fgSizerClearances->SetFlexibleDirection( wxBOTH );
427 fgSizerClearances->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
428
429
430 sbSizerLocalProperties->Add( fgSizerClearances, 1, wxEXPAND, 5 );
431
432 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 );
433 m_staticTextInfoCopper->Wrap( -1 );
434 sbSizerLocalProperties->Add( m_staticTextInfoCopper, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
435
436 m_staticTextInfoPaste = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
437 m_staticTextInfoPaste->Wrap( -1 );
438 sbSizerLocalProperties->Add( m_staticTextInfoPaste, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
439
440
441 bSizerPanelClearances->Add( sbSizerLocalProperties, 0, wxEXPAND|wxALL, 5 );
442
443
444 bSizerPanelClearances->Add( 0, 5, 0, wxEXPAND, 5 );
445
446 wxStaticBoxSizer* sbSizerCourtyards;
447 sbSizerCourtyards = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Courtyards") ), wxVERTICAL );
448
449 m_noCourtyards = new wxCheckBox( sbSizerCourtyards->GetStaticBox(), wxID_ANY, _("Exempt from courtyard requirement"), wxDefaultPosition, wxDefaultSize, 0 );
450 m_noCourtyards->SetToolTip( _("Will not generate \"missing courtyard\" DRC violations") );
451
452 sbSizerCourtyards->Add( m_noCourtyards, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
453
454
455 bSizerPanelClearances->Add( sbSizerCourtyards, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
456
457
458 m_PanelClearances->SetSizer( bSizerPanelClearances );
459 m_PanelClearances->Layout();
460 bSizerPanelClearances->Fit( m_PanelClearances );
461 m_NoteBook->AddPage( m_PanelClearances, _("Clearance Overrides"), false );
462 m_PanelPadConnections = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
463 wxBoxSizer* bSizer19;
464 bSizer19 = new wxBoxSizer( wxVERTICAL );
465
466 wxStaticBoxSizer* sbSizerCopperZones;
467 sbSizerCopperZones = new wxStaticBoxSizer( new wxStaticBox( m_PanelPadConnections, wxID_ANY, _("Connection to Copper Zones") ), wxHORIZONTAL );
468
469 m_staticText16 = new wxStaticText( sbSizerCopperZones->GetStaticBox(), wxID_ANY, _("Pad connection to zones:"), wxDefaultPosition, wxDefaultSize, 0 );
470 m_staticText16->Wrap( -1 );
471 sbSizerCopperZones->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
472
473 wxString m_ZoneConnectionChoiceChoices[] = { _("Use zone setting"), _("Solid"), _("Thermal relief"), _("None") };
474 int m_ZoneConnectionChoiceNChoices = sizeof( m_ZoneConnectionChoiceChoices ) / sizeof( wxString );
475 m_ZoneConnectionChoice = new wxChoice( sbSizerCopperZones->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionChoiceNChoices, m_ZoneConnectionChoiceChoices, 0 );
476 m_ZoneConnectionChoice->SetSelection( 0 );
477 sbSizerCopperZones->Add( m_ZoneConnectionChoice, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
478
479
480 bSizer19->Add( sbSizerCopperZones, 0, wxALL|wxEXPAND, 5 );
481
482
483 bSizer19->Add( 0, 5, 0, wxEXPAND, 5 );
484
485 wxStaticBoxSizer* sbSizerNetTies;
486 sbSizerNetTies = new wxStaticBoxSizer( new wxStaticBox( m_PanelPadConnections, wxID_ANY, _("Net Ties") ), wxVERTICAL );
487
488 m_nettieGroupsLabel = new wxStaticText( sbSizerNetTies->GetStaticBox(), wxID_ANY, _("Pad groups allowed to short different nets:"), wxDefaultPosition, wxDefaultSize, 0 );
489 m_nettieGroupsLabel->Wrap( -1 );
490 sbSizerNetTies->Add( m_nettieGroupsLabel, 0, wxRIGHT|wxLEFT, 5 );
491
492 m_nettieGroupsGrid = new WX_GRID( sbSizerNetTies->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
493
494 // Grid
495 m_nettieGroupsGrid->CreateGrid( 0, 1 );
496 m_nettieGroupsGrid->EnableEditing( true );
497 m_nettieGroupsGrid->EnableGridLines( true );
498 m_nettieGroupsGrid->EnableDragGridSize( false );
499 m_nettieGroupsGrid->SetMargins( 0, 0 );
500
501 // Columns
502 m_nettieGroupsGrid->SetColSize( 0, 320 );
503 m_nettieGroupsGrid->EnableDragColMove( false );
504 m_nettieGroupsGrid->EnableDragColSize( true );
505 m_nettieGroupsGrid->SetColLabelSize( 0 );
506 m_nettieGroupsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
507
508 // Rows
509 m_nettieGroupsGrid->EnableDragRowSize( true );
510 m_nettieGroupsGrid->SetRowLabelSize( 0 );
511 m_nettieGroupsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
512
513 // Label Appearance
514
515 // Cell Defaults
516 m_nettieGroupsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
517 m_nettieGroupsGrid->SetMinSize( wxSize( -1,30 ) );
518
519 sbSizerNetTies->Add( m_nettieGroupsGrid, 1, wxALL|wxEXPAND, 5 );
520
521 wxBoxSizer* bButtonSize2;
522 bButtonSize2 = new wxBoxSizer( wxHORIZONTAL );
523
524 m_bpAddNettieGroup = new STD_BITMAP_BUTTON( sbSizerNetTies->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
525 bButtonSize2->Add( m_bpAddNettieGroup, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
526
527
528 bButtonSize2->Add( 20, 0, 0, wxEXPAND, 5 );
529
530 m_bpRemoveNettieGroup = new STD_BITMAP_BUTTON( sbSizerNetTies->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
531 bButtonSize2->Add( m_bpRemoveNettieGroup, 0, wxBOTTOM|wxRIGHT, 5 );
532
533
534 sbSizerNetTies->Add( bButtonSize2, 0, wxEXPAND, 2 );
535
536
537 bSizer19->Add( sbSizerNetTies, 1, wxALL|wxEXPAND, 5 );
538
539
540 bSizer19->Add( 0, 5, 0, wxEXPAND, 5 );
541
542 wxStaticBoxSizer* sbJumpers;
543 sbJumpers = new wxStaticBoxSizer( new wxStaticBox( m_PanelPadConnections, wxID_ANY, _("Jumpers") ), wxVERTICAL );
544
545 m_cbDuplicatePadsAreJumpers = new wxCheckBox( sbJumpers->GetStaticBox(), wxID_ANY, _("All pads with duplicate numbers are jumpers"), wxDefaultPosition, wxDefaultSize, 0 );
546 m_cbDuplicatePadsAreJumpers->SetToolTip( _("When enabled, this footprint can have more than one pad with the same number, and pads with the same number will be considered to be jumpered together internally.") );
547
548 sbJumpers->Add( m_cbDuplicatePadsAreJumpers, 0, wxALL, 5 );
549
550
551 sbJumpers->Add( 0, 5, 0, wxEXPAND, 5 );
552
553 m_jumperGroupsLabel = new wxStaticText( sbJumpers->GetStaticBox(), wxID_ANY, _("Explicit jumper pad groups:"), wxDefaultPosition, wxDefaultSize, 0 );
554 m_jumperGroupsLabel->Wrap( -1 );
555 sbJumpers->Add( m_jumperGroupsLabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
556
557 m_jumperGroupsGrid = new WX_GRID( sbJumpers->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
558
559 // Grid
560 m_jumperGroupsGrid->CreateGrid( 0, 1 );
561 m_jumperGroupsGrid->EnableEditing( true );
562 m_jumperGroupsGrid->EnableGridLines( true );
563 m_jumperGroupsGrid->EnableDragGridSize( false );
564 m_jumperGroupsGrid->SetMargins( 0, 0 );
565
566 // Columns
567 m_jumperGroupsGrid->SetColSize( 0, 320 );
568 m_jumperGroupsGrid->EnableDragColMove( false );
569 m_jumperGroupsGrid->EnableDragColSize( true );
570 m_jumperGroupsGrid->SetColLabelSize( 0 );
571 m_jumperGroupsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
572
573 // Rows
574 m_jumperGroupsGrid->EnableDragRowSize( true );
575 m_jumperGroupsGrid->SetRowLabelSize( 0 );
576 m_jumperGroupsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
577
578 // Label Appearance
579
580 // Cell Defaults
581 m_jumperGroupsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
582 m_jumperGroupsGrid->SetMinSize( wxSize( -1,30 ) );
583
584 sbJumpers->Add( m_jumperGroupsGrid, 1, wxALL|wxEXPAND, 5 );
585
586 wxBoxSizer* bButtonSize21;
587 bButtonSize21 = new wxBoxSizer( wxHORIZONTAL );
588
589 m_bpAddJumperGroup = new STD_BITMAP_BUTTON( sbJumpers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
590 bButtonSize21->Add( m_bpAddJumperGroup, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
591
592
593 bButtonSize21->Add( 20, 0, 0, wxEXPAND, 5 );
594
595 m_bpRemoveJumperGroup = new STD_BITMAP_BUTTON( sbJumpers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
596 bButtonSize21->Add( m_bpRemoveJumperGroup, 0, wxBOTTOM|wxRIGHT, 5 );
597
598
599 sbJumpers->Add( bButtonSize21, 0, wxEXPAND, 5 );
600
601
602 bSizer19->Add( sbJumpers, 1, wxALL|wxTOP|wxEXPAND, 5 );
603
604
605 m_PanelPadConnections->SetSizer( bSizer19 );
606 m_PanelPadConnections->Layout();
607 bSizer19->Fit( m_PanelPadConnections );
608 m_NoteBook->AddPage( m_PanelPadConnections, _("Pad Connections"), false );
609
610 m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
611
612 wxBoxSizer* bSizer16;
613 bSizer16 = new wxBoxSizer( wxHORIZONTAL );
614
615 m_sdbSizerStdButtons = new wxStdDialogButtonSizer();
616 m_sdbSizerStdButtonsOK = new wxButton( this, wxID_OK );
618 m_sdbSizerStdButtonsCancel = new wxButton( this, wxID_CANCEL );
620 m_sdbSizerStdButtons->Realize();
621
622 bSizer16->Add( m_sdbSizerStdButtons, 1, wxEXPAND|wxALL, 5 );
623
624
625 m_GeneralBoxSizer->Add( bSizer16, 0, wxEXPAND|wxTOP, 5 );
626
627
628 this->SetSizer( m_GeneralBoxSizer );
629 this->Layout();
630 m_GeneralBoxSizer->Fit( this );
631
632 // Connect Events
633 this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnInitDlg ) );
634 this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUpdateUI ) );
635 m_NoteBook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnPageChanging ), NULL, this );
636 m_bpAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddField ), NULL, this );
637 m_bpDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteField ), NULL, this );
638 m_FootprintNameCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
639 m_DocCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
640 m_KeywordCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
641 m_heightCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
642 m_componentType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnChoice ), NULL, this );
643 m_cbExcludeFromSim->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
644 m_boardOnly->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
645 m_cbDNP->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
646 m_excludeFromBOM->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
647 m_excludeFromPosFiles->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
648 m_cbCustomLayers->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUseCustomLayers ), NULL, this );
649 m_bpAddCustomLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddCustomLayer ), NULL, this );
650 m_bpDeleteCustomLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteCustomLayer ), NULL, this );
651 m_bpAddPrivateLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddPrivateLayer ), NULL, this );
652 m_bpDeletePrivateLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeletePrivateLayer ), NULL, this );
653 m_noCourtyards->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
654 m_bpAddNettieGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddNettieGroup ), NULL, this );
655 m_bpRemoveNettieGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveNettieGroup ), NULL, this );
656 m_bpAddJumperGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddJumperGroup ), NULL, this );
657 m_bpRemoveJumperGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveJumperGroup ), NULL, this );
658}
659
661{
662 // Disconnect Events
663 this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnInitDlg ) );
664 this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUpdateUI ) );
665 m_NoteBook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnPageChanging ), NULL, this );
666 m_bpAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddField ), NULL, this );
667 m_bpDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteField ), NULL, this );
668 m_FootprintNameCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
669 m_DocCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
670 m_KeywordCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
671 m_heightCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
672 m_componentType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnChoice ), NULL, this );
673 m_cbExcludeFromSim->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
674 m_boardOnly->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
675 m_cbDNP->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
676 m_excludeFromBOM->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
677 m_excludeFromPosFiles->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
678 m_cbCustomLayers->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUseCustomLayers ), NULL, this );
679 m_bpAddCustomLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddCustomLayer ), NULL, this );
680 m_bpDeleteCustomLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteCustomLayer ), NULL, this );
681 m_bpAddPrivateLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddPrivateLayer ), NULL, this );
682 m_bpDeletePrivateLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeletePrivateLayer ), NULL, this );
683 m_noCourtyards->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
684 m_bpAddNettieGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddNettieGroup ), NULL, this );
685 m_bpRemoveNettieGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveNettieGroup ), NULL, this );
686 m_bpAddJumperGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddJumperGroup ), NULL, this );
687 m_bpRemoveJumperGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveJumperGroup ), NULL, this );
688
689}
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)
DIALOG_SHIM(wxWindow *aParent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER, const wxString &name=wxDialogNameStr)
A bitmap button widget that behaves like a standard dialog button except with an icon.
#define _(s)