diff --git a/pcbnew/dialogs/dialog_design_rules_base.cpp b/pcbnew/dialogs/dialog_design_rules_base.cpp
index 8c1025a252..dc28fe60ee 100644
--- a/pcbnew/dialogs/dialog_design_rules_base.cpp
+++ b/pcbnew/dialogs/dialog_design_rules_base.cpp
@@ -1,443 +1,443 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Feb 6 2017)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#include "dialog_design_rules_aux_helper_class.h"
-
-#include "dialog_design_rules_base.h"
-
-///////////////////////////////////////////////////////////////////////////
-
-DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
-
- wxBoxSizer* bMainSizer;
- bMainSizer = new wxBoxSizer( wxVERTICAL );
-
- m_DRnotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_TOP );
- m_panelNetClassesEditor = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bpanelNetClassesSizer;
- bpanelNetClassesSizer = new wxBoxSizer( wxVERTICAL );
-
- wxStaticBoxSizer* sbSizerUpper;
- sbSizerUpper = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Net Classes") ), wxVERTICAL );
-
- m_grid = new wxGrid( sbSizerUpper->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxSUNKEN_BORDER|wxTAB_TRAVERSAL|wxVSCROLL );
-
- // Grid
- m_grid->CreateGrid( 1, 8 );
- m_grid->EnableEditing( true );
- m_grid->EnableGridLines( true );
- m_grid->EnableDragGridSize( false );
- m_grid->SetMargins( 0, 0 );
-
- // Columns
- m_grid->SetColSize( 0, 100 );
- m_grid->SetColSize( 1, 120 );
- m_grid->SetColSize( 2, 84 );
- m_grid->SetColSize( 3, 85 );
- m_grid->SetColSize( 4, 81 );
- m_grid->SetColSize( 5, 90 );
- m_grid->EnableDragColMove( false );
- m_grid->EnableDragColSize( true );
- m_grid->SetColLabelSize( 40 );
- m_grid->SetColLabelValue( 0, _("Clearance") );
- m_grid->SetColLabelValue( 1, _("Track Width") );
- m_grid->SetColLabelValue( 2, _("Via Dia") );
- m_grid->SetColLabelValue( 3, _("Via Drill") );
- m_grid->SetColLabelValue( 4, _("uVia Dia") );
- m_grid->SetColLabelValue( 5, _("uVia Drill") );
- m_grid->SetColLabelValue( 6, _("Diff Pair Width") );
- m_grid->SetColLabelValue( 7, _("Diff Pair Gap") );
- m_grid->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
-
- // Rows
- m_grid->EnableDragRowSize( false );
- m_grid->SetRowLabelSize( 120 );
- m_grid->SetRowLabelValue( 0, _("Default") );
- m_grid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTRE );
-
- // Label Appearance
-
- // Cell Defaults
- m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
- m_grid->SetToolTip( _("Net Class parameters") );
-
- sbSizerUpper->Add( m_grid, 1, wxALL|wxEXPAND, 5 );
-
- wxBoxSizer* buttonBoxSizer;
- buttonBoxSizer = new wxBoxSizer( wxHORIZONTAL );
-
- m_addButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ADD_NETCLASS, _("Add"), wxDefaultPosition, wxDefaultSize, 0 );
- m_addButton->SetToolTip( _("Add another Net Class") );
-
- buttonBoxSizer->Add( m_addButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
-
- m_removeButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_REMOVE_NETCLASS, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
- m_removeButton->SetToolTip( _("Remove the currently select Net Class\nThe default Net Class cannot be removed") );
-
- buttonBoxSizer->Add( m_removeButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
-
- m_moveUpButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ANY, _("Move Up"), wxDefaultPosition, wxDefaultSize, 0 );
- m_moveUpButton->SetToolTip( _("Move the currently selected Net Class up one row") );
-
- buttonBoxSizer->Add( m_moveUpButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
-
-
- sbSizerUpper->Add( buttonBoxSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
-
-
- bpanelNetClassesSizer->Add( sbSizerUpper, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 );
-
- wxStaticBoxSizer* sbSizerNetSelectMain;
- sbSizerNetSelectMain = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Net Class Membership") ), wxHORIZONTAL );
-
- wxBoxSizer* leftNetSelectBoxSizer;
- leftNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer10;
- bSizer10 = new wxBoxSizer( wxHORIZONTAL );
-
- m_leftClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- bSizer10->Add( m_leftClassChoice, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_staticline21 = new wxStaticLine( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer10->Add( m_staticline21, 0, wxEXPAND | wxALL, 5 );
-
- m_buttonLeftSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("Select All"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonLeftSelAll->SetToolTip( _("Select all nets in the left list") );
-
- bSizer10->Add( m_buttonLeftSelAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
-
- leftNetSelectBoxSizer->Add( bSizer10, 0, wxEXPAND, 5 );
-
- m_leftListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
- leftNetSelectBoxSizer->Add( m_leftListCtrl, 1, wxALL|wxEXPAND, 5 );
-
-
- sbSizerNetSelectMain->Add( leftNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
- wxBoxSizer* bmiddleSizerNetSelect;
- bmiddleSizerNetSelect = new wxBoxSizer( wxVERTICAL );
-
- m_buttonRightToLeft = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_LEFT_TO_RIGHT_COPY, _("<<<"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonRightToLeft->SetToolTip( _("Move the selected nets in the right list to the left list") );
-
- bmiddleSizerNetSelect->Add( m_buttonRightToLeft, 0, wxALL, 5 );
-
- m_buttonLeftToRight = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_RIGHT_TO_LEFT_COPY, _(">>>"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonLeftToRight->SetToolTip( _("Move the selected nets in the left list to the right list") );
-
- bmiddleSizerNetSelect->Add( m_buttonLeftToRight, 0, wxALL, 5 );
-
-
- sbSizerNetSelectMain->Add( bmiddleSizerNetSelect, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* rghtNetSelectBoxSizer;
- rghtNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer11;
- bSizer11 = new wxBoxSizer( wxHORIZONTAL );
-
- m_rightClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
- bSizer11->Add( m_rightClassChoice, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_staticline3 = new wxStaticLine( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer11->Add( m_staticline3, 0, wxEXPAND | wxALL, 5 );
-
- m_buttonRightSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("Select All"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonRightSelAll->SetToolTip( _("Select all nets in the right list") );
-
- bSizer11->Add( m_buttonRightSelAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
-
- rghtNetSelectBoxSizer->Add( bSizer11, 0, wxEXPAND, 5 );
-
- m_rightListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
- rghtNetSelectBoxSizer->Add( m_rightListCtrl, 1, wxALL|wxEXPAND, 5 );
-
-
- sbSizerNetSelectMain->Add( rghtNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
-
- bpanelNetClassesSizer->Add( sbSizerNetSelectMain, 1, wxALL|wxEXPAND, 5 );
-
-
- m_panelNetClassesEditor->SetSizer( bpanelNetClassesSizer );
- m_panelNetClassesEditor->Layout();
- bpanelNetClassesSizer->Fit( m_panelNetClassesEditor );
- m_DRnotebook->AddPage( m_panelNetClassesEditor, _("Net Classes Editor"), false );
- m_panelGolbalDesignRules = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bpanelGlobRulesSizer;
- bpanelGlobRulesSizer = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bDesignRulesUpperSizer;
- bDesignRulesUpperSizer = new wxBoxSizer( wxHORIZONTAL );
-
- wxStaticBoxSizer* sbViasOptionSizer;
- sbViasOptionSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Routing Options") ), wxVERTICAL );
-
- wxFlexGridSizer* fgViaOptionsSize;
- fgViaOptionsSize = new wxFlexGridSizer( 0, 3, 0, 0 );
- fgViaOptionsSize->AddGrowableCol( 1 );
- fgViaOptionsSize->SetFlexibleDirection( wxBOTH );
- fgViaOptionsSize->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_TrackMinWidthTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum track width"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_TrackMinWidthTitle->Wrap( -1 );
- fgViaOptionsSize->Add( m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
-
- m_SetTrackMinWidthCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgViaOptionsSize->Add( m_SetTrackMinWidthCtrl, 0, wxALIGN_LEFT|wxALIGN_TOP|wxALL|wxEXPAND, 5 );
-
- m_TrackMinWidthUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_TrackMinWidthUnits->Wrap( -1 );
- fgViaOptionsSize->Add( m_TrackMinWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-
- m_ViaMinTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum via diameter"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_ViaMinTitle->Wrap( -1 );
- fgViaOptionsSize->Add( m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
-
- m_SetViasMinSizeCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgViaOptionsSize->Add( m_SetViasMinSizeCtrl, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
-
- m_ViaMinUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_ViaMinUnits->Wrap( -1 );
- fgViaOptionsSize->Add( m_ViaMinUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-
- m_ViaMinDrillTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum via drill"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_ViaMinDrillTitle->Wrap( -1 );
- fgViaOptionsSize->Add( m_ViaMinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
-
- m_SetViasMinDrillCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgViaOptionsSize->Add( m_SetViasMinDrillCtrl, 0, wxALL|wxEXPAND, 5 );
-
- m_ViaMinDrillUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_ViaMinDrillUnits->Wrap( -1 );
- fgViaOptionsSize->Add( m_ViaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-
-
- fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_OptAllowBlindBuriedVias = new wxCheckBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Allow blind/buried vias"), wxDefaultPosition, wxDefaultSize, 0 );
- fgViaOptionsSize->Add( m_OptAllowBlindBuriedVias, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
-
-
- fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_OptAllowMicroVias = new wxCheckBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Allow micro vias (uVias)"), wxDefaultPosition, wxDefaultSize, 0 );
- fgViaOptionsSize->Add( m_OptAllowMicroVias, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
-
-
- fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_MicroViaMinSizeTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum uVia diameter"), wxDefaultPosition, wxDefaultSize, 0 );
- m_MicroViaMinSizeTitle->Wrap( -1 );
- fgViaOptionsSize->Add( m_MicroViaMinSizeTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
-
- m_SetMicroViasMinSizeCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_SetMicroViasMinSizeCtrl->Enable( false );
-
- fgViaOptionsSize->Add( m_SetMicroViasMinSizeCtrl, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
-
- m_MicroViaMinSizeUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_MicroViaMinSizeUnits->Wrap( -1 );
- fgViaOptionsSize->Add( m_MicroViaMinSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_MicroViaMinDrillTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum uVia drill"), wxDefaultPosition, wxDefaultSize, 0 );
- m_MicroViaMinDrillTitle->Wrap( -1 );
- fgViaOptionsSize->Add( m_MicroViaMinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
-
- m_SetMicroViasMinDrillCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_SetMicroViasMinDrillCtrl->Enable( false );
-
- fgViaOptionsSize->Add( m_SetMicroViasMinDrillCtrl, 0, wxEXPAND|wxALL, 5 );
-
- m_MicroViaMinDrillUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_MicroViaMinDrillUnits->Wrap( -1 );
- fgViaOptionsSize->Add( m_MicroViaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
-
- sbViasOptionSizer->Add( fgViaOptionsSize, 1, wxEXPAND, 5 );
-
-
- bDesignRulesUpperSizer->Add( sbViasOptionSizer, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
-
-
- bpanelGlobRulesSizer->Add( bDesignRulesUpperSizer, 0, wxEXPAND, 5 );
-
- m_staticTextInfo = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Specific via diameters and track widths, which can be used to replace default Netclass values on demand,\nfor arbitrary vias or track segments."), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
- m_staticTextInfo->Wrap( -1 );
- bpanelGlobRulesSizer->Add( m_staticTextInfo, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
-
- wxBoxSizer* bDesignRulesLowerSizer;
- bDesignRulesLowerSizer = new wxBoxSizer( wxHORIZONTAL );
-
- wxStaticBoxSizer* sViaSizeBox;
- sViaSizeBox = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Via Sizes") ), wxVERTICAL );
-
- m_staticText7 = new wxStaticText( sViaSizeBox->GetStaticBox(), wxID_ANY, _("Drill value: a blank or 0 => default Netclass value"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText7->Wrap( -1 );
- sViaSizeBox->Add( m_staticText7, 0, wxALL, 5 );
-
- m_gridViaSizeList = new wxGrid( sViaSizeBox->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
-
- // Grid
- m_gridViaSizeList->CreateGrid( 8, 2 );
- m_gridViaSizeList->EnableEditing( true );
- m_gridViaSizeList->EnableGridLines( true );
- m_gridViaSizeList->EnableDragGridSize( false );
- m_gridViaSizeList->SetMargins( 0, 0 );
-
- // Columns
- m_gridViaSizeList->EnableDragColMove( false );
- m_gridViaSizeList->EnableDragColSize( true );
- m_gridViaSizeList->SetColLabelSize( 30 );
- m_gridViaSizeList->SetColLabelValue( 0, _("Diameter") );
- m_gridViaSizeList->SetColLabelValue( 1, _("Drill") );
- m_gridViaSizeList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
-
- // Rows
- m_gridViaSizeList->EnableDragRowSize( true );
- m_gridViaSizeList->SetRowLabelSize( 80 );
- m_gridViaSizeList->SetRowLabelValue( 0, _("Via 1") );
- m_gridViaSizeList->SetRowLabelValue( 1, _("Via 2") );
- m_gridViaSizeList->SetRowLabelValue( 2, _("Via 3") );
- m_gridViaSizeList->SetRowLabelValue( 3, _("Via 4") );
- m_gridViaSizeList->SetRowLabelValue( 4, _("Via 5") );
- m_gridViaSizeList->SetRowLabelValue( 5, _("Via 6") );
- m_gridViaSizeList->SetRowLabelValue( 6, _("Via 7") );
- m_gridViaSizeList->SetRowLabelValue( 7, _("Via 8") );
- m_gridViaSizeList->SetRowLabelValue( 8, _("Via 9") );
- m_gridViaSizeList->SetRowLabelValue( 9, _("Via 10") );
- m_gridViaSizeList->SetRowLabelValue( 10, _("Via 11") );
- m_gridViaSizeList->SetRowLabelValue( 11, _("Via 12") );
- m_gridViaSizeList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
-
- // Label Appearance
-
- // Cell Defaults
- m_gridViaSizeList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
- sViaSizeBox->Add( m_gridViaSizeList, 1, wxALL|wxEXPAND, 5 );
-
-
- bDesignRulesLowerSizer->Add( sViaSizeBox, 1, wxALL|wxEXPAND, 5 );
-
- wxStaticBoxSizer* sbTracksListSizer;
- sbTracksListSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Track Widths") ), wxVERTICAL );
-
- m_staticText8 = new wxStaticText( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText8->Wrap( -1 );
- sbTracksListSizer->Add( m_staticText8, 0, wxALL, 5 );
-
- m_gridTrackWidthList = new wxGrid( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
-
- // Grid
- m_gridTrackWidthList->CreateGrid( 8, 1 );
- m_gridTrackWidthList->EnableEditing( true );
- m_gridTrackWidthList->EnableGridLines( true );
- m_gridTrackWidthList->EnableDragGridSize( false );
- m_gridTrackWidthList->SetMargins( 0, 0 );
-
- // Columns
- m_gridTrackWidthList->EnableDragColMove( false );
- m_gridTrackWidthList->EnableDragColSize( true );
- m_gridTrackWidthList->SetColLabelSize( 30 );
- m_gridTrackWidthList->SetColLabelValue( 0, _("Width") );
- m_gridTrackWidthList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
-
- // Rows
- m_gridTrackWidthList->EnableDragRowSize( true );
- m_gridTrackWidthList->SetRowLabelSize( 80 );
- m_gridTrackWidthList->SetRowLabelValue( 0, _("Track 1") );
- m_gridTrackWidthList->SetRowLabelValue( 1, _("Track 2") );
- m_gridTrackWidthList->SetRowLabelValue( 2, _("Track 3") );
- m_gridTrackWidthList->SetRowLabelValue( 3, _("Track 4") );
- m_gridTrackWidthList->SetRowLabelValue( 4, _("Track 5") );
- m_gridTrackWidthList->SetRowLabelValue( 5, _("Track 6") );
- m_gridTrackWidthList->SetRowLabelValue( 6, _("Track 7") );
- m_gridTrackWidthList->SetRowLabelValue( 7, _("Track 8") );
- m_gridTrackWidthList->SetRowLabelValue( 8, _("Track 9") );
- m_gridTrackWidthList->SetRowLabelValue( 9, _("Track 10") );
- m_gridTrackWidthList->SetRowLabelValue( 10, _("Track 11") );
- m_gridTrackWidthList->SetRowLabelValue( 11, _("Track 12") );
- m_gridTrackWidthList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
-
- // Label Appearance
-
- // Cell Defaults
- m_gridTrackWidthList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
- sbTracksListSizer->Add( m_gridTrackWidthList, 1, wxALL|wxEXPAND, 5 );
-
-
- bDesignRulesLowerSizer->Add( sbTracksListSizer, 1, wxALL|wxEXPAND, 5 );
-
-
- bpanelGlobRulesSizer->Add( bDesignRulesLowerSizer, 0, wxEXPAND, 5 );
-
-
- m_panelGolbalDesignRules->SetSizer( bpanelGlobRulesSizer );
- m_panelGolbalDesignRules->Layout();
- bpanelGlobRulesSizer->Fit( m_panelGolbalDesignRules );
- m_DRnotebook->AddPage( m_panelGolbalDesignRules, _("Global Design Rules"), true );
-
- bMainSizer->Add( m_DRnotebook, 1, wxALL|wxEXPAND, 5 );
-
- m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bMainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
-
- m_sdbSizer1 = new wxStdDialogButtonSizer();
- m_sdbSizer1OK = new wxButton( this, wxID_OK );
- m_sdbSizer1->AddButton( m_sdbSizer1OK );
- m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
- m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
- m_sdbSizer1->Realize();
-
- bMainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 5 );
-
-
- this->SetSizer( bMainSizer );
- this->Layout();
-
- // Connect Events
- m_DRnotebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
- m_grid->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
- m_grid->Connect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
- m_addButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
- m_removeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
- m_moveUpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
- m_leftClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
- m_buttonLeftSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
- m_buttonRightToLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
- m_buttonLeftToRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
- m_rightClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
- m_buttonRightSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
- m_OptAllowMicroVias->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAllowMicroVias ), NULL, this );
-}
-
-DIALOG_DESIGN_RULES_BASE::~DIALOG_DESIGN_RULES_BASE()
-{
- // Disconnect Events
- m_DRnotebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
- m_grid->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
- m_grid->Disconnect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
- m_addButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
- m_removeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
- m_moveUpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
- m_leftClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
- m_buttonLeftSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
- m_buttonRightToLeft->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
- m_buttonLeftToRight->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
- m_rightClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
- m_buttonRightSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
- m_OptAllowMicroVias->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAllowMicroVias ), NULL, this );
-
-}
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Aug 29 2017)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#include "dialog_design_rules_aux_helper_class.h"
+
+#include "dialog_design_rules_base.h"
+
+///////////////////////////////////////////////////////////////////////////
+
+DIALOG_DESIGN_RULES_BASE::DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
+{
+ this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
+
+ wxBoxSizer* bMainSizer;
+ bMainSizer = new wxBoxSizer( wxVERTICAL );
+
+ m_DRnotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_TOP );
+ m_panelNetClassesEditor = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bpanelNetClassesSizer;
+ bpanelNetClassesSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxStaticBoxSizer* sbSizerUpper;
+ sbSizerUpper = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Net Classes") ), wxVERTICAL );
+
+ m_grid = new wxGrid( sbSizerUpper->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxSUNKEN_BORDER|wxTAB_TRAVERSAL|wxVSCROLL );
+
+ // Grid
+ m_grid->CreateGrid( 1, 8 );
+ m_grid->EnableEditing( true );
+ m_grid->EnableGridLines( true );
+ m_grid->EnableDragGridSize( false );
+ m_grid->SetMargins( 0, 0 );
+
+ // Columns
+ m_grid->SetColSize( 0, 100 );
+ m_grid->SetColSize( 1, 120 );
+ m_grid->SetColSize( 2, 84 );
+ m_grid->SetColSize( 3, 85 );
+ m_grid->SetColSize( 4, 81 );
+ m_grid->SetColSize( 5, 90 );
+ m_grid->EnableDragColMove( false );
+ m_grid->EnableDragColSize( true );
+ m_grid->SetColLabelSize( 40 );
+ m_grid->SetColLabelValue( 0, _("Clearance") );
+ m_grid->SetColLabelValue( 1, _("Track Width") );
+ m_grid->SetColLabelValue( 2, _("Via Dia") );
+ m_grid->SetColLabelValue( 3, _("Via Drill") );
+ m_grid->SetColLabelValue( 4, _("uVia Dia") );
+ m_grid->SetColLabelValue( 5, _("uVia Drill") );
+ m_grid->SetColLabelValue( 6, _("Diff Pair Width") );
+ m_grid->SetColLabelValue( 7, _("Diff Pair Gap") );
+ m_grid->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
+
+ // Rows
+ m_grid->EnableDragRowSize( false );
+ m_grid->SetRowLabelSize( 120 );
+ m_grid->SetRowLabelValue( 0, _("Default") );
+ m_grid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTRE );
+
+ // Label Appearance
+
+ // Cell Defaults
+ m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
+ m_grid->SetToolTip( _("Net Class parameters") );
+
+ sbSizerUpper->Add( m_grid, 1, wxALL|wxEXPAND, 5 );
+
+ wxBoxSizer* buttonBoxSizer;
+ buttonBoxSizer = new wxBoxSizer( wxHORIZONTAL );
+
+ m_addButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ADD_NETCLASS, _("Add"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_addButton->SetToolTip( _("Add another Net Class") );
+
+ buttonBoxSizer->Add( m_addButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
+
+ m_removeButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_REMOVE_NETCLASS, _("Remove"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_removeButton->SetToolTip( _("Remove the currently select Net Class\nThe default Net Class cannot be removed") );
+
+ buttonBoxSizer->Add( m_removeButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
+
+ m_moveUpButton = new wxButton( sbSizerUpper->GetStaticBox(), wxID_ANY, _("Move Up"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_moveUpButton->SetToolTip( _("Move the currently selected Net Class up one row") );
+
+ buttonBoxSizer->Add( m_moveUpButton, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
+
+
+ sbSizerUpper->Add( buttonBoxSizer, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
+
+
+ bpanelNetClassesSizer->Add( sbSizerUpper, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 );
+
+ wxStaticBoxSizer* sbSizerNetSelectMain;
+ sbSizerNetSelectMain = new wxStaticBoxSizer( new wxStaticBox( m_panelNetClassesEditor, wxID_ANY, _("Net Class Membership") ), wxHORIZONTAL );
+
+ wxBoxSizer* leftNetSelectBoxSizer;
+ leftNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer10;
+ bSizer10 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_leftClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
+ bSizer10->Add( m_leftClassChoice, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_staticline21 = new wxStaticLine( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer10->Add( m_staticline21, 0, wxEXPAND | wxALL, 5 );
+
+ m_buttonLeftSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("Select All"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonLeftSelAll->SetToolTip( _("Select all nets in the left list") );
+
+ bSizer10->Add( m_buttonLeftSelAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+ leftNetSelectBoxSizer->Add( bSizer10, 0, wxEXPAND, 5 );
+
+ m_leftListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
+ leftNetSelectBoxSizer->Add( m_leftListCtrl, 1, wxALL|wxEXPAND, 5 );
+
+
+ sbSizerNetSelectMain->Add( leftNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
+
+ wxBoxSizer* bmiddleSizerNetSelect;
+ bmiddleSizerNetSelect = new wxBoxSizer( wxVERTICAL );
+
+ m_buttonRightToLeft = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_LEFT_TO_RIGHT_COPY, _("<<<"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonRightToLeft->SetToolTip( _("Move the selected nets in the right list to the left list") );
+
+ bmiddleSizerNetSelect->Add( m_buttonRightToLeft, 0, wxALL, 5 );
+
+ m_buttonLeftToRight = new wxButton( sbSizerNetSelectMain->GetStaticBox(), ID_RIGHT_TO_LEFT_COPY, _(">>>"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonLeftToRight->SetToolTip( _("Move the selected nets in the left list to the right list") );
+
+ bmiddleSizerNetSelect->Add( m_buttonLeftToRight, 0, wxALL, 5 );
+
+
+ sbSizerNetSelectMain->Add( bmiddleSizerNetSelect, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ wxBoxSizer* rghtNetSelectBoxSizer;
+ rghtNetSelectBoxSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer11;
+ bSizer11 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_rightClassChoice = new wxComboBox( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
+ bSizer11->Add( m_rightClassChoice, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_staticline3 = new wxStaticLine( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer11->Add( m_staticline3, 0, wxEXPAND | wxALL, 5 );
+
+ m_buttonRightSelAll = new wxButton( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, _("Select All"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonRightSelAll->SetToolTip( _("Select all nets in the right list") );
+
+ bSizer11->Add( m_buttonRightSelAll, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+ rghtNetSelectBoxSizer->Add( bSizer11, 0, wxEXPAND, 5 );
+
+ m_rightListCtrl = new NETS_LIST_CTRL( sbSizerNetSelectMain->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES|wxSUNKEN_BORDER );
+ rghtNetSelectBoxSizer->Add( m_rightListCtrl, 1, wxALL|wxEXPAND, 5 );
+
+
+ sbSizerNetSelectMain->Add( rghtNetSelectBoxSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
+
+
+ bpanelNetClassesSizer->Add( sbSizerNetSelectMain, 1, wxALL|wxEXPAND, 5 );
+
+
+ m_panelNetClassesEditor->SetSizer( bpanelNetClassesSizer );
+ m_panelNetClassesEditor->Layout();
+ bpanelNetClassesSizer->Fit( m_panelNetClassesEditor );
+ m_DRnotebook->AddPage( m_panelNetClassesEditor, _("Net Classes Editor"), false );
+ m_panelGolbalDesignRules = new wxPanel( m_DRnotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bpanelGlobRulesSizer;
+ bpanelGlobRulesSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bDesignRulesUpperSizer;
+ bDesignRulesUpperSizer = new wxBoxSizer( wxHORIZONTAL );
+
+ wxStaticBoxSizer* sbViasOptionSizer;
+ sbViasOptionSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Routing Options") ), wxVERTICAL );
+
+ wxFlexGridSizer* fgViaOptionsSize;
+ fgViaOptionsSize = new wxFlexGridSizer( 0, 3, 0, 0 );
+ fgViaOptionsSize->AddGrowableCol( 1 );
+ fgViaOptionsSize->SetFlexibleDirection( wxBOTH );
+ fgViaOptionsSize->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+ m_TrackMinWidthTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum track width"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
+ m_TrackMinWidthTitle->Wrap( -1 );
+ fgViaOptionsSize->Add( m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
+
+ m_SetTrackMinWidthCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ fgViaOptionsSize->Add( m_SetTrackMinWidthCtrl, 0, wxALIGN_LEFT|wxALIGN_TOP|wxALL|wxEXPAND, 5 );
+
+ m_TrackMinWidthUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
+ m_TrackMinWidthUnits->Wrap( -1 );
+ fgViaOptionsSize->Add( m_TrackMinWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
+
+ m_ViaMinTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum via diameter"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
+ m_ViaMinTitle->Wrap( -1 );
+ fgViaOptionsSize->Add( m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
+
+ m_SetViasMinSizeCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ fgViaOptionsSize->Add( m_SetViasMinSizeCtrl, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
+
+ m_ViaMinUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
+ m_ViaMinUnits->Wrap( -1 );
+ fgViaOptionsSize->Add( m_ViaMinUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
+
+ m_ViaMinDrillTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum via drill"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
+ m_ViaMinDrillTitle->Wrap( -1 );
+ fgViaOptionsSize->Add( m_ViaMinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
+
+ m_SetViasMinDrillCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ fgViaOptionsSize->Add( m_SetViasMinDrillCtrl, 0, wxALL|wxEXPAND, 5 );
+
+ m_ViaMinDrillUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
+ m_ViaMinDrillUnits->Wrap( -1 );
+ fgViaOptionsSize->Add( m_ViaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
+
+
+ fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_OptAllowBlindBuriedVias = new wxCheckBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Allow blind/buried vias"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgViaOptionsSize->Add( m_OptAllowBlindBuriedVias, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
+
+
+ fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_OptAllowMicroVias = new wxCheckBox( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Allow micro vias (uVias)"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgViaOptionsSize->Add( m_OptAllowMicroVias, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
+
+
+ fgViaOptionsSize->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_MicroViaMinSizeTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum uVia diameter"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_MicroViaMinSizeTitle->Wrap( -1 );
+ fgViaOptionsSize->Add( m_MicroViaMinSizeTitle, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
+
+ m_SetMicroViasMinSizeCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ m_SetMicroViasMinSizeCtrl->Enable( false );
+
+ fgViaOptionsSize->Add( m_SetMicroViasMinSizeCtrl, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
+
+ m_MicroViaMinSizeUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
+ m_MicroViaMinSizeUnits->Wrap( -1 );
+ fgViaOptionsSize->Add( m_MicroViaMinSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
+
+ m_MicroViaMinDrillTitle = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("Minimum uVia drill"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_MicroViaMinDrillTitle->Wrap( -1 );
+ fgViaOptionsSize->Add( m_MicroViaMinDrillTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
+
+ m_SetMicroViasMinDrillCtrl = new wxTextCtrl( sbViasOptionSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ m_SetMicroViasMinDrillCtrl->Enable( false );
+
+ fgViaOptionsSize->Add( m_SetMicroViasMinDrillCtrl, 0, wxEXPAND|wxALL, 5 );
+
+ m_MicroViaMinDrillUnits = new wxStaticText( sbViasOptionSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
+ m_MicroViaMinDrillUnits->Wrap( -1 );
+ fgViaOptionsSize->Add( m_MicroViaMinDrillUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
+
+
+ sbViasOptionSizer->Add( fgViaOptionsSize, 1, wxEXPAND, 5 );
+
+
+ bDesignRulesUpperSizer->Add( sbViasOptionSizer, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
+
+
+ bpanelGlobRulesSizer->Add( bDesignRulesUpperSizer, 0, wxEXPAND, 5 );
+
+ m_staticTextInfo = new wxStaticText( m_panelGolbalDesignRules, wxID_ANY, _("Specific via diameters and track widths, which can be used to replace default Netclass values on demand,\nfor arbitrary vias or track segments."), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
+ m_staticTextInfo->Wrap( -1 );
+ bpanelGlobRulesSizer->Add( m_staticTextInfo, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
+
+ wxBoxSizer* bDesignRulesLowerSizer;
+ bDesignRulesLowerSizer = new wxBoxSizer( wxHORIZONTAL );
+
+ wxStaticBoxSizer* sViaSizeBox;
+ sViaSizeBox = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Via Sizes") ), wxVERTICAL );
+
+ m_staticText7 = new wxStaticText( sViaSizeBox->GetStaticBox(), wxID_ANY, _("Drill value: a blank or 0 => default Netclass value"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText7->Wrap( -1 );
+ sViaSizeBox->Add( m_staticText7, 0, wxALL, 5 );
+
+ m_gridViaSizeList = new wxGrid( sViaSizeBox->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+
+ // Grid
+ m_gridViaSizeList->CreateGrid( 8, 2 );
+ m_gridViaSizeList->EnableEditing( true );
+ m_gridViaSizeList->EnableGridLines( true );
+ m_gridViaSizeList->EnableDragGridSize( false );
+ m_gridViaSizeList->SetMargins( 0, 0 );
+
+ // Columns
+ m_gridViaSizeList->EnableDragColMove( false );
+ m_gridViaSizeList->EnableDragColSize( true );
+ m_gridViaSizeList->SetColLabelSize( 30 );
+ m_gridViaSizeList->SetColLabelValue( 0, _("Diameter") );
+ m_gridViaSizeList->SetColLabelValue( 1, _("Drill") );
+ m_gridViaSizeList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
+
+ // Rows
+ m_gridViaSizeList->EnableDragRowSize( true );
+ m_gridViaSizeList->SetRowLabelSize( 80 );
+ m_gridViaSizeList->SetRowLabelValue( 0, _("Via 1") );
+ m_gridViaSizeList->SetRowLabelValue( 1, _("Via 2") );
+ m_gridViaSizeList->SetRowLabelValue( 2, _("Via 3") );
+ m_gridViaSizeList->SetRowLabelValue( 3, _("Via 4") );
+ m_gridViaSizeList->SetRowLabelValue( 4, _("Via 5") );
+ m_gridViaSizeList->SetRowLabelValue( 5, _("Via 6") );
+ m_gridViaSizeList->SetRowLabelValue( 6, _("Via 7") );
+ m_gridViaSizeList->SetRowLabelValue( 7, _("Via 8") );
+ m_gridViaSizeList->SetRowLabelValue( 8, _("Via 9") );
+ m_gridViaSizeList->SetRowLabelValue( 9, _("Via 10") );
+ m_gridViaSizeList->SetRowLabelValue( 10, _("Via 11") );
+ m_gridViaSizeList->SetRowLabelValue( 11, _("Via 12") );
+ m_gridViaSizeList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
+
+ // Label Appearance
+
+ // Cell Defaults
+ m_gridViaSizeList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
+ sViaSizeBox->Add( m_gridViaSizeList, 1, wxALL|wxEXPAND, 5 );
+
+
+ bDesignRulesLowerSizer->Add( sViaSizeBox, 1, wxALL|wxEXPAND, 5 );
+
+ wxStaticBoxSizer* sbTracksListSizer;
+ sbTracksListSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGolbalDesignRules, wxID_ANY, _("Custom Track Widths") ), wxVERTICAL );
+
+ m_staticText8 = new wxStaticText( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText8->Wrap( -1 );
+ sbTracksListSizer->Add( m_staticText8, 0, wxALL, 5 );
+
+ m_gridTrackWidthList = new wxGrid( sbTracksListSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+
+ // Grid
+ m_gridTrackWidthList->CreateGrid( 8, 1 );
+ m_gridTrackWidthList->EnableEditing( true );
+ m_gridTrackWidthList->EnableGridLines( true );
+ m_gridTrackWidthList->EnableDragGridSize( false );
+ m_gridTrackWidthList->SetMargins( 0, 0 );
+
+ // Columns
+ m_gridTrackWidthList->EnableDragColMove( false );
+ m_gridTrackWidthList->EnableDragColSize( true );
+ m_gridTrackWidthList->SetColLabelSize( 30 );
+ m_gridTrackWidthList->SetColLabelValue( 0, _("Width") );
+ m_gridTrackWidthList->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
+
+ // Rows
+ m_gridTrackWidthList->EnableDragRowSize( true );
+ m_gridTrackWidthList->SetRowLabelSize( 80 );
+ m_gridTrackWidthList->SetRowLabelValue( 0, _("Track 1") );
+ m_gridTrackWidthList->SetRowLabelValue( 1, _("Track 2") );
+ m_gridTrackWidthList->SetRowLabelValue( 2, _("Track 3") );
+ m_gridTrackWidthList->SetRowLabelValue( 3, _("Track 4") );
+ m_gridTrackWidthList->SetRowLabelValue( 4, _("Track 5") );
+ m_gridTrackWidthList->SetRowLabelValue( 5, _("Track 6") );
+ m_gridTrackWidthList->SetRowLabelValue( 6, _("Track 7") );
+ m_gridTrackWidthList->SetRowLabelValue( 7, _("Track 8") );
+ m_gridTrackWidthList->SetRowLabelValue( 8, _("Track 9") );
+ m_gridTrackWidthList->SetRowLabelValue( 9, _("Track 10") );
+ m_gridTrackWidthList->SetRowLabelValue( 10, _("Track 11") );
+ m_gridTrackWidthList->SetRowLabelValue( 11, _("Track 12") );
+ m_gridTrackWidthList->SetRowLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
+
+ // Label Appearance
+
+ // Cell Defaults
+ m_gridTrackWidthList->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
+ sbTracksListSizer->Add( m_gridTrackWidthList, 1, wxALL|wxEXPAND, 5 );
+
+
+ bDesignRulesLowerSizer->Add( sbTracksListSizer, 1, wxALL|wxEXPAND, 5 );
+
+
+ bpanelGlobRulesSizer->Add( bDesignRulesLowerSizer, 0, wxEXPAND, 5 );
+
+
+ m_panelGolbalDesignRules->SetSizer( bpanelGlobRulesSizer );
+ m_panelGolbalDesignRules->Layout();
+ bpanelGlobRulesSizer->Fit( m_panelGolbalDesignRules );
+ m_DRnotebook->AddPage( m_panelGolbalDesignRules, _("Global Design Rules"), true );
+
+ bMainSizer->Add( m_DRnotebook, 1, wxALL|wxEXPAND, 5 );
+
+ m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bMainSizer->Add( m_staticline2, 0, wxEXPAND | wxALL, 5 );
+
+ m_sdbSizer1 = new wxStdDialogButtonSizer();
+ m_sdbSizer1OK = new wxButton( this, wxID_OK );
+ m_sdbSizer1->AddButton( m_sdbSizer1OK );
+ m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
+ m_sdbSizer1->AddButton( m_sdbSizer1Cancel );
+ m_sdbSizer1->Realize();
+
+ bMainSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 5 );
+
+
+ this->SetSizer( bMainSizer );
+ this->Layout();
+
+ // Connect Events
+ m_DRnotebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
+ m_grid->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
+ m_grid->Connect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
+ m_addButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
+ m_removeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
+ m_moveUpButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
+ m_leftClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
+ m_buttonLeftSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
+ m_buttonRightToLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
+ m_buttonLeftToRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
+ m_rightClassChoice->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
+ m_buttonRightSelAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
+ m_OptAllowMicroVias->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAllowMicroVias ), NULL, this );
+}
+
+DIALOG_DESIGN_RULES_BASE::~DIALOG_DESIGN_RULES_BASE()
+{
+ // Disconnect Events
+ m_DRnotebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( DIALOG_DESIGN_RULES_BASE::OnNotebookPageChanged ), NULL, this );
+ m_grid->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameLeftClick ), NULL, this );
+ m_grid->Disconnect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( DIALOG_DESIGN_RULES_BASE::OnNetClassesNameRightClick ), NULL, this );
+ m_addButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAddNetclassClick ), NULL, this );
+ m_removeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRemoveNetclassClick ), NULL, this );
+ m_moveUpButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnMoveUpSelectedNetClass ), NULL, this );
+ m_leftClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftCBSelection ), NULL, this );
+ m_buttonLeftSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftSelectAllButton ), NULL, this );
+ m_buttonRightToLeft->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightToLeftCopyButton ), NULL, this );
+ m_buttonLeftToRight->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnLeftToRightCopyButton ), NULL, this );
+ m_rightClassChoice->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightCBSelection ), NULL, this );
+ m_buttonRightSelAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnRightSelectAllButton ), NULL, this );
+ m_OptAllowMicroVias->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DESIGN_RULES_BASE::OnAllowMicroVias ), NULL, this );
+
+}
diff --git a/pcbnew/dialogs/dialog_design_rules_base.fbp b/pcbnew/dialogs/dialog_design_rules_base.fbp
index b1adff4fc6..99974341f7 100644
--- a/pcbnew/dialogs/dialog_design_rules_base.fbp
+++ b/pcbnew/dialogs/dialog_design_rules_base.fbp
@@ -1,3996 +1,3996 @@
-
-
-
-
-
+
+
+
+
+
+ C++
+ 1
+ source_name
+ 0
+ 0
+ res
+ UTF-8
+ connect
+ dialog_design_rules_base
+ 1000
+ none
+ 1
+ dialog_design_rules_base
+
+ .
+
+ 1
+ 1
+ 1
+ 1
+ UI
+ 1
+ 0
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+
+
+ 1
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+ -1,-1
+ DIALOG_DESIGN_RULES_BASE
+
+ 798,611
+ wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
+ DIALOG_SHIM; dialog_shim.h
+ Design Rules Editor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bMainSizer
+ wxVERTICAL
+ none
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_DRnotebook
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxNB_TOP
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnNotebookPageChanged
+
+
+
+
+
+
+
+
+
+
+ Net Classes Editor
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_panelNetClassesEditor
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ 0
+
+
+
+ wxTAB_TRAVERSAL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bpanelNetClassesSizer
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND|wxLEFT|wxRIGHT
+ 1
+
+ wxID_ANY
+ Net Classes
+
+ sbSizerUpper
+ wxVERTICAL
+ 1
+ none
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+ wxALIGN_LEFT
+
+ wxALIGN_TOP
+ 0
+ 1
+ wxALIGN_CENTRE
+ 40
+ "Clearance" "Track Width" "Via Dia" "Via Drill" "uVia Dia" "uVia Drill" "Diff Pair Width" "Diff Pair Gap"
+ wxALIGN_CENTRE
+ 8
+ 100,120,84,85,81,90
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1
+
+ 1
+
+
+ 1
+ 0
+ 0
+ wxID_ANY
+
+
+
+ 0
+ 0
+
+ 0
+
+
+ 0
+ -1,-1
+ 1
+ m_grid
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ wxALIGN_LEFT
+ 120
+ "Default"
+ wxALIGN_CENTRE
+
+ 1
+ 1
+
+
+ 0
+ Net Class parameters
+
+
+ wxHSCROLL|wxSUNKEN_BORDER|wxTAB_TRAVERSAL|wxVSCROLL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnNetClassesNameLeftClick
+
+ OnNetClassesNameRightClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP
+ 0
+
+
+ buttonBoxSizer
+ wxHORIZONTAL
+ none
+
+ 5
+ wxBOTTOM|wxLEFT|wxRIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ADD_NETCLASS
+ Add
+
+ 0
+
+
+ 0
+
+ 1
+ m_addButton
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Add another Net Class
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+ OnAddNetclassClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxBOTTOM|wxLEFT|wxRIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_REMOVE_NETCLASS
+ Remove
+
+ 0
+
+
+ 0
+
+ 1
+ m_removeButton
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Remove the currently select Net Class
The default Net Class cannot be removed
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+ OnRemoveNetclassClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxBOTTOM|wxLEFT|wxRIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Move Up
+
+ 0
+
+
+ 0
+
+ 1
+ m_moveUpButton
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Move the currently selected Net Class up one row
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+ OnMoveUpSelectedNetClass
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ wxID_ANY
+ Net Class Membership
+
+ sbSizerNetSelectMain
+ wxHORIZONTAL
+ 1
+ none
+
+
+ 5
+ wxEXPAND|wxRIGHT|wxLEFT
+ 1
+
+
+ leftNetSelectBoxSizer
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer10
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_leftClassChoice
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ -1
+ 1
+
+ wxCB_READONLY
+
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+ OnLeftCBSelection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND | wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticline21
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLI_VERTICAL
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Select All
+
+ 0
+
+
+ 0
+
+ 1
+ m_buttonLeftSelAll
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Select all nets in the left list
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+ OnLeftSelectAllButton
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+ -1,-1
+ 1
+ m_leftListCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES
+ NETS_LIST_CTRL; dialog_design_rules_aux_helper_class.h
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+ wxSUNKEN_BORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL
+ 0
+
+
+ bmiddleSizerNetSelect
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ ID_LEFT_TO_RIGHT_COPY
+ <<<
+
+ 0
+
+
+ 0
+
+ 1
+ m_buttonRightToLeft
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Move the selected nets in the right list to the left list
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+ OnRightToLeftCopyButton
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ ID_RIGHT_TO_LEFT_COPY
+ >>>
+
+ 0
+
+
+ 0
+
+ 1
+ m_buttonLeftToRight
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Move the selected nets in the left list to the right list
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+ OnLeftToRightCopyButton
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND|wxRIGHT|wxLEFT
+ 1
+
+
+ rghtNetSelectBoxSizer
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer11
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_rightClassChoice
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ -1
+ 1
+
+ wxCB_READONLY
+
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+ OnRightCBSelection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND | wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticline3
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLI_VERTICAL
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Select All
+
+ 0
+
+
+ 0
+
+ 1
+ m_buttonRightSelAll
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Select all nets in the right list
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+ OnRightSelectAllButton
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+ -1,-1
+ 1
+ m_rightListCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLC_HRULES|wxLC_REPORT|wxLC_VIRTUAL|wxLC_VRULES
+ NETS_LIST_CTRL; dialog_design_rules_aux_helper_class.h
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+ wxSUNKEN_BORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Global Design Rules
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_panelGolbalDesignRules
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ 0
+
+
+
+ wxTAB_TRAVERSAL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bpanelGlobRulesSizer
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bDesignRulesUpperSizer
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND|wxLEFT|wxRIGHT|wxTOP
+ 1
+
+ wxID_ANY
+ Routing Options
+
+ sbViasOptionSizer
+ wxVERTICAL
+ 1
+ none
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 3
+ wxBOTH
+ 1
+
+ 0
+
+ fgViaOptionsSize
+ wxFLEX_GROWMODE_SPECIFIED
+ none
+ 0
+ 0
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Minimum track width
+
+ 0
+
+
+ 0
+
+ 1
+ m_TrackMinWidthTitle
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_RIGHT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_LEFT|wxALIGN_TOP|wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+
+ 0
+
+ 1
+ m_SetTrackMinWidthCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+ wxString
+ wxFILTER_NUMERIC
+ wxTextValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ mm
+
+ 0
+
+
+ 0
+
+ 1
+ m_TrackMinWidthUnits
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_LEFT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Minimum via diameter
+
+ 0
+
+
+ 0
+
+ 1
+ m_ViaMinTitle
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_RIGHT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+
+ 0
+
+ 1
+ m_SetViasMinSizeCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ;
+ 0
+
+ wxString
+ wxFILTER_NUMERIC
+ wxTextValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ mm
+
+ 0
+
+
+ 0
+
+ 1
+ m_ViaMinUnits
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_LEFT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Minimum via drill
+
+ 0
+
+
+ 0
+
+ 1
+ m_ViaMinDrillTitle
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_RIGHT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+
+ 0
+
+ 1
+ m_SetViasMinDrillCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+ wxFILTER_NUMERIC
+ wxTextValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ mm
+
+ 0
+
+
+ 0
+
+ 1
+ m_ViaMinDrillUnits
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_LEFT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Allow blind/buried vias
+
+ 0
+
+
+ 0
+
+ 1
+ m_OptAllowBlindBuriedVias
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Allow micro vias (uVias)
+
+ 0
+
+
+ 0
+
+ 1
+ m_OptAllowMicroVias
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+ OnAllowMicroVias
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Minimum uVia diameter
+
+ 0
+
+
+ 0
+
+ 1
+ m_MicroViaMinSizeTitle
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+
+ 0
+
+ 1
+ m_SetMicroViasMinSizeCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+ wxFILTER_NUMERIC
+ wxTextValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ mm
+
+ 0
+
+
+ 0
+
+ 1
+ m_MicroViaMinSizeUnits
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_LEFT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Minimum uVia drill
+
+ 0
+
+
+ 0
+
+ 1
+ m_MicroViaMinDrillTitle
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND|wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+
+ 0
+
+ 1
+ m_SetMicroViasMinDrillCtrl
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+ wxFILTER_NUMERIC
+ wxTextValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ mm
+
+ 0
+
+
+ 0
+
+ 1
+ m_MicroViaMinDrillUnits
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxALIGN_LEFT
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Specific via diameters and track widths, which can be used to replace default Netclass values on demand,
for arbitrary vias or track segments.
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticTextInfo
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxST_NO_AUTORESIZE
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bDesignRulesLowerSizer
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ wxID_ANY
+ Custom Via Sizes
+
+ sViaSizeBox
+ wxVERTICAL
+ 1
+ none
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Drill value: a blank or 0 => default Netclass value
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText7
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+ wxALIGN_LEFT
+
+ wxALIGN_TOP
+ 0
+ 1
+ wxALIGN_CENTRE
+ 30
+ "Diameter" "Drill"
+ wxALIGN_CENTRE
+ 2
+
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+
+ 1
+
+
+ 1
+ 0
+ 0
+ wxID_ANY
+
+
+
+ 0
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_gridViaSizeList
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ wxALIGN_CENTRE
+ 80
+ "Via 1" "Via 2" "Via 3" "Via 4" "Via 5" "Via 6" "Via 7" "Via 8" "Via 9" "Via 10" "Via 11" "Via 12"
+ wxALIGN_CENTRE
+
+ 8
+ 1
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ wxID_ANY
+ Custom Track Widths
+
+ sbTracksListSizer
+ wxVERTICAL
+ 1
+ none
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText8
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+ wxALIGN_LEFT
+
+ wxALIGN_TOP
+ 0
+ 1
+ wxALIGN_CENTRE
+ 30
+ "Width"
+ wxALIGN_CENTRE
+ 1
+
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+
+ 1
+
+
+ 1
+ 0
+ 0
+ wxID_ANY
+
+
+
+ 0
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_gridTrackWidthList
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ wxALIGN_CENTRE
+ 80
+ "Track 1" "Track 2" "Track 3" "Track 4" "Track 5" "Track 6" "Track 7" "Track 8" "Track 9" "Track 10" "Track 11" "Track 12"
+ wxALIGN_CENTRE
+
+ 8
+ 1
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND | wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticline2
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLI_HORIZONTAL
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 0
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+
+ m_sdbSizer1
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pcbnew/dialogs/dialog_design_rules_base.h b/pcbnew/dialogs/dialog_design_rules_base.h
index 8b9b4717c8..363ac68de2 100644
--- a/pcbnew/dialogs/dialog_design_rules_base.h
+++ b/pcbnew/dialogs/dialog_design_rules_base.h
@@ -1,126 +1,126 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Feb 6 2017)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#ifndef __DIALOG_DESIGN_RULES_BASE_H__
-#define __DIALOG_DESIGN_RULES_BASE_H__
-
-#include
-#include
-#include
-class DIALOG_SHIM;
-class NETS_LIST_CTRL;
-
-#include "dialog_shim.h"
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-///////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class DIALOG_DESIGN_RULES_BASE
-///////////////////////////////////////////////////////////////////////////////
-class DIALOG_DESIGN_RULES_BASE : public DIALOG_SHIM
-{
- private:
-
- protected:
- enum
- {
- wxID_ADD_NETCLASS = 1000,
- wxID_REMOVE_NETCLASS,
- ID_LEFT_TO_RIGHT_COPY,
- ID_RIGHT_TO_LEFT_COPY
- };
-
- wxNotebook* m_DRnotebook;
- wxPanel* m_panelNetClassesEditor;
- wxGrid* m_grid;
- wxButton* m_addButton;
- wxButton* m_removeButton;
- wxButton* m_moveUpButton;
- wxComboBox* m_leftClassChoice;
- wxStaticLine* m_staticline21;
- wxButton* m_buttonLeftSelAll;
- NETS_LIST_CTRL* m_leftListCtrl;
- wxButton* m_buttonRightToLeft;
- wxButton* m_buttonLeftToRight;
- wxComboBox* m_rightClassChoice;
- wxStaticLine* m_staticline3;
- wxButton* m_buttonRightSelAll;
- NETS_LIST_CTRL* m_rightListCtrl;
- wxPanel* m_panelGolbalDesignRules;
- wxStaticText* m_TrackMinWidthTitle;
- wxTextCtrl* m_SetTrackMinWidthCtrl;
- wxStaticText* m_TrackMinWidthUnits;
- wxStaticText* m_ViaMinTitle;
- wxTextCtrl* m_SetViasMinSizeCtrl;
- wxStaticText* m_ViaMinUnits;
- wxStaticText* m_ViaMinDrillTitle;
- wxTextCtrl* m_SetViasMinDrillCtrl;
- wxStaticText* m_ViaMinDrillUnits;
- wxCheckBox* m_OptAllowBlindBuriedVias;
- wxCheckBox* m_OptAllowMicroVias;
- wxStaticText* m_MicroViaMinSizeTitle;
- wxTextCtrl* m_SetMicroViasMinSizeCtrl;
- wxStaticText* m_MicroViaMinSizeUnits;
- wxStaticText* m_MicroViaMinDrillTitle;
- wxTextCtrl* m_SetMicroViasMinDrillCtrl;
- wxStaticText* m_MicroViaMinDrillUnits;
- wxStaticText* m_staticTextInfo;
- wxStaticText* m_staticText7;
- wxGrid* m_gridViaSizeList;
- wxStaticText* m_staticText8;
- wxGrid* m_gridTrackWidthList;
- wxStaticLine* m_staticline2;
- wxStdDialogButtonSizer* m_sdbSizer1;
- wxButton* m_sdbSizer1OK;
- wxButton* m_sdbSizer1Cancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnNotebookPageChanged( wxNotebookEvent& event ) { event.Skip(); }
- virtual void OnNetClassesNameLeftClick( wxGridEvent& event ) { event.Skip(); }
- virtual void OnNetClassesNameRightClick( wxGridEvent& event ) { event.Skip(); }
- virtual void OnAddNetclassClick( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnRemoveNetclassClick( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMoveUpSelectedNetClass( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnLeftCBSelection( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnLeftSelectAllButton( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnRightToLeftCopyButton( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnLeftToRightCopyButton( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnRightCBSelection( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnRightSelectAllButton( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnAllowMicroVias( wxCommandEvent& event ) { event.Skip(); }
-
-
- public:
-
- DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Design Rules Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 798,611 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
- ~DIALOG_DESIGN_RULES_BASE();
-
-};
-
-#endif //__DIALOG_DESIGN_RULES_BASE_H__
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Aug 29 2017)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef __DIALOG_DESIGN_RULES_BASE_H__
+#define __DIALOG_DESIGN_RULES_BASE_H__
+
+#include
+#include
+#include
+class DIALOG_SHIM;
+class NETS_LIST_CTRL;
+
+#include "dialog_shim.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+///////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+/// Class DIALOG_DESIGN_RULES_BASE
+///////////////////////////////////////////////////////////////////////////////
+class DIALOG_DESIGN_RULES_BASE : public DIALOG_SHIM
+{
+ private:
+
+ protected:
+ enum
+ {
+ wxID_ADD_NETCLASS = 1000,
+ wxID_REMOVE_NETCLASS,
+ ID_LEFT_TO_RIGHT_COPY,
+ ID_RIGHT_TO_LEFT_COPY
+ };
+
+ wxNotebook* m_DRnotebook;
+ wxPanel* m_panelNetClassesEditor;
+ wxGrid* m_grid;
+ wxButton* m_addButton;
+ wxButton* m_removeButton;
+ wxButton* m_moveUpButton;
+ wxComboBox* m_leftClassChoice;
+ wxStaticLine* m_staticline21;
+ wxButton* m_buttonLeftSelAll;
+ NETS_LIST_CTRL* m_leftListCtrl;
+ wxButton* m_buttonRightToLeft;
+ wxButton* m_buttonLeftToRight;
+ wxComboBox* m_rightClassChoice;
+ wxStaticLine* m_staticline3;
+ wxButton* m_buttonRightSelAll;
+ NETS_LIST_CTRL* m_rightListCtrl;
+ wxPanel* m_panelGolbalDesignRules;
+ wxStaticText* m_TrackMinWidthTitle;
+ wxTextCtrl* m_SetTrackMinWidthCtrl;
+ wxStaticText* m_TrackMinWidthUnits;
+ wxStaticText* m_ViaMinTitle;
+ wxTextCtrl* m_SetViasMinSizeCtrl;
+ wxStaticText* m_ViaMinUnits;
+ wxStaticText* m_ViaMinDrillTitle;
+ wxTextCtrl* m_SetViasMinDrillCtrl;
+ wxStaticText* m_ViaMinDrillUnits;
+ wxCheckBox* m_OptAllowBlindBuriedVias;
+ wxCheckBox* m_OptAllowMicroVias;
+ wxStaticText* m_MicroViaMinSizeTitle;
+ wxTextCtrl* m_SetMicroViasMinSizeCtrl;
+ wxStaticText* m_MicroViaMinSizeUnits;
+ wxStaticText* m_MicroViaMinDrillTitle;
+ wxTextCtrl* m_SetMicroViasMinDrillCtrl;
+ wxStaticText* m_MicroViaMinDrillUnits;
+ wxStaticText* m_staticTextInfo;
+ wxStaticText* m_staticText7;
+ wxGrid* m_gridViaSizeList;
+ wxStaticText* m_staticText8;
+ wxGrid* m_gridTrackWidthList;
+ wxStaticLine* m_staticline2;
+ wxStdDialogButtonSizer* m_sdbSizer1;
+ wxButton* m_sdbSizer1OK;
+ wxButton* m_sdbSizer1Cancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnNotebookPageChanged( wxNotebookEvent& event ) { event.Skip(); }
+ virtual void OnNetClassesNameLeftClick( wxGridEvent& event ) { event.Skip(); }
+ virtual void OnNetClassesNameRightClick( wxGridEvent& event ) { event.Skip(); }
+ virtual void OnAddNetclassClick( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnRemoveNetclassClick( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMoveUpSelectedNetClass( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnLeftCBSelection( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnLeftSelectAllButton( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnRightToLeftCopyButton( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnLeftToRightCopyButton( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnRightCBSelection( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnRightSelectAllButton( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnAllowMicroVias( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ DIALOG_DESIGN_RULES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Design Rules Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 798,611 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
+ ~DIALOG_DESIGN_RULES_BASE();
+
+};
+
+#endif //__DIALOG_DESIGN_RULES_BASE_H__