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 );