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 can only be reduced by custom rules.") );
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 can only be reduced by custom rules.") );
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 can only be reduced by custom rules.") );
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 can only be reduced by custom rules.") );
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 can only be reduced by custom rules.") );
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 can only be reduced by custom rules.") );
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 );
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 can only be reduced by custom rules.") );
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 can only be reduced by custom rules. (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 can only be reduced by custom rules.") );
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 can only be reduced by custom rules.") );
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 );