12PANEL_SETUP_CONSTRAINTS_BASE::PANEL_SETUP_CONSTRAINTS_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) : wxPanel( parent, id, pos, size, style,
name )
14 wxBoxSizer* bMainSizer;
15 bMainSizer =
new wxBoxSizer( wxHORIZONTAL );
17 m_scrolledWindow =
new wxScrolledWindow(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
19 wxBoxSizer* bScrolledSizer;
20 bScrolledSizer =
new wxBoxSizer( wxHORIZONTAL );
22 wxBoxSizer* sbFeatureConstraints;
23 sbFeatureConstraints =
new wxBoxSizer( wxVERTICAL );
25 wxFlexGridSizer* fgFeatureConstraints;
26 fgFeatureConstraints =
new wxFlexGridSizer( 0, 4, 0, 0 );
27 fgFeatureConstraints->SetFlexibleDirection( wxBOTH );
28 fgFeatureConstraints->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
30 fgFeatureConstraints->SetMinSize( wxSize( -1,0 ) );
36 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
39 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
42 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
45 fgFeatureConstraints->Add(
m_staticline151, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
48 fgFeatureConstraints->Add(
m_staticline16, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
51 fgFeatureConstraints->Add(
m_staticline17, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
54 fgFeatureConstraints->Add(
m_staticline18, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
57 fgFeatureConstraints->Add(
m_bitmapClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
61 fgFeatureConstraints->Add(
m_clearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
64 m_clearanceCtrl->SetToolTip(
_(
"The minimum clearance between copper items which do not belong to the same net. If set, this is an absolute minimum which cannot be reduced by netclasses, custom rules, or other settings.") );
66 fgFeatureConstraints->Add(
m_clearanceCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 5 );
70 fgFeatureConstraints->Add(
m_clearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
73 fgFeatureConstraints->Add(
m_bitmapMinTrackWidth, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
77 fgFeatureConstraints->Add(
m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
80 m_TrackMinWidthCtrl->SetToolTip(
_(
"The minimum track width. If set, this is an absolute minimum and cannot be reduced by netclasses, custom rules, or other settings.") );
83 fgFeatureConstraints->Add(
m_TrackMinWidthCtrl, 0, wxALIGN_LEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
87 fgFeatureConstraints->Add(
m_TrackMinWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
90 fgFeatureConstraints->Add(
m_bitmapMinConn, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
94 fgFeatureConstraints->Add(
m_MinConnTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
97 m_MinConnCtrl->SetToolTip(
_(
"The minimum copper width of connected copper items.") );
100 fgFeatureConstraints->Add(
m_MinConnCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxEXPAND|wxTOP, 5 );
104 fgFeatureConstraints->Add(
m_MinConnUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
107 fgFeatureConstraints->Add(
m_bitmapMinViaAnnulus, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
114 m_ViaMinAnnulusCtrl->SetToolTip(
_(
"The minimum annular ring width. If set, this is an absolute minimum and cannot be reduced by netclasses, custom rules, or other settings.") );
116 fgFeatureConstraints->Add(
m_ViaMinAnnulusCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 5 );
123 fgFeatureConstraints->Add(
m_bitmapMinViaDiameter, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
127 fgFeatureConstraints->Add(
m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
130 m_SetViasMinSizeCtrl->SetToolTip(
_(
"The minimum via diameter. If set, this is an absolute minimum and cannot be reduced by netclasses, custom rules, or other settings.") );
132 fgFeatureConstraints->Add(
m_SetViasMinSizeCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 5 );
136 fgFeatureConstraints->Add(
m_ViaMinUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
139 fgFeatureConstraints->Add(
m_bitmapHoleClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
146 m_HoleClearanceCtrl->SetToolTip(
_(
"The minimum clearance between a hole and an unassociated copper item. If set, this is an absolute minimum and cannot be reduced by custom rules or other settings.") );
148 fgFeatureConstraints->Add(
m_HoleClearanceCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
155 fgFeatureConstraints->Add(
m_bitmapEdgeClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
162 m_EdgeClearanceCtrl->SetToolTip(
_(
"The minimum clearance between the board edge and any copper item. If set, this is an absolute minimum and cannot be reduced by custom rules or other settings.") );
164 fgFeatureConstraints->Add(
m_EdgeClearanceCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
171 fgFeatureConstraints->Add(
m_bitmapMinGrooveWidth, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
180 fgFeatureConstraints->Add(
m_minGrooveWidthCtrl, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxEXPAND|wxTOP, 5 );
188 fgFeatureConstraints->Add(
m_staticText24, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxLEFT, 13 );
191 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
194 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
197 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
200 fgFeatureConstraints->Add(
m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
203 fgFeatureConstraints->Add(
m_staticline4, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
206 fgFeatureConstraints->Add(
m_staticline5, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
209 fgFeatureConstraints->Add(
m_staticline6, 0, wxEXPAND|wxTOP, 2 );
212 fgFeatureConstraints->Add(
m_bitmapMinViaDrill, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
216 fgFeatureConstraints->Add(
m_MinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
219 m_MinDrillCtrl->SetToolTip(
_(
"The minimum through-hole size. If set, this is an absolute minimum and cannot be reduced by netclasses, custom rules or other settings.") );
221 fgFeatureConstraints->Add(
m_MinDrillCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
225 fgFeatureConstraints->Add(
m_MinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
228 fgFeatureConstraints->Add(
m_bitmapMinHoleClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
232 fgFeatureConstraints->Add(
m_HoleToHoleTitle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
235 m_SetHoleToHoleCtrl->SetToolTip(
_(
"The minimum clearance between two drilled holes. If set, this is an absolute minimum and cannot be reduced by custom rules or other settings. (Note: does not apply to milled holes.)") );
237 fgFeatureConstraints->Add(
m_SetHoleToHoleCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
241 fgFeatureConstraints->Add(
m_HoleToHoleUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
245 fgFeatureConstraints->Add(
m_staticText25, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxLEFT, 13 );
248 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 2 );
251 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
254 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
257 fgFeatureConstraints->Add(
m_staticline8, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
260 fgFeatureConstraints->Add(
m_staticline9, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
263 fgFeatureConstraints->Add(
m_staticline10, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
266 fgFeatureConstraints->Add(
m_staticline11, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
269 fgFeatureConstraints->Add(
m_bitmapMinuViaDiameter, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
273 fgFeatureConstraints->Add(
m_uviaMinSizeLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
276 m_uviaMinSizeCtrl->SetToolTip(
_(
"The minimum diameter for micro-vias. If set, this is an absolute minimum and cannot be reduced by netclasses, custom rules, or other settings.") );
278 fgFeatureConstraints->Add(
m_uviaMinSizeCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
282 fgFeatureConstraints->Add(
m_uviaMinSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
285 fgFeatureConstraints->Add(
m_bitmapMinuViaDrill, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
289 fgFeatureConstraints->Add(
m_uviaMinDrillLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
292 m_uviaMinDrillCtrl->SetToolTip(
_(
"The minimum micro-via hole size. If set, this is an absolute minimum and cannot be reduced by netclasses, custom rules, or other settings.") );
294 fgFeatureConstraints->Add(
m_uviaMinDrillCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
298 fgFeatureConstraints->Add(
m_uviaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
302 fgFeatureConstraints->Add(
m_staticText28, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxLEFT, 13 );
305 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
308 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
311 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
314 fgFeatureConstraints->Add(
m_staticline111, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
317 fgFeatureConstraints->Add(
m_staticline12, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
320 fgFeatureConstraints->Add(
m_staticline13, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
323 fgFeatureConstraints->Add(
m_staticline14, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
326 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
333 m_silkClearanceCtrl->SetToolTip(
_(
"Minimum clearance between two items on the same silkscreen layer. If set this can improve legibility. (Note: does not apply to multiple shapes within a single footprint.)") );
335 fgFeatureConstraints->Add(
m_silkClearanceCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP, 5 );
342 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
346 fgFeatureConstraints->Add(
m_textHeightLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
349 fgFeatureConstraints->Add(
m_textHeightCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP, 5 );
353 fgFeatureConstraints->Add(
m_textHeightUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
356 fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
363 fgFeatureConstraints->Add(
m_textThicknessCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP, 5 );
370 sbFeatureConstraints->Add( fgFeatureConstraints, 1, wxEXPAND, 5 );
373 bScrolledSizer->Add( sbFeatureConstraints, 0, wxEXPAND|wxRIGHT, 5 );
376 bScrolledSizer->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 15 );
378 wxBoxSizer* sbFeatureRules;
379 sbFeatureRules =
new wxBoxSizer( wxVERTICAL );
381 wxBoxSizer* bSizerArcToPoly;
382 bSizerArcToPoly =
new wxBoxSizer( wxVERTICAL );
389 bSizerArcToPoly->Add(
m_staticline19, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
391 wxFlexGridSizer* fgSizer2;
392 fgSizer2 =
new wxFlexGridSizer( 0, 4, 3, 0 );
393 fgSizer2->AddGrowableCol( 2 );
394 fgSizer2->SetFlexibleDirection( wxBOTH );
395 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
399 m_maxErrorTitle->SetToolTip(
_(
"This is the maximum distance between a circle and the polygonal shape that approximate it.\nThe error max defines the number of segments of this polygon.") );
401 fgSizer2->Add(
m_maxErrorTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
404 m_maxErrorCtrl->SetToolTip(
_(
"The maximum allowed deviation between a true arc or circle and segments used to approximate it. Smaller values produce smoother graphics at the expense of performance.") );
406 fgSizer2->Add(
m_maxErrorCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
410 fgSizer2->Add(
m_maxErrorUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
413 bSizerArcToPoly->Add( fgSizer2, 0, wxEXPAND|wxBOTTOM, 5 );
420 sbFeatureRules->Add( bSizerArcToPoly, 0, wxEXPAND, 5 );
432 bSizer9 =
new wxBoxSizer( wxHORIZONTAL );
435 bSizer9->Add(
m_filletBitmap, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
443 wxBoxSizer* bSizer111;
444 bSizer111 =
new wxBoxSizer( wxHORIZONTAL );
447 bSizer111->Add(
m_spokeBitmap, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
462 wxBoxSizer* bSizer11;
463 bSizer11 =
new wxBoxSizer( wxVERTICAL );
473 m_useHeightForLengthCalcs->SetToolTip(
_(
"When enabled, the distance between copper layers will be included in track length calculations for tracks with vias. When disabled, via stackup height is ignored.") );
478 sbFeatureRules->Add( bSizer11, 1, wxEXPAND, 5 );
481 bScrolledSizer->Add( sbFeatureRules, 0, wxEXPAND|wxRIGHT, 5 );
484 bScrolledSizer->Add( 0, 0, 1, wxEXPAND, 0 );
493 this->SetSizer( bMainSizer );
495 bMainSizer->Fit(
this );