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 );
wxScrolledWindow * m_scrolledWindow
wxCheckBox * m_useHeightForLengthCalcs
wxTextCtrl * m_MinDrillCtrl
wxStaticText * m_TrackMinWidthTitle
wxStaticText * m_TrackMinWidthUnits
wxStaticText * m_uviaMinSizeLabel
wxStaticText * m_MinDrillTitle
wxStaticLine * m_staticline6
wxStaticBitmap * m_bitmapMinViaDiameter
wxBoxSizer * m_bSizerPolygonFillOption
wxStaticText * m_ViaMinTitle
wxTextCtrl * m_SetHoleToHoleCtrl
wxStaticText * m_stCircleToPolyOpt
wxTextCtrl * m_ViaMinAnnulusCtrl
wxStaticBitmap * m_bitmapMinuViaDrill
wxStaticLine * m_staticline19
wxStaticText * m_MinConnUnits
wxStaticLine * m_staticline12
wxStaticText * m_HoleClearanceUnits
wxTextCtrl * m_textHeightCtrl
wxStaticText * m_MinDrillUnits
~PANEL_SETUP_CONSTRAINTS_BASE()
wxTextCtrl * m_minGrooveWidthCtrl
wxStaticText * m_staticText33
wxTextCtrl * m_clearanceCtrl
wxStaticBitmap * m_bitmapMinViaAnnulus
wxStaticLine * m_staticline5
wxStaticText * m_staticText23
wxStaticText * m_EdgeClearanceLabel
wxStaticBitmap * m_bitmapMinTrackWidth
wxStaticText * m_staticText24
wxStaticLine * m_staticline111
wxTextCtrl * m_uviaMinSizeCtrl
wxStaticText * m_textThicknessUnits
wxStaticText * m_ViaMinAnnulusTitle
wxStaticLine * m_staticline4
wxStaticText * m_textHeightLabel
wxStaticLine * m_staticline14
wxStaticText * m_minGrooveWidthUnits
wxStaticLine * m_staticline10
wxStaticText * m_HoleToHoleTitle
wxStaticText * m_textThicknessLabel
wxCheckBox * m_allowExternalFilletsOpt
wxStaticText * m_maxErrorTitle
wxStaticText * m_MinConnTitle
wxStaticText * m_ViaMinUnits
wxStaticText * m_uviaMinDrillUnits
wxStaticText * m_staticText28
wxStaticText * m_uviaMinSizeUnits
wxStaticBitmap * m_spokeBitmap
wxStaticText * m_minGrooveWidthLabel
wxStaticLine * m_staticline11
wxStaticBitmap * m_bitmapMinGrooveWidth
wxTextCtrl * m_maxErrorCtrl
wxStaticLine * m_staticline8
wxStaticText * m_HoleClearanceLabel
wxStaticBitmap * m_bitmapEdgeClearance
wxStaticBitmap * m_bitmapClearance
wxStaticText * m_EdgeClearanceUnits
wxStaticLine * m_staticline17
wxStaticText * m_clearanceTitle
wxStaticLine * m_staticline15
wxStaticText * m_stCircleToPolyWarning
wxStaticText * m_stZoneFilledPolysOpt
wxTextCtrl * m_SetViasMinSizeCtrl
wxStaticLine * m_staticline1
wxStaticText * m_clearanceUnits
wxStaticBitmap * m_bitmapHoleClearance
wxStaticLine * m_staticline16
wxStaticLine * m_staticline18
wxStaticText * m_ViaMinAnnulusUnits
wxStaticText * m_textHeightUnits
wxStaticText * m_minResolvedSpokesLabel
wxStaticBitmap * m_filletBitmap
wxStaticText * m_uviaMinDrillLabel
wxStaticLine * m_staticline3
wxStaticText * m_HoleToHoleUnits
wxStaticLine * m_staticline9
wxStaticBitmap * m_bitmapMinuViaDiameter
wxStaticText * m_silkClearanceLabel
wxStaticText * m_maxErrorUnits
wxTextCtrl * m_EdgeClearanceCtrl
wxTextCtrl * m_HoleClearanceCtrl
wxStaticBitmap * m_bitmapMinViaDrill
wxStaticText * m_staticText25
wxTextCtrl * m_uviaMinDrillCtrl
wxTextCtrl * m_silkClearanceCtrl
wxStaticText * m_silkClearanceUnits
wxTextCtrl * m_textThicknessCtrl
wxStaticLine * m_staticline151
wxStaticBitmap * m_bitmapMinConn
wxSpinCtrl * m_minResolvedSpokeCountCtrl
wxTextCtrl * m_MinConnCtrl
PANEL_SETUP_CONSTRAINTS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxTextCtrl * m_TrackMinWidthCtrl
wxStaticLine * m_staticline13
wxStaticBitmap * m_bitmapMinHoleClearance