KiCad PCB EDA Suite
panel_setup_constraints_base.cpp
Go to the documentation of this file.
1 // C++ code generated with wxFormBuilder (version Oct 26 2018)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO *NOT* EDIT THIS FILE!
7 
9 
11 
12 PANEL_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 )
13 {
14  wxBoxSizer* bMainSizer;
15  bMainSizer = new wxBoxSizer( wxHORIZONTAL );
16 
17  m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
18  m_scrolledWindow->SetScrollRate( 5, 5 );
19  wxBoxSizer* bScrolledSizer;
20  bScrolledSizer = new wxBoxSizer( wxHORIZONTAL );
21 
22  wxBoxSizer* sbFeatureRules;
23  sbFeatureRules = new wxBoxSizer( wxVERTICAL );
24 
25  m_staticText26 = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Allowed features"), wxDefaultPosition, wxDefaultSize, 0 );
26  m_staticText26->Wrap( -1 );
27  sbFeatureRules->Add( m_staticText26, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
28 
29  wxFlexGridSizer* fgSizerViaOpt;
30  fgSizerViaOpt = new wxFlexGridSizer( 0, 2, 0, 0 );
31  fgSizerViaOpt->SetFlexibleDirection( wxBOTH );
32  fgSizerViaOpt->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
33 
34  m_bitmapBlindBuried = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
35  fgSizerViaOpt->Add( m_bitmapBlindBuried, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
36 
37  m_OptAllowBlindBuriedVias = new wxCheckBox( m_scrolledWindow, wxID_ANY, _("Allow blind/buried vias"), wxDefaultPosition, wxDefaultSize, 0 );
38  fgSizerViaOpt->Add( m_OptAllowBlindBuriedVias, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
39 
40  m_bitmap_uVia = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
41  fgSizerViaOpt->Add( m_bitmap_uVia, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
42 
43  m_OptAllowMicroVias = new wxCheckBox( m_scrolledWindow, wxID_ANY, _("Allow micro vias (uVias)"), wxDefaultPosition, wxDefaultSize, 0 );
44  fgSizerViaOpt->Add( m_OptAllowMicroVias, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
45 
46 
47  sbFeatureRules->Add( fgSizerViaOpt, 0, wxEXPAND|wxTOP, 5 );
48 
49  wxBoxSizer* bSizerArcToPoly;
50  bSizerArcToPoly = new wxBoxSizer( wxVERTICAL );
51 
52  m_staticline2 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
53  bSizerArcToPoly->Add( m_staticline2, 0, wxEXPAND|wxTOP|wxBOTTOM, 15 );
54 
55  m_stCircleToPolyOpt = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Arc/circle approximated by segments"), wxDefaultPosition, wxDefaultSize, 0 );
56  m_stCircleToPolyOpt->Wrap( -1 );
57  bSizerArcToPoly->Add( m_stCircleToPolyOpt, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
58 
59  wxFlexGridSizer* fgSizer2;
60  fgSizer2 = new wxFlexGridSizer( 0, 4, 3, 0 );
61  fgSizer2->AddGrowableCol( 2 );
62  fgSizer2->SetFlexibleDirection( wxBOTH );
63  fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
64 
65 
66  fgSizer2->Add( 15, 0, 0, 0, 5 );
67 
68  m_maxErrorTitle = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Max allowed deviation:"), wxDefaultPosition, wxDefaultSize, 0 );
69  m_maxErrorTitle->Wrap( -1 );
70  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.") );
71 
72  fgSizer2->Add( m_maxErrorTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
73 
74  m_maxErrorCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
75  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.") );
76 
77  fgSizer2->Add( m_maxErrorCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND|wxLEFT|wxRIGHT, 5 );
78 
79  m_maxErrorUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
80  m_maxErrorUnits->Wrap( -1 );
81  fgSizer2->Add( m_maxErrorUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
82 
83 
84  bSizerArcToPoly->Add( fgSizer2, 0, wxEXPAND|wxBOTTOM, 5 );
85 
86  m_stCircleToPolyWarning = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Note: zone filling can be slow when < %s."), wxDefaultPosition, wxDefaultSize, 0 );
87  m_stCircleToPolyWarning->Wrap( -1 );
88  bSizerArcToPoly->Add( m_stCircleToPolyWarning, 0, wxLEFT|wxRIGHT, 5 );
89 
90 
91  sbFeatureRules->Add( bSizerArcToPoly, 0, wxEXPAND|wxTOP, 5 );
92 
93  m_bSizerPolygonFillOption = new wxBoxSizer( wxVERTICAL );
94 
95  m_staticline1 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
96  m_bSizerPolygonFillOption->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 15 );
97 
98  m_stZoneFilledPolysOpt = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Zone fill strategy"), wxDefaultPosition, wxDefaultSize, 0 );
99  m_stZoneFilledPolysOpt->Wrap( -1 );
101 
102  wxBoxSizer* bSizer5;
103  bSizer5 = new wxBoxSizer( wxHORIZONTAL );
104 
105  m_bitmapZoneFillOpt = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
106  bSizer5->Add( m_bitmapZoneFillOpt, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
107 
108  wxBoxSizer* bSizerOutlinesOpts;
109  bSizerOutlinesOpts = new wxBoxSizer( wxVERTICAL );
110 
111  m_rbOutlinePolygonBestQ = new wxRadioButton( m_scrolledWindow, wxID_ANY, _("Mimic legacy behavior"), wxDefaultPosition, wxDefaultSize, 0 );
112  m_rbOutlinePolygonBestQ->SetToolTip( _("Produces a slightly smoother outline at the expense of performance, some export fidelity issues, and overly aggressive higher-priority zone knockouts.") );
113 
114  bSizerOutlinesOpts->Add( m_rbOutlinePolygonBestQ, 0, wxALL, 4 );
115 
116  m_rbOutlinePolygonFastest = new wxRadioButton( m_scrolledWindow, wxID_ANY, _("Smoothed polygons (best performance)"), wxDefaultPosition, wxDefaultSize, 0 );
117  m_rbOutlinePolygonFastest->SetValue( true );
118  m_rbOutlinePolygonFastest->SetToolTip( _("Better performance, exact export fidelity, and more complete filling near higher-priority zones.") );
119 
120  bSizerOutlinesOpts->Add( m_rbOutlinePolygonFastest, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
121 
122 
123  bSizer5->Add( bSizerOutlinesOpts, 1, wxEXPAND, 5 );
124 
125 
126  m_bSizerPolygonFillOption->Add( bSizer5, 1, wxEXPAND, 15 );
127 
128  wxBoxSizer* bSizer9;
129  bSizer9 = new wxBoxSizer( wxHORIZONTAL );
130 
131  m_filletBitmap = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
132  bSizer9->Add( m_filletBitmap, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
133 
134  m_allowExternalFilletsOpt = new wxCheckBox( m_scrolledWindow, wxID_ANY, _("Allow fillets outside zone outline"), wxDefaultPosition, wxDefaultSize, 0 );
135  bSizer9->Add( m_allowExternalFilletsOpt, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
136 
137 
138  m_bSizerPolygonFillOption->Add( bSizer9, 1, wxEXPAND, 5 );
139 
140 
141  sbFeatureRules->Add( m_bSizerPolygonFillOption, 0, wxEXPAND|wxTOP, 10 );
142 
143  wxBoxSizer* bSizer11;
144  bSizer11 = new wxBoxSizer( wxVERTICAL );
145 
146  m_staticline15 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
147  bSizer11->Add( m_staticline15, 0, wxEXPAND | wxALL, 5 );
148 
149  m_staticText33 = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Length tuning"), wxDefaultPosition, wxDefaultSize, 0 );
150  m_staticText33->Wrap( -1 );
151  bSizer11->Add( m_staticText33, 0, wxALL, 5 );
152 
153  m_useHeightForLengthCalcs = new wxCheckBox( m_scrolledWindow, wxID_ANY, _("Include stackup height in track length calculations"), wxDefaultPosition, wxDefaultSize, 0 );
154  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.") );
155 
156  bSizer11->Add( m_useHeightForLengthCalcs, 0, wxALL, 5 );
157 
158 
159  sbFeatureRules->Add( bSizer11, 1, wxEXPAND, 5 );
160 
161 
162  bScrolledSizer->Add( sbFeatureRules, 0, wxEXPAND|wxRIGHT, 5 );
163 
164 
165  bScrolledSizer->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
166 
167  wxBoxSizer* sbFeatureConstraints;
168  sbFeatureConstraints = new wxBoxSizer( wxVERTICAL );
169 
170  wxFlexGridSizer* fgFeatureConstraints;
171  fgFeatureConstraints = new wxFlexGridSizer( 0, 4, 0, 0 );
172  fgFeatureConstraints->SetFlexibleDirection( wxBOTH );
173  fgFeatureConstraints->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
174 
175  m_staticText23 = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Copper"), wxDefaultPosition, wxDefaultSize, 0 );
176  m_staticText23->Wrap( -1 );
177  fgFeatureConstraints->Add( m_staticText23, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxBOTTOM|wxLEFT, 4 );
178 
179 
180  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
181 
182 
183  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
184 
185 
186  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
187 
188  m_bitmapClearance = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
189  fgFeatureConstraints->Add( m_bitmapClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
190 
191  m_clearanceTitle = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
192  m_clearanceTitle->Wrap( -1 );
193  fgFeatureConstraints->Add( m_clearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
194 
195  m_clearanceCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
196  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.") );
197 
198  fgFeatureConstraints->Add( m_clearanceCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 7 );
199 
200  m_clearanceUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
201  m_clearanceUnits->Wrap( -1 );
202  fgFeatureConstraints->Add( m_clearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
203 
204  m_bitmapMinTrackWidth = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
205  fgFeatureConstraints->Add( m_bitmapMinTrackWidth, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
206 
207  m_TrackMinWidthTitle = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum track width:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
208  m_TrackMinWidthTitle->Wrap( -1 );
209  fgFeatureConstraints->Add( m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
210 
211  m_TrackMinWidthCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
212  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.") );
213  m_TrackMinWidthCtrl->SetMinSize( wxSize( 120,-1 ) );
214 
215  fgFeatureConstraints->Add( m_TrackMinWidthCtrl, 0, wxALIGN_LEFT|wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 7 );
216 
217  m_TrackMinWidthUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
218  m_TrackMinWidthUnits->Wrap( -1 );
219  fgFeatureConstraints->Add( m_TrackMinWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
220 
221  m_bitmapMinViaAnnulus = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
222  fgFeatureConstraints->Add( m_bitmapMinViaAnnulus, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
223 
224  m_ViaMinAnnulusTitle = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum annular width:"), wxDefaultPosition, wxDefaultSize, 0 );
225  m_ViaMinAnnulusTitle->Wrap( -1 );
226  fgFeatureConstraints->Add( m_ViaMinAnnulusTitle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
227 
228  m_ViaMinAnnulusCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
229  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.") );
230 
231  fgFeatureConstraints->Add( m_ViaMinAnnulusCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 7 );
232 
233  m_ViaMinAnnulusUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
234  m_ViaMinAnnulusUnits->Wrap( -1 );
235  fgFeatureConstraints->Add( m_ViaMinAnnulusUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
236 
237  m_bitmapMinViaDiameter = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
238  fgFeatureConstraints->Add( m_bitmapMinViaDiameter, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
239 
240  m_ViaMinTitle = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum via diameter:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
241  m_ViaMinTitle->Wrap( -1 );
242  fgFeatureConstraints->Add( m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
243 
244  m_SetViasMinSizeCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
245  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.") );
246 
247  fgFeatureConstraints->Add( m_SetViasMinSizeCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 7 );
248 
249  m_ViaMinUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
250  m_ViaMinUnits->Wrap( -1 );
251  fgFeatureConstraints->Add( m_ViaMinUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
252 
253  m_bitmapHoleClearance = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
254  fgFeatureConstraints->Add( m_bitmapHoleClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
255 
256  m_HoleClearanceLabel = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Copper to hole clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
257  m_HoleClearanceLabel->Wrap( -1 );
258  fgFeatureConstraints->Add( m_HoleClearanceLabel, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
259 
260  m_HoleClearanceCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
261  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.") );
262 
263  fgFeatureConstraints->Add( m_HoleClearanceCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 7 );
264 
265  m_HoleClearanceUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
266  m_HoleClearanceUnits->Wrap( -1 );
267  fgFeatureConstraints->Add( m_HoleClearanceUnits, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
268 
269  m_bitmapEdgeClearance = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
270  fgFeatureConstraints->Add( m_bitmapEdgeClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
271 
272  m_EdgeClearanceLabel = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Copper to edge clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
273  m_EdgeClearanceLabel->Wrap( -1 );
274  fgFeatureConstraints->Add( m_EdgeClearanceLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
275 
276  m_EdgeClearanceCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
277  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.") );
278 
279  fgFeatureConstraints->Add( m_EdgeClearanceCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 7 );
280 
281  m_EdgeClearanceUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
282  m_EdgeClearanceUnits->Wrap( -1 );
283  fgFeatureConstraints->Add( m_EdgeClearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
284 
285  m_staticline3 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
286  fgFeatureConstraints->Add( m_staticline3, 0, wxTOP|wxEXPAND, 10 );
287 
288  m_staticline4 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
289  fgFeatureConstraints->Add( m_staticline4, 0, wxEXPAND|wxTOP, 10 );
290 
291  m_staticline5 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
292  fgFeatureConstraints->Add( m_staticline5, 0, wxEXPAND|wxTOP, 10 );
293 
294  m_staticline6 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
295  fgFeatureConstraints->Add( m_staticline6, 0, wxEXPAND|wxTOP, 10 );
296 
297  m_staticText24 = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Holes"), wxDefaultPosition, wxDefaultSize, 0 );
298  m_staticText24->Wrap( -1 );
299  fgFeatureConstraints->Add( m_staticText24, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 4 );
300 
301 
302  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
303 
304 
305  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
306 
307 
308  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
309 
310  m_bitmapMinViaDrill = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
311  fgFeatureConstraints->Add( m_bitmapMinViaDrill, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
312 
313  m_MinDrillTitle = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum through hole:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
314  m_MinDrillTitle->Wrap( -1 );
315  fgFeatureConstraints->Add( m_MinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
316 
317  m_MinDrillCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
318  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.") );
319 
320  fgFeatureConstraints->Add( m_MinDrillCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 7 );
321 
322  m_MinDrillUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
323  m_MinDrillUnits->Wrap( -1 );
324  fgFeatureConstraints->Add( m_MinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
325 
326  m_bitmapMinHoleClearance = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
327  fgFeatureConstraints->Add( m_bitmapMinHoleClearance, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
328 
329  m_HoleToHoleTitle = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Hole to hole clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
330  m_HoleToHoleTitle->Wrap( -1 );
331  fgFeatureConstraints->Add( m_HoleToHoleTitle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
332 
333  m_SetHoleToHoleCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
334  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.)") );
335 
336  fgFeatureConstraints->Add( m_SetHoleToHoleCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 7 );
337 
338  m_HoleToHoleUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
339  m_HoleToHoleUnits->Wrap( -1 );
340  fgFeatureConstraints->Add( m_HoleToHoleUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
341 
342  m_staticline8 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
343  fgFeatureConstraints->Add( m_staticline8, 0, wxEXPAND|wxTOP, 10 );
344 
345  m_staticline9 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
346  fgFeatureConstraints->Add( m_staticline9, 0, wxEXPAND|wxTOP, 10 );
347 
348  m_staticline10 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
349  fgFeatureConstraints->Add( m_staticline10, 0, wxEXPAND|wxTOP, 10 );
350 
351  m_staticline11 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
352  fgFeatureConstraints->Add( m_staticline11, 0, wxEXPAND|wxTOP, 10 );
353 
354  m_staticText25 = new wxStaticText( m_scrolledWindow, wxID_ANY, _("uVias"), wxDefaultPosition, wxDefaultSize, 0 );
355  m_staticText25->Wrap( -1 );
356  fgFeatureConstraints->Add( m_staticText25, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 4 );
357 
358 
359  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
360 
361 
362  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
363 
364 
365  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
366 
367  m_bitmapMinuViaDiameter = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
368  fgFeatureConstraints->Add( m_bitmapMinuViaDiameter, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
369 
370  m_uviaMinSizeLabel = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum uVia diameter:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
371  m_uviaMinSizeLabel->Wrap( -1 );
372  fgFeatureConstraints->Add( m_uviaMinSizeLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
373 
374  m_uviaMinSizeCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
375  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.") );
376 
377  fgFeatureConstraints->Add( m_uviaMinSizeCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 7 );
378 
379  m_uviaMinSizeUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
380  m_uviaMinSizeUnits->Wrap( -1 );
381  fgFeatureConstraints->Add( m_uviaMinSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
382 
383  m_bitmapMinuViaDrill = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
384  fgFeatureConstraints->Add( m_bitmapMinuViaDrill, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
385 
386  m_uviaMinDrillLabel = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum uVia hole:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
387  m_uviaMinDrillLabel->Wrap( -1 );
388  fgFeatureConstraints->Add( m_uviaMinDrillLabel, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxRIGHT, 5 );
389 
390  m_uviaMinDrillCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
391  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.") );
392 
393  fgFeatureConstraints->Add( m_uviaMinDrillCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 7 );
394 
395  m_uviaMinDrillUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
396  m_uviaMinDrillUnits->Wrap( -1 );
397  fgFeatureConstraints->Add( m_uviaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
398 
399  m_staticline111 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
400  fgFeatureConstraints->Add( m_staticline111, 0, wxEXPAND|wxTOP, 10 );
401 
402  m_staticline12 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
403  fgFeatureConstraints->Add( m_staticline12, 0, wxEXPAND|wxTOP, 10 );
404 
405  m_staticline13 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
406  fgFeatureConstraints->Add( m_staticline13, 0, wxEXPAND|wxTOP, 10 );
407 
408  m_staticline14 = new wxStaticLine( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
409  fgFeatureConstraints->Add( m_staticline14, 0, wxEXPAND|wxTOP, 10 );
410 
411  m_staticText28 = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
412  m_staticText28->Wrap( -1 );
413  fgFeatureConstraints->Add( m_staticText28, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 4 );
414 
415 
416  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
417 
418 
419  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
420 
421 
422  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
423 
424 
425  fgFeatureConstraints->Add( 0, 0, 1, wxEXPAND, 5 );
426 
427  m_silkClearanceLabel = new wxStaticText( m_scrolledWindow, wxID_ANY, _("Minimum item clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
428  m_silkClearanceLabel->Wrap( -1 );
429  fgFeatureConstraints->Add( m_silkClearanceLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
430 
431  m_silkClearanceCtrl = new wxTextCtrl( m_scrolledWindow, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
432  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.)") );
433 
434  fgFeatureConstraints->Add( m_silkClearanceCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 7 );
435 
436  m_silkClearanceUnits = new wxStaticText( m_scrolledWindow, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
437  m_silkClearanceUnits->Wrap( -1 );
438  fgFeatureConstraints->Add( m_silkClearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
439 
440 
441  sbFeatureConstraints->Add( fgFeatureConstraints, 1, wxEXPAND|wxLEFT, 5 );
442 
443 
444  bScrolledSizer->Add( sbFeatureConstraints, 0, wxEXPAND|wxRIGHT, 5 );
445 
446 
447  bScrolledSizer->Add( 0, 0, 1, wxEXPAND, 0 );
448 
449 
450  m_scrolledWindow->SetSizer( bScrolledSizer );
451  m_scrolledWindow->Layout();
452  bScrolledSizer->Fit( m_scrolledWindow );
453  bMainSizer->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 );
454 
455 
456  this->SetSizer( bMainSizer );
457  this->Layout();
458  bMainSizer->Fit( this );
459 
460  // Connect Events
461  m_rbOutlinePolygonBestQ->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_SETUP_CONSTRAINTS_BASE::onChangeOutlineOpt ), NULL, this );
462  m_rbOutlinePolygonFastest->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_SETUP_CONSTRAINTS_BASE::onChangeOutlineOpt ), NULL, this );
463 }
464 
466 {
467  // Disconnect Events
468  m_rbOutlinePolygonBestQ->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_SETUP_CONSTRAINTS_BASE::onChangeOutlineOpt ), NULL, this );
469  m_rbOutlinePolygonFastest->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_SETUP_CONSTRAINTS_BASE::onChangeOutlineOpt ), NULL, this );
470 
471 }
virtual void onChangeOutlineOpt(wxCommandEvent &event)
#define _(s)
const char * name
Definition: DXF_plotter.cpp:56
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)