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
138 bColumns->Add( sbMetadataSizer, 1, wxEXPAND|wxALL, 5 );
139
140
141 bColumns->Add( 5, 0, 0, wxEXPAND, 5 );
142
143 wxStaticBoxSizer* sbAttributesSizer;
144 sbAttributesSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelGeneral, wxID_ANY, _("Fabrication Attributes") ), wxVERTICAL );
145
146 wxBoxSizer* bPartTypeSizer;
147 bPartTypeSizer = new wxBoxSizer( wxHORIZONTAL );
148
149 m_componentTypeLabel = new wxStaticText( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Component type:"), wxDefaultPosition, wxDefaultSize, 0 );
150 m_componentTypeLabel->Wrap( -1 );
151 bPartTypeSizer->Add( m_componentTypeLabel, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
152
153 wxString m_componentTypeChoices[] = { _("Through hole"), _("SMD"), _("Unspecified") };
154 int m_componentTypeNChoices = sizeof( m_componentTypeChoices ) / sizeof( wxString );
155 m_componentType = new wxChoice( sbAttributesSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_componentTypeNChoices, m_componentTypeChoices, 0 );
156 m_componentType->SetSelection( 0 );
157 bPartTypeSizer->Add( m_componentType, 1, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
158
159
160 sbAttributesSizer->Add( bPartTypeSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 );
161
162 m_cbExcludeFromSim = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Exclude from simulation"), wxDefaultPosition, wxDefaultSize, 0 );
163 sbAttributesSizer->Add( m_cbExcludeFromSim, 0, wxALL, 5 );
164
165 m_boardOnly = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Not in schematic"), wxDefaultPosition, wxDefaultSize, 0 );
166 sbAttributesSizer->Add( m_boardOnly, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
167
168 m_cbDNP = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Do not populate"), wxDefaultPosition, wxDefaultSize, 0 );
169 sbAttributesSizer->Add( m_cbDNP, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
170
171 m_excludeFromBOM = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Exclude from bill of materials"), wxDefaultPosition, wxDefaultSize, 0 );
172 sbAttributesSizer->Add( m_excludeFromBOM, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
173
174 m_excludeFromPosFiles = new wxCheckBox( sbAttributesSizer->GetStaticBox(), wxID_ANY, _("Exclude from position files"), wxDefaultPosition, wxDefaultSize, 0 );
175 sbAttributesSizer->Add( m_excludeFromPosFiles, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
176
177
178 bColumns->Add( sbAttributesSizer, 0, wxEXPAND|wxALL, 5 );
179
180
181 m_PanelPropertiesBoxSizer->Add( bColumns, 0, wxEXPAND, 5 );
182
183
184 m_PanelGeneral->SetSizer( m_PanelPropertiesBoxSizer );
185 m_PanelGeneral->Layout();
186 m_PanelPropertiesBoxSizer->Fit( m_PanelGeneral );
187 m_NoteBook->AddPage( m_PanelGeneral, _("General"), true );
188 m_LayersPanel = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
189 wxBoxSizer* bSizer14;
190 bSizer14 = new wxBoxSizer( wxHORIZONTAL );
191
192 wxStaticBoxSizer* sbSizer11;
193 sbSizer11 = new wxStaticBoxSizer( new wxStaticBox( m_LayersPanel, wxID_ANY, _("Custom Layers") ), wxVERTICAL );
194
195 wxGridBagSizer* gbSizer3;
196 gbSizer3 = new wxGridBagSizer( 0, 0 );
197 gbSizer3->SetFlexibleDirection( wxBOTH );
198 gbSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
199
200 m_cbCustomLayers = new wxCheckBox( sbSizer11->GetStaticBox(), wxID_ANY, _("Use custom stackup"), wxDefaultPosition, wxDefaultSize, 0 );
201 gbSizer3->Add( m_cbCustomLayers, wxGBPosition( 0, 0 ), wxGBSpan( 1, 2 ), wxALL|wxEXPAND, 5 );
202
203 m_copperLayerCountLabel = new wxStaticText( sbSizer11->GetStaticBox(), wxID_ANY, _("Copper layers"), wxDefaultPosition, wxDefaultSize, 0 );
204 m_copperLayerCountLabel->Wrap( -1 );
205 gbSizer3->Add( m_copperLayerCountLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 );
206
207 wxString m_copperLayerCountChoices[] = { _("2"), _("4"), _("6"), _("8"), _("10"), _("12"), _("14"), _("16"), _("18"), _("20"), _("22"), _("24"), _("26"), _("28"), _("30"), _("32"), wxEmptyString };
208 int m_copperLayerCountNChoices = sizeof( m_copperLayerCountChoices ) / sizeof( wxString );
209 m_copperLayerCount = new wxChoice( sbSizer11->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_copperLayerCountNChoices, m_copperLayerCountChoices, 0 );
210 m_copperLayerCount->SetSelection( 0 );
211 m_copperLayerCount->Enable( false );
212
213 gbSizer3->Add( m_copperLayerCount, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
214
215 wxStaticBoxSizer* sbUserCustomerLayers;
216 sbUserCustomerLayers = new wxStaticBoxSizer( new wxStaticBox( sbSizer11->GetStaticBox(), wxID_ANY, _("User Layers") ), wxVERTICAL );
217
218 m_customUserLayersGrid = new WX_GRID( sbUserCustomerLayers->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
219
220 // Grid
221 m_customUserLayersGrid->CreateGrid( 2, 1 );
222 m_customUserLayersGrid->EnableEditing( true );
223 m_customUserLayersGrid->EnableGridLines( true );
224 m_customUserLayersGrid->EnableDragGridSize( false );
225 m_customUserLayersGrid->SetMargins( 0, 0 );
226
227 // Columns
228 m_customUserLayersGrid->SetColSize( 0, 180 );
229 m_customUserLayersGrid->EnableDragColMove( false );
230 m_customUserLayersGrid->EnableDragColSize( true );
231 m_customUserLayersGrid->SetColLabelSize( 0 );
232 m_customUserLayersGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
233
234 // Rows
235 m_customUserLayersGrid->EnableDragRowSize( false );
236 m_customUserLayersGrid->SetRowLabelSize( 0 );
237 m_customUserLayersGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
238
239 // Label Appearance
240
241 // Cell Defaults
242 m_customUserLayersGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
243 sbUserCustomerLayers->Add( m_customUserLayersGrid, 1, wxALL|wxEXPAND, 5 );
244
245 wxBoxSizer* bButtonSize11;
246 bButtonSize11 = new wxBoxSizer( wxHORIZONTAL );
247
248 m_bpAddCustomLayer = new STD_BITMAP_BUTTON( sbUserCustomerLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
249 bButtonSize11->Add( m_bpAddCustomLayer, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
250
251
252 bButtonSize11->Add( 20, 0, 0, wxEXPAND, 5 );
253
254 m_bpDeleteCustomLayer = new STD_BITMAP_BUTTON( sbUserCustomerLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
255 bButtonSize11->Add( m_bpDeleteCustomLayer, 0, wxBOTTOM|wxRIGHT, 5 );
256
257
258 sbUserCustomerLayers->Add( bButtonSize11, 0, wxEXPAND, 5 );
259
260
261 gbSizer3->Add( sbUserCustomerLayers, wxGBPosition( 2, 0 ), wxGBSpan( 1, 2 ), wxALL|wxEXPAND, 5 );
262
263
264 gbSizer3->AddGrowableCol( 1 );
265 gbSizer3->AddGrowableRow( 2 );
266
267 sbSizer11->Add( gbSizer3, 1, wxEXPAND, 5 );
268
269
270 bSizer14->Add( sbSizer11, 1, wxEXPAND|wxRIGHT|wxTOP, 5 );
271
272 wxStaticBoxSizer* bSizerPrivateLayers;
273 bSizerPrivateLayers = new wxStaticBoxSizer( new wxStaticBox( m_LayersPanel, wxID_ANY, _("Private Layers") ), wxVERTICAL );
274
275 m_privateLayersGrid = new WX_GRID( bSizerPrivateLayers->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
276
277 // Grid
278 m_privateLayersGrid->CreateGrid( 2, 1 );
279 m_privateLayersGrid->EnableEditing( true );
280 m_privateLayersGrid->EnableGridLines( true );
281 m_privateLayersGrid->EnableDragGridSize( false );
282 m_privateLayersGrid->SetMargins( 0, 0 );
283
284 // Columns
285 m_privateLayersGrid->SetColSize( 0, 180 );
286 m_privateLayersGrid->EnableDragColMove( false );
287 m_privateLayersGrid->EnableDragColSize( true );
288 m_privateLayersGrid->SetColLabelSize( 0 );
289 m_privateLayersGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
290
291 // Rows
292 m_privateLayersGrid->EnableDragRowSize( false );
293 m_privateLayersGrid->SetRowLabelSize( 0 );
294 m_privateLayersGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
295
296 // Label Appearance
297
298 // Cell Defaults
299 m_privateLayersGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
300 bSizerPrivateLayers->Add( m_privateLayersGrid, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
301
302 wxBoxSizer* bPrivateLayerButtonsSizer;
303 bPrivateLayerButtonsSizer = new wxBoxSizer( wxHORIZONTAL );
304
305 m_bpAddPrivateLayer = new STD_BITMAP_BUTTON( bSizerPrivateLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
306 bPrivateLayerButtonsSizer->Add( m_bpAddPrivateLayer, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
307
308
309 bPrivateLayerButtonsSizer->Add( 20, 0, 0, wxEXPAND, 5 );
310
311 m_bpDeletePrivateLayer = new STD_BITMAP_BUTTON( bSizerPrivateLayers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
312 bPrivateLayerButtonsSizer->Add( m_bpDeletePrivateLayer, 0, wxBOTTOM|wxRIGHT, 5 );
313
314
315 bSizerPrivateLayers->Add( bPrivateLayerButtonsSizer, 0, wxEXPAND, 5 );
316
317
318 bSizer14->Add( bSizerPrivateLayers, 1, wxEXPAND|wxLEFT|wxTOP, 5 );
319
320
321 m_LayersPanel->SetSizer( bSizer14 );
322 m_LayersPanel->Layout();
323 bSizer14->Fit( m_LayersPanel );
324 m_NoteBook->AddPage( m_LayersPanel, _("Layers"), false );
325 m_PanelClearances = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
326 wxBoxSizer* bSizerPanelClearances;
327 bSizerPanelClearances = new wxBoxSizer( wxVERTICAL );
328
329 wxStaticBoxSizer* sbSizerLocalProperties;
330 sbSizerLocalProperties = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Clearances") ), wxVERTICAL );
331
332 m_staticTextInfo = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Leave values blank to use netclass values."), wxDefaultPosition, wxDefaultSize, 0 );
333 m_staticTextInfo->Wrap( -1 );
334 sbSizerLocalProperties->Add( m_staticTextInfo, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
335
336 wxGridBagSizer* gbSizer1;
337 gbSizer1 = new wxGridBagSizer( 4, 0 );
338 gbSizer1->SetFlexibleDirection( wxBOTH );
339 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
340 gbSizer1->SetEmptyCellSize( wxSize( -1,15 ) );
341
342 m_NetClearanceLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
343 m_NetClearanceLabel->Wrap( -1 );
344 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.") );
345
346 gbSizer1->Add( m_NetClearanceLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
347
348 m_NetClearanceCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
349 gbSizer1->Add( m_NetClearanceCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
350
351 m_NetClearanceUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
352 m_NetClearanceUnits->Wrap( -1 );
353 gbSizer1->Add( m_NetClearanceUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
354
355 m_SolderMaskMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder mask expansion:"), wxDefaultPosition, wxDefaultSize, 0 );
356 m_SolderMaskMarginLabel->Wrap( -1 );
357 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.") );
358
359 gbSizer1->Add( m_SolderMaskMarginLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
360
361 m_SolderMaskMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
362 gbSizer1->Add( m_SolderMaskMarginCtrl, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
363
364 m_SolderMaskMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
365 m_SolderMaskMarginUnits->Wrap( -1 );
366 gbSizer1->Add( m_SolderMaskMarginUnits, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
367
368 m_allowBridges = new wxCheckBox( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Allow bridged solder mask apertures between pads"), wxDefaultPosition, wxDefaultSize, 0 );
369 gbSizer1->Add( m_allowBridges, wxGBPosition( 3, 0 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
370
371 m_SolderPasteMarginLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
372 m_SolderPasteMarginLabel->Wrap( -1 );
373 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.") );
374
375 gbSizer1->Add( m_SolderPasteMarginLabel, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
376
377 m_SolderPasteMarginCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
378 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.") );
379
380 gbSizer1->Add( m_SolderPasteMarginCtrl, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
381
382 m_SolderPasteMarginUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
383 m_SolderPasteMarginUnits->Wrap( -1 );
384 gbSizer1->Add( m_SolderPasteMarginUnits, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
385
386 m_PasteMarginRatioLabel = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("Solder paste relative clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
387 m_PasteMarginRatioLabel->Wrap( -1 );
388 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.") );
389
390 gbSizer1->Add( m_PasteMarginRatioLabel, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
391
392 m_PasteMarginRatioCtrl = new wxTextCtrl( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
393 gbSizer1->Add( m_PasteMarginRatioCtrl, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
394
395 m_PasteMarginRatioUnits = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
396 m_PasteMarginRatioUnits->Wrap( -1 );
397 gbSizer1->Add( m_PasteMarginRatioUnits, wxGBPosition( 6, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
398
399
400 sbSizerLocalProperties->Add( gbSizer1, 0, wxEXPAND|wxTOP|wxBOTTOM, 10 );
401
402 wxFlexGridSizer* fgSizerClearances;
403 fgSizerClearances = new wxFlexGridSizer( 5, 3, 0, 0 );
404 fgSizerClearances->AddGrowableCol( 1 );
405 fgSizerClearances->SetFlexibleDirection( wxBOTH );
406 fgSizerClearances->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
407
408
409 sbSizerLocalProperties->Add( fgSizerClearances, 1, wxEXPAND, 5 );
410
411 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 );
412 m_staticTextInfoCopper->Wrap( -1 );
413 sbSizerLocalProperties->Add( m_staticTextInfoCopper, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
414
415 m_staticTextInfoPaste = new wxStaticText( sbSizerLocalProperties->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
416 m_staticTextInfoPaste->Wrap( -1 );
417 sbSizerLocalProperties->Add( m_staticTextInfoPaste, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
418
419
420 bSizerPanelClearances->Add( sbSizerLocalProperties, 0, wxEXPAND|wxALL, 5 );
421
422
423 bSizerPanelClearances->Add( 0, 5, 0, wxEXPAND, 5 );
424
425 wxStaticBoxSizer* sbSizerCourtyards;
426 sbSizerCourtyards = new wxStaticBoxSizer( new wxStaticBox( m_PanelClearances, wxID_ANY, _("Courtyards") ), wxVERTICAL );
427
428 m_noCourtyards = new wxCheckBox( sbSizerCourtyards->GetStaticBox(), wxID_ANY, _("Exempt from courtyard requirement"), wxDefaultPosition, wxDefaultSize, 0 );
429 m_noCourtyards->SetToolTip( _("Will not generate \"missing courtyard\" DRC violations") );
430
431 sbSizerCourtyards->Add( m_noCourtyards, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
432
433
434 bSizerPanelClearances->Add( sbSizerCourtyards, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
435
436
437 m_PanelClearances->SetSizer( bSizerPanelClearances );
438 m_PanelClearances->Layout();
439 bSizerPanelClearances->Fit( m_PanelClearances );
440 m_NoteBook->AddPage( m_PanelClearances, _("Clearance Overrides"), false );
441 m_PanelPadConnections = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
442 wxBoxSizer* bSizer19;
443 bSizer19 = new wxBoxSizer( wxVERTICAL );
444
445 wxStaticBoxSizer* sbSizerCopperZones;
446 sbSizerCopperZones = new wxStaticBoxSizer( new wxStaticBox( m_PanelPadConnections, wxID_ANY, _("Connection to Copper Zones") ), wxHORIZONTAL );
447
448 m_staticText16 = new wxStaticText( sbSizerCopperZones->GetStaticBox(), wxID_ANY, _("Pad connection to zones:"), wxDefaultPosition, wxDefaultSize, 0 );
449 m_staticText16->Wrap( -1 );
450 sbSizerCopperZones->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
451
452 wxString m_ZoneConnectionChoiceChoices[] = { _("Use zone setting"), _("Solid"), _("Thermal relief"), _("None") };
453 int m_ZoneConnectionChoiceNChoices = sizeof( m_ZoneConnectionChoiceChoices ) / sizeof( wxString );
454 m_ZoneConnectionChoice = new wxChoice( sbSizerCopperZones->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionChoiceNChoices, m_ZoneConnectionChoiceChoices, 0 );
455 m_ZoneConnectionChoice->SetSelection( 0 );
456 sbSizerCopperZones->Add( m_ZoneConnectionChoice, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
457
458
459 bSizer19->Add( sbSizerCopperZones, 0, wxALL|wxEXPAND, 5 );
460
461
462 bSizer19->Add( 0, 5, 0, wxEXPAND, 5 );
463
464 wxStaticBoxSizer* sbSizerNetTies;
465 sbSizerNetTies = new wxStaticBoxSizer( new wxStaticBox( m_PanelPadConnections, wxID_ANY, _("Net Ties") ), wxVERTICAL );
466
467 m_nettieGroupsLabel = new wxStaticText( sbSizerNetTies->GetStaticBox(), wxID_ANY, _("Pad groups allowed to short different nets:"), wxDefaultPosition, wxDefaultSize, 0 );
468 m_nettieGroupsLabel->Wrap( -1 );
469 sbSizerNetTies->Add( m_nettieGroupsLabel, 0, wxRIGHT|wxLEFT, 5 );
470
471 m_nettieGroupsGrid = new WX_GRID( sbSizerNetTies->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
472
473 // Grid
474 m_nettieGroupsGrid->CreateGrid( 0, 1 );
475 m_nettieGroupsGrid->EnableEditing( true );
476 m_nettieGroupsGrid->EnableGridLines( true );
477 m_nettieGroupsGrid->EnableDragGridSize( false );
478 m_nettieGroupsGrid->SetMargins( 0, 0 );
479
480 // Columns
481 m_nettieGroupsGrid->SetColSize( 0, 320 );
482 m_nettieGroupsGrid->EnableDragColMove( false );
483 m_nettieGroupsGrid->EnableDragColSize( true );
484 m_nettieGroupsGrid->SetColLabelSize( 0 );
485 m_nettieGroupsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
486
487 // Rows
488 m_nettieGroupsGrid->EnableDragRowSize( true );
489 m_nettieGroupsGrid->SetRowLabelSize( 0 );
490 m_nettieGroupsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
491
492 // Label Appearance
493
494 // Cell Defaults
495 m_nettieGroupsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
496 m_nettieGroupsGrid->SetMinSize( wxSize( -1,30 ) );
497
498 sbSizerNetTies->Add( m_nettieGroupsGrid, 1, wxALL|wxEXPAND, 5 );
499
500 wxBoxSizer* bButtonSize2;
501 bButtonSize2 = new wxBoxSizer( wxHORIZONTAL );
502
503 m_bpAddNettieGroup = new STD_BITMAP_BUTTON( sbSizerNetTies->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
504 bButtonSize2->Add( m_bpAddNettieGroup, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
505
506
507 bButtonSize2->Add( 20, 0, 0, wxEXPAND, 5 );
508
509 m_bpRemoveNettieGroup = new STD_BITMAP_BUTTON( sbSizerNetTies->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
510 bButtonSize2->Add( m_bpRemoveNettieGroup, 0, wxBOTTOM|wxRIGHT, 5 );
511
512
513 sbSizerNetTies->Add( bButtonSize2, 0, wxEXPAND, 2 );
514
515
516 bSizer19->Add( sbSizerNetTies, 1, wxALL|wxEXPAND, 5 );
517
518
519 bSizer19->Add( 0, 5, 0, wxEXPAND, 5 );
520
521 wxStaticBoxSizer* sbJumpers;
522 sbJumpers = new wxStaticBoxSizer( new wxStaticBox( m_PanelPadConnections, wxID_ANY, _("Jumpers") ), wxVERTICAL );
523
524 m_cbDuplicatePadsAreJumpers = new wxCheckBox( sbJumpers->GetStaticBox(), wxID_ANY, _("All pads with duplicate numbers are jumpers"), wxDefaultPosition, wxDefaultSize, 0 );
525 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.") );
526
527 sbJumpers->Add( m_cbDuplicatePadsAreJumpers, 0, wxALL, 5 );
528
529
530 sbJumpers->Add( 0, 5, 0, wxEXPAND, 5 );
531
532 m_jumperGroupsLabel = new wxStaticText( sbJumpers->GetStaticBox(), wxID_ANY, _("Explicit jumper pad groups:"), wxDefaultPosition, wxDefaultSize, 0 );
533 m_jumperGroupsLabel->Wrap( -1 );
534 sbJumpers->Add( m_jumperGroupsLabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
535
536 m_jumperGroupsGrid = new WX_GRID( sbJumpers->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
537
538 // Grid
539 m_jumperGroupsGrid->CreateGrid( 0, 1 );
540 m_jumperGroupsGrid->EnableEditing( true );
541 m_jumperGroupsGrid->EnableGridLines( true );
542 m_jumperGroupsGrid->EnableDragGridSize( false );
543 m_jumperGroupsGrid->SetMargins( 0, 0 );
544
545 // Columns
546 m_jumperGroupsGrid->SetColSize( 0, 320 );
547 m_jumperGroupsGrid->EnableDragColMove( false );
548 m_jumperGroupsGrid->EnableDragColSize( true );
549 m_jumperGroupsGrid->SetColLabelSize( 0 );
550 m_jumperGroupsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
551
552 // Rows
553 m_jumperGroupsGrid->EnableDragRowSize( true );
554 m_jumperGroupsGrid->SetRowLabelSize( 0 );
555 m_jumperGroupsGrid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
556
557 // Label Appearance
558
559 // Cell Defaults
560 m_jumperGroupsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
561 m_jumperGroupsGrid->SetMinSize( wxSize( -1,30 ) );
562
563 sbJumpers->Add( m_jumperGroupsGrid, 1, wxALL|wxEXPAND, 5 );
564
565 wxBoxSizer* bButtonSize21;
566 bButtonSize21 = new wxBoxSizer( wxHORIZONTAL );
567
568 m_bpAddJumperGroup = new STD_BITMAP_BUTTON( sbJumpers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
569 bButtonSize21->Add( m_bpAddJumperGroup, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
570
571
572 bButtonSize21->Add( 20, 0, 0, wxEXPAND, 5 );
573
574 m_bpRemoveJumperGroup = new STD_BITMAP_BUTTON( sbJumpers->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
575 bButtonSize21->Add( m_bpRemoveJumperGroup, 0, wxBOTTOM|wxRIGHT, 5 );
576
577
578 sbJumpers->Add( bButtonSize21, 0, wxEXPAND, 5 );
579
580
581 bSizer19->Add( sbJumpers, 1, wxALL|wxTOP|wxEXPAND, 5 );
582
583
584 m_PanelPadConnections->SetSizer( bSizer19 );
585 m_PanelPadConnections->Layout();
586 bSizer19->Fit( m_PanelPadConnections );
587 m_NoteBook->AddPage( m_PanelPadConnections, _("Pad Connections"), false );
588
589 m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
590
591 wxBoxSizer* bSizer16;
592 bSizer16 = new wxBoxSizer( wxHORIZONTAL );
593
594 m_sdbSizerStdButtons = new wxStdDialogButtonSizer();
595 m_sdbSizerStdButtonsOK = new wxButton( this, wxID_OK );
597 m_sdbSizerStdButtonsCancel = new wxButton( this, wxID_CANCEL );
599 m_sdbSizerStdButtons->Realize();
600
601 bSizer16->Add( m_sdbSizerStdButtons, 1, wxEXPAND|wxALL, 5 );
602
603
604 m_GeneralBoxSizer->Add( bSizer16, 0, wxEXPAND|wxTOP, 5 );
605
606
607 this->SetSizer( m_GeneralBoxSizer );
608 this->Layout();
609 m_GeneralBoxSizer->Fit( this );
610
611 // Connect Events
612 this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnInitDlg ) );
613 this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUpdateUI ) );
614 m_NoteBook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnPageChanging ), NULL, this );
615 m_bpAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddField ), NULL, this );
616 m_bpDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteField ), NULL, this );
617 m_FootprintNameCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
618 m_DocCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
619 m_KeywordCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
620 m_componentType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnChoice ), NULL, this );
621 m_cbExcludeFromSim->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
622 m_boardOnly->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
623 m_cbDNP->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
624 m_excludeFromBOM->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
625 m_excludeFromPosFiles->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
626 m_cbCustomLayers->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUseCustomLayers ), NULL, this );
627 m_bpAddCustomLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddCustomLayer ), NULL, this );
628 m_bpDeleteCustomLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteCustomLayer ), NULL, this );
629 m_bpAddPrivateLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddPrivateLayer ), NULL, this );
630 m_bpDeletePrivateLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeletePrivateLayer ), NULL, this );
631 m_noCourtyards->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
632 m_bpAddNettieGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddNettieGroup ), NULL, this );
633 m_bpRemoveNettieGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveNettieGroup ), NULL, this );
634 m_bpAddJumperGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddJumperGroup ), NULL, this );
635 m_bpRemoveJumperGroup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveJumperGroup ), NULL, this );
636}
637
639{
640 // Disconnect Events
641 this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnInitDlg ) );
642 this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUpdateUI ) );
643 m_NoteBook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, wxNotebookEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnPageChanging ), NULL, this );
644 m_bpAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddField ), NULL, this );
645 m_bpDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteField ), NULL, this );
646 m_FootprintNameCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
647 m_DocCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
648 m_KeywordCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnText ), NULL, this );
649 m_componentType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnChoice ), NULL, this );
650 m_cbExcludeFromSim->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
651 m_boardOnly->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
652 m_cbDNP->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
653 m_excludeFromBOM->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
654 m_excludeFromPosFiles->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
655 m_cbCustomLayers->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnUseCustomLayers ), NULL, this );
656 m_bpAddCustomLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddCustomLayer ), NULL, this );
657 m_bpDeleteCustomLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeleteCustomLayer ), NULL, this );
658 m_bpAddPrivateLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddPrivateLayer ), NULL, this );
659 m_bpDeletePrivateLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnDeletePrivateLayer ), NULL, this );
660 m_noCourtyards->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnCheckBox ), NULL, this );
661 m_bpAddNettieGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddNettieGroup ), NULL, this );
662 m_bpRemoveNettieGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveNettieGroup ), NULL, this );
663 m_bpAddJumperGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnAddJumperGroup ), NULL, this );
664 m_bpRemoveJumperGroup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR_BASE::OnRemoveJumperGroup ), NULL, this );
665
666}
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)