KiCad PCB EDA Suite
dialog_design_rules_base.cpp
Go to the documentation of this file.
1 // C++ code generated with wxFormBuilder (version Feb 6 2017)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO "NOT" EDIT THIS FILE!
7 
9 
11 
13 
14 DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
15 {
16  this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
17 
18  wxBoxSizer* bMainSizer;
19  bMainSizer = new wxBoxSizer( wxVERTICAL );
20 
21  m_DRnotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_TOP );
22  m_panelNetClassesEditor = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
23  wxBoxSizer* bpanelNetClassesSizer;
24  bpanelNetClassesSizer = new wxBoxSizer( wxVERTICAL );
25 
26  wxStaticBoxSizer* sbSizerUpper;
27  sbSizerUpper = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Net Classes") ), wxVERTICAL );
28 
29  m_grid = new wxGrid( sbSizerUpper->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxSUNKEN_BORDER|wxTAB_TRAVERSAL|wxVSCROLL );
30 
31  // Grid
32  m_grid->CreateGrid( 1, 8 );
33  m_grid->EnableEditing( true );
34  m_grid->EnableGridLines( true );
35  m_grid->EnableDragGridSize( false );
36  m_grid->SetMargins( 0, 0 );
37 
38  // Columns
39  m_grid->SetColSize( 0, 100 );
40  m_grid->SetColSize( 1, 120 );
41  m_grid->SetColSize( 2, 84 );
42  m_grid->SetColSize( 3, 85 );
43  m_grid->SetColSize( 4, 81 );
44  m_grid->SetColSize( 5, 90 );
45  m_grid->EnableDragColMove( false );
46  m_grid->EnableDragColSize( true );
47  m_grid->SetColLabelSize( 40 );
48  m_grid->SetColLabelValue( 0, _("Clearance") );
49  m_grid->SetColLabelValue( 1, _("Track Width") );
50  m_grid->SetColLabelValue( 2, _("Via Dia") );
51  m_grid->SetColLabelValue( 3, _("Via Drill") );
52  m_grid->SetColLabelValue( 4, _("uVia Dia") );
53  m_grid->SetColLabelValue( 5, _("uVia Drill") );
54  m_grid->SetColLabelValue( 6, _("Diff Pair Width") );
55  m_grid->SetColLabelValue( 7, _("Diff Pair Gap") );
56  m_grid->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
57 
58  // Rows
59  m_grid->EnableDragRowSize( false );
60  m_grid->SetRowLabelSize( 120 );
61  m_grid->SetRowLabelValue( 0, _("Default") );
62  m_grid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTRE );
63 
64  // Label Appearance
65 
66  // Cell Defaults
67  m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
68  m_grid->SetToolTip( _("Net Class parameters") );
69 
70  sbSizerUpper->Add( m_grid, 1, wxALL|wxEXPAND, 5 );
71 
72  wxBoxSizer* buttonBoxSizer;
73  buttonBoxSizer = new wxBoxSizer( wxHORIZONTAL );
74 
75  m_addButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ADD_NETCLASS, _("Add"), wxDefaultPosition, wxDefaultSize, 0 );
76  m_addButton->SetToolTip( _("Add another Net Class") );
77 
78  buttonBoxSizer->Add( m_addButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
79 
80  m_removeButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_REMOVE_NETCLASS, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
81  m_removeButton->SetToolTip( _("Remove the currently select Net Class\nThe default Net Class cannot be removed") );
82 
83  buttonBoxSizer->Add( m_removeButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
84 
85  m_moveUpButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ANY, _("Move Up"), wxDefaultPosition, wxDefaultSize, 0 );
86  m_moveUpButton->SetToolTip( _("Move the currently selected Net Class up one row") );
87 
88  buttonBoxSizer->Add( m_moveUpButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
89 
90 
91  sbSizerUpper->Add( buttonBoxSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
92 
93 
94  bpanelNetClassesSizer->Add( sbSizerUpper, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 );
95 
96  wxStaticBoxSizer* sbSizerNetSelectMain;
97  sbSizerNetSelectMain = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Net Class Membership") ), wxHORIZONTAL );
98 
99  wxBoxSizer* leftNetSelectBoxSizer;
100  leftNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
101 
102  wxBoxSizer* bSizer10;
103  bSizer10 = new wxBoxSizer( wxHORIZONTAL );
104 
105  m_leftClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
106  bSizer10->Add( m_leftClassChoice, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
107 
108  m_staticline21 = new wxStaticLine( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
109  bSizer10->Add( m_staticline21, 0, wxEXPAND | wxALL, 5 );
110 
111  m_buttonLeftSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("Select All"), wxDefaultPosition, wxDefaultSize, 0 );
112  m_buttonLeftSelAll->SetToolTip( _("Select all nets in the left list") );
113 
114  bSizer10->Add( m_buttonLeftSelAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
115 
116 
117  leftNetSelectBoxSizer->Add( bSizer10, 0, wxEXPAND, 5 );
118 
119  m_leftListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
120  leftNetSelectBoxSizer->Add( m_leftListCtrl, 1, wxALL|wxEXPAND, 5 );
121 
122 
123  sbSizerNetSelectMain->Add( leftNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
124 
125  wxBoxSizer* bmiddleSizerNetSelect;
126  bmiddleSizerNetSelect = new wxBoxSizer( wxVERTICAL );
127 
128  m_buttonRightToLeft = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_LEFT_TO_RIGHT_COPY, _("<<<"), wxDefaultPosition, wxDefaultSize, 0 );
129  m_buttonRightToLeft->SetToolTip( _("Move the selected nets in the right list to the left list") );
130 
131  bmiddleSizerNetSelect->Add( m_buttonRightToLeft, 0, wxALL, 5 );
132 
133  m_buttonLeftToRight = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_RIGHT_TO_LEFT_COPY, _(">>>"), wxDefaultPosition, wxDefaultSize, 0 );
134  m_buttonLeftToRight->SetToolTip( _("Move the selected nets in the left list to the right list") );
135 
136  bmiddleSizerNetSelect->Add( m_buttonLeftToRight, 0, wxALL, 5 );
137 
138 
139  sbSizerNetSelectMain->Add( bmiddleSizerNetSelect, 0, wxALIGN_CENTER_VERTICAL, 5 );
140 
141  wxBoxSizer* rghtNetSelectBoxSizer;
142  rghtNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
143 
144  wxBoxSizer* bSizer11;
145  bSizer11 = new wxBoxSizer( wxHORIZONTAL );
146 
147  m_rightClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
148  bSizer11->Add( m_rightClassChoice, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
149 
150  m_staticline3 = new wxStaticLine( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
151  bSizer11->Add( m_staticline3, 0, wxEXPAND | wxALL, 5 );
152 
153  m_buttonRightSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("Select All"), wxDefaultPosition, wxDefaultSize, 0 );
154  m_buttonRightSelAll->SetToolTip( _("Select all nets in the right list") );
155 
156  bSizer11->Add( m_buttonRightSelAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
157 
158 
159  rghtNetSelectBoxSizer->Add( bSizer11, 0, wxEXPAND, 5 );
160 
161  m_rightListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
162  rghtNetSelectBoxSizer->Add( m_rightListCtrl, 1, wxALL|wxEXPAND, 5 );
163 
164 
165  sbSizerNetSelectMain->Add( rghtNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
166 
167 
168  bpanelNetClassesSizer->Add( sbSizerNetSelectMain, 1, wxALL|wxEXPAND, 5 );
169 
170 
171  m_panelNetClassesEditor->SetSizer( bpanelNetClassesSizer );
172  m_panelNetClassesEditor->Layout();
173  bpanelNetClassesSizer->Fit( m_panelNetClassesEditor );
174  m_DRnotebook->AddPage( m_panelNetClassesEditor, _("Net Classes Editor"), false );
175  m_panelGolbalDesignRules = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
176  wxBoxSizer* bpanelGlobRulesSizer;
177  bpanelGlobRulesSizer = new wxBoxSizer( wxVERTICAL );
178 
179  wxBoxSizer* bDesignRulesUpperSizer;
180  bDesignRulesUpperSizer = new wxBoxSizer( wxHORIZONTAL );
181 
182  wxStaticBoxSizer* sbViasOptionSizer;
183  sbViasOptionSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Routing Options") ), wxVERTICAL );
184 
185  wxFlexGridSizer* fgViaOptionsSize;
186  fgViaOptionsSize = new wxFlexGridSizer( 0, 3, 0, 0 );
187  fgViaOptionsSize->AddGrowableCol( 1 );
188  fgViaOptionsSize->SetFlexibleDirection( wxBOTH );
189  fgViaOptionsSize->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
190 
191  m_TrackMinWidthTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum track width"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
192  m_TrackMinWidthTitle->Wrap( -1 );
193  fgViaOptionsSize->Add( m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
194 
195  m_SetTrackMinWidthCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
196  fgViaOptionsSize->Add( m_SetTrackMinWidthCtrl, 0, wxALIGN_LEFT|wxALIGN_TOP|wxALL|wxEXPAND, 5 );
197 
198  m_TrackMinWidthUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
199  m_TrackMinWidthUnits->Wrap( -1 );
200  fgViaOptionsSize->Add( m_TrackMinWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
201 
202  m_ViaMinTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum via diameter"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
203  m_ViaMinTitle->Wrap( -1 );
204  fgViaOptionsSize->Add( m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
205 
206  m_SetViasMinSizeCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
207  fgViaOptionsSize->Add( m_SetViasMinSizeCtrl, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
208 
209  m_ViaMinUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
210  m_ViaMinUnits->Wrap( -1 );
211  fgViaOptionsSize->Add( m_ViaMinUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
212 
213  m_ViaMinDrillTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum via drill"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
214  m_ViaMinDrillTitle->Wrap( -1 );
215  fgViaOptionsSize->Add( m_ViaMinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
216 
217  m_SetViasMinDrillCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
218  fgViaOptionsSize->Add( m_SetViasMinDrillCtrl, 0, wxALL|wxEXPAND, 5 );
219 
220  m_ViaMinDrillUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
221  m_ViaMinDrillUnits->Wrap( -1 );
222  fgViaOptionsSize->Add( m_ViaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
223 
224 
225  fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
226 
227  m_OptAllowBlindBuriedVias = new wxCheckBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Allow blind/buried vias"), wxDefaultPosition, wxDefaultSize, 0 );
228  fgViaOptionsSize->Add( m_OptAllowBlindBuriedVias, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
229 
230 
231  fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
232 
233 
234  fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
235 
236  m_OptAllowMicroVias = new wxCheckBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Allow micro vias (uVias)"), wxDefaultPosition, wxDefaultSize, 0 );
237  fgViaOptionsSize->Add( m_OptAllowMicroVias, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
238 
239 
240  fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
241 
242  m_MicroViaMinSizeTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum uVia diameter"), wxDefaultPosition, wxDefaultSize, 0 );
243  m_MicroViaMinSizeTitle->Wrap( -1 );
244  fgViaOptionsSize->Add( m_MicroViaMinSizeTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
245 
246  m_SetMicroViasMinSizeCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
247  m_SetMicroViasMinSizeCtrl->Enable( false );
248 
249  fgViaOptionsSize->Add( m_SetMicroViasMinSizeCtrl, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
250 
251  m_MicroViaMinSizeUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
252  m_MicroViaMinSizeUnits->Wrap( -1 );
253  fgViaOptionsSize->Add( m_MicroViaMinSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
254 
255  m_MicroViaMinDrillTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum uVia drill"), wxDefaultPosition, wxDefaultSize, 0 );
256  m_MicroViaMinDrillTitle->Wrap( -1 );
257  fgViaOptionsSize->Add( m_MicroViaMinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
258 
259  m_SetMicroViasMinDrillCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
260  m_SetMicroViasMinDrillCtrl->Enable( false );
261 
262  fgViaOptionsSize->Add( m_SetMicroViasMinDrillCtrl, 0, wxEXPAND|wxALL, 5 );
263 
264  m_MicroViaMinDrillUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
265  m_MicroViaMinDrillUnits->Wrap( -1 );
266  fgViaOptionsSize->Add( m_MicroViaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
267 
268 
269  sbViasOptionSizer->Add( fgViaOptionsSize, 1, wxEXPAND, 5 );
270 
271 
272  bDesignRulesUpperSizer->Add( sbViasOptionSizer, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
273 
274 
275  bpanelGlobRulesSizer->Add( bDesignRulesUpperSizer, 0, wxEXPAND, 5 );
276 
277  m_staticTextInfo = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Specific via diameters and track widths, which can be used to replace default Netclass values on demand,\nfor arbitrary vias or track segments."), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
278  m_staticTextInfo->Wrap( -1 );
279  bpanelGlobRulesSizer->Add( m_staticTextInfo, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
280 
281  wxBoxSizer* bDesignRulesLowerSizer;
282  bDesignRulesLowerSizer = new wxBoxSizer( wxHORIZONTAL );
283 
284  wxStaticBoxSizer* sViaSizeBox;
285  sViaSizeBox = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Via Sizes") ), wxVERTICAL );
286 
287  m_staticText7 = new wxStaticText( sViaSizeBox->GetStaticBox(), wxID_ANY, _("Drill value: a blank or 0 => default Netclass value"), wxDefaultPosition, wxDefaultSize, 0 );
288  m_staticText7->Wrap( -1 );
289  sViaSizeBox->Add( m_staticText7, 0, wxALL, 5 );
290 
291  m_gridViaSizeList = new wxGrid( sViaSizeBox->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
292 
293  // Grid
294  m_gridViaSizeList->CreateGrid( 8, 2 );
295  m_gridViaSizeList->EnableEditing( true );
296  m_gridViaSizeList->EnableGridLines( true );
297  m_gridViaSizeList->EnableDragGridSize( false );
298  m_gridViaSizeList->SetMargins( 0, 0 );
299 
300  // Columns
301  m_gridViaSizeList->EnableDragColMove( false );
302  m_gridViaSizeList->EnableDragColSize( true );
303  m_gridViaSizeList->SetColLabelSize( 30 );
304  m_gridViaSizeList->SetColLabelValue( 0, _("Diameter") );
305  m_gridViaSizeList->SetColLabelValue( 1, _("Drill") );
306  m_gridViaSizeList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
307 
308  // Rows
309  m_gridViaSizeList->EnableDragRowSize( true );
310  m_gridViaSizeList->SetRowLabelSize( 80 );
311  m_gridViaSizeList->SetRowLabelValue( 0, _("Via 1") );
312  m_gridViaSizeList->SetRowLabelValue( 1, _("Via 2") );
313  m_gridViaSizeList->SetRowLabelValue( 2, _("Via 3") );
314  m_gridViaSizeList->SetRowLabelValue( 3, _("Via 4") );
315  m_gridViaSizeList->SetRowLabelValue( 4, _("Via 5") );
316  m_gridViaSizeList->SetRowLabelValue( 5, _("Via 6") );
317  m_gridViaSizeList->SetRowLabelValue( 6, _("Via 7") );
318  m_gridViaSizeList->SetRowLabelValue( 7, _("Via 8") );
319  m_gridViaSizeList->SetRowLabelValue( 8, _("Via 9") );
320  m_gridViaSizeList->SetRowLabelValue( 9, _("Via 10") );
321  m_gridViaSizeList->SetRowLabelValue( 10, _("Via 11") );
322  m_gridViaSizeList->SetRowLabelValue( 11, _("Via 12") );
323  m_gridViaSizeList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
324 
325  // Label Appearance
326 
327  // Cell Defaults
328  m_gridViaSizeList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
329  sViaSizeBox->Add( m_gridViaSizeList, 1, wxALL|wxEXPAND, 5 );
330 
331 
332  bDesignRulesLowerSizer->Add( sViaSizeBox, 1, wxALL|wxEXPAND, 5 );
333 
334  wxStaticBoxSizer* sbTracksListSizer;
335  sbTracksListSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Track Widths") ), wxVERTICAL );
336 
337  m_staticText8 = new wxStaticText( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
338  m_staticText8->Wrap( -1 );
339  sbTracksListSizer->Add( m_staticText8, 0, wxALL, 5 );
340 
341  m_gridTrackWidthList = new wxGrid( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
342 
343  // Grid
344  m_gridTrackWidthList->CreateGrid( 8, 1 );
345  m_gridTrackWidthList->EnableEditing( true );
346  m_gridTrackWidthList->EnableGridLines( true );
347  m_gridTrackWidthList->EnableDragGridSize( false );
348  m_gridTrackWidthList->SetMargins( 0, 0 );
349 
350  // Columns
351  m_gridTrackWidthList->EnableDragColMove( false );
352  m_gridTrackWidthList->EnableDragColSize( true );
353  m_gridTrackWidthList->SetColLabelSize( 30 );
354  m_gridTrackWidthList->SetColLabelValue( 0, _("Width") );
355  m_gridTrackWidthList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
356 
357  // Rows
358  m_gridTrackWidthList->EnableDragRowSize( true );
359  m_gridTrackWidthList->SetRowLabelSize( 80 );
360  m_gridTrackWidthList->SetRowLabelValue( 0, _("Track 1") );
361  m_gridTrackWidthList->SetRowLabelValue( 1, _("Track 2") );
362  m_gridTrackWidthList->SetRowLabelValue( 2, _("Track 3") );
363  m_gridTrackWidthList->SetRowLabelValue( 3, _("Track 4") );
364  m_gridTrackWidthList->SetRowLabelValue( 4, _("Track 5") );
365  m_gridTrackWidthList->SetRowLabelValue( 5, _("Track 6") );
366  m_gridTrackWidthList->SetRowLabelValue( 6, _("Track 7") );
367  m_gridTrackWidthList->SetRowLabelValue( 7, _("Track 8") );
368  m_gridTrackWidthList->SetRowLabelValue( 8, _("Track 9") );
369  m_gridTrackWidthList->SetRowLabelValue( 9, _("Track 10") );
370  m_gridTrackWidthList->SetRowLabelValue( 10, _("Track 11") );
371  m_gridTrackWidthList->SetRowLabelValue( 11, _("Track 12") );
372  m_gridTrackWidthList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
373 
374  // Label Appearance
375 
376  // Cell Defaults
377  m_gridTrackWidthList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
378  sbTracksListSizer->Add( m_gridTrackWidthList, 1, wxALL|wxEXPAND, 5 );
379 
380 
381  bDesignRulesLowerSizer->Add( sbTracksListSizer, 1, wxALL|wxEXPAND, 5 );
382 
383 
384  bpanelGlobRulesSizer->Add( bDesignRulesLowerSizer, 0, wxEXPAND, 5 );
385 
386 
387  m_panelGolbalDesignRules->SetSizer( bpanelGlobRulesSizer );
388  m_panelGolbalDesignRules->Layout();
389  bpanelGlobRulesSizer->Fit( m_panelGolbalDesignRules );
390  m_DRnotebook->AddPage( m_panelGolbalDesignRules, _("Global Design Rules"), true );
391 
392  bMainSizer->Add( m_DRnotebook, 1, wxALL|wxEXPAND, 5 );
393 
394  m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
395  bMainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
396 
397  m_sdbSizer1 = new wxStdDialogButtonSizer();
398  m_sdbSizer1OK = new wxButton( this, wxID_OK );
399  m_sdbSizer1->AddButton( m_sdbSizer1OK );
400  m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
401  m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
402  m_sdbSizer1->Realize();
403 
404  bMainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 5 );
405 
406 
407  this->SetSizer( bMainSizer );
408  this->Layout();
409 
410  // Connect Events
411  m_DRnotebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
412  m_grid->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
413  m_grid->Connect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
414  m_addButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
415  m_removeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
416  m_moveUpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
417  m_leftClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
418  m_buttonLeftSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
419  m_buttonRightToLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
420  m_buttonLeftToRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
421  m_rightClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
422  m_buttonRightSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
423  m_OptAllowMicroVias->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAllowMicroVias ), NULL, this );
424 }
425 
427 {
428  // Disconnect Events
429  m_DRnotebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
430  m_grid->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
431  m_grid->Disconnect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
432  m_addButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
433  m_removeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
434  m_moveUpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
435  m_leftClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
436  m_buttonLeftSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
437  m_buttonRightToLeft->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
438  m_buttonLeftToRight->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
439  m_rightClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
440  m_buttonRightSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
441  m_OptAllowMicroVias->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAllowMicroVias ), NULL, this );
442 
443 }
virtual void OnAddNetclassClick(wxCommandEvent &event)
virtual void OnRightSelectAllButton(wxCommandEvent &event)
Class DIALOG_SHIM may sit in the inheritance tree between wxDialog and any class written by wxFormBui...
Definition: dialog_shim.h:60
virtual void OnMoveUpSelectedNetClass(wxCommandEvent &event)
virtual void OnRemoveNetclassClick(wxCommandEvent &event)
virtual void OnLeftCBSelection(wxCommandEvent &event)
DIALOG_DESIGN_RULES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Design Rules Editor"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(798, 611), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
Class NETS_LIST_CTRL is a helper to display lists of nets and associated netclasses used in dialog de...
virtual void OnLeftToRightCopyButton(wxCommandEvent &event)
wxStdDialogButtonSizer * m_sdbSizer1
virtual void OnNetClassesNameLeftClick(wxGridEvent &event)
virtual void OnAllowMicroVias(wxCommandEvent &event)
virtual void OnLeftSelectAllButton(wxCommandEvent &event)
virtual void OnNetClassesNameRightClick(wxGridEvent &event)
virtual void OnRightToLeftCopyButton(wxCommandEvent &event)
virtual void OnNotebookPageChanged(wxNotebookEvent &event)
virtual void OnRightCBSelection(wxCommandEvent &event)