@ -11,72 +11,29 @@
DIALOG_DRC_BASE : : DIALOG_DRC_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 ( wxDefaultSize , wxDefaultSize ) ;
this - > SetSizeHints ( wxSize ( - 1 , - 1 ) , wxDefaultSize ) ;
wxBoxSizer * m_MainSizer ;
m_MainSizer = new wxBoxSizer ( wxVERTICAL ) ;
wxGridBagSizer * gbSizer1 ;
gbSizer1 = new wxGridBagSizer ( 0 , 10 ) ;
gbSizer1 - > SetFlexibleDirection ( wxBOTH ) ;
gbSizer1 - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
wxBoxSizer * bSizerOptions ;
bSizerOptions = new wxBoxSizer ( wxVERTICAL ) ;
wxFlexGridSizer * fgMinValuesSizer ;
fgMinValuesSizer = new wxFlexGridSizer ( 4 , 3 , 0 , 0 ) ;
fgMinValuesSizer - > AddGrowableCol ( 1 ) ;
fgMinValuesSizer - > SetFlexibleDirection ( wxHORIZONTAL ) ;
fgMinValuesSizer - > SetNonFlexibleGrowMode ( wxFLEX_GROWMODE_SPECIFIED ) ;
m_MinWidthLabel = new wxStaticText ( this , wxID_ANY , _ ( " Minimum track width: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_MinWidthLabel - > Wrap ( - 1 ) ;
m_MinWidthLabel - > SetToolTip ( _ ( " Enter the minimum acceptable value for a track width " ) ) ;
fgMinValuesSizer - > Add ( m_MinWidthLabel , 0 , wxALIGN_CENTER_VERTICAL | wxALIGN_RIGHT | wxLEFT , 5 ) ;
m_MinWidthCtrl = new wxTextCtrl ( this , wxID_ANY , wxEmptyString , wxDefaultPosition , wxDefaultSize , 0 ) ;
fgMinValuesSizer - > Add ( m_MinWidthCtrl , 0 , wxEXPAND | wxTOP | wxRIGHT | wxLEFT , 3 ) ;
m_MinWidthUnits = new wxStaticText ( this , wxID_ANY , _ ( " unit " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_MinWidthUnits - > Wrap ( - 1 ) ;
m_MinWidthUnits - > SetToolTip ( _ ( " Enter the minimum acceptable value for a track width " ) ) ;
fgMinValuesSizer - > Add ( m_MinWidthUnits , 0 , wxALIGN_CENTER_VERTICAL | wxRIGHT , 5 ) ;
m_ViaMinLabel = new wxStaticText ( this , wxID_ANY , _ ( " Minimum via size: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_ViaMinLabel - > Wrap ( - 1 ) ;
m_ViaMinLabel - > SetHelpText ( _ ( " Enter the minimum acceptable diameter for a standard via " ) ) ;
fgMinValuesSizer - > Add ( m_ViaMinLabel , 0 , wxALIGN_CENTER_VERTICAL | wxLEFT , 5 ) ;
m_ViaMinCtrl = new wxTextCtrl ( this , wxID_ANY , wxEmptyString , wxDefaultPosition , wxDefaultSize , 0 ) ;
fgMinValuesSizer - > Add ( m_ViaMinCtrl , 0 , wxEXPAND | wxTOP | wxRIGHT | wxLEFT | wxALIGN_CENTER_VERTICAL , 3 ) ;
m_ViaMinUnits = new wxStaticText ( this , wxID_ANY , _ ( " unit " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_ViaMinUnits - > Wrap ( - 1 ) ;
m_ViaMinUnits - > SetHelpText ( _ ( " Enter the minimum acceptable diameter for a standard via " ) ) ;
fgMinValuesSizer - > Add ( m_ViaMinUnits , 0 , wxALIGN_CENTER_VERTICAL | wxRIGHT , 5 ) ;
bSizerOptions = new wxBoxSizer ( wxHORIZONTAL ) ;
m_uViaMinLabel = new wxStaticText ( this , wxID_ANY , _ ( " Minimum uVia size: " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_uViaMinLabel - > Wrap ( - 1 ) ;
m_uViaMinLabel - > SetToolTip ( _ ( " Enter the minimum acceptable diameter for a micro via " ) ) ;
wxBoxSizer * bSizer12 ;
bSizer12 = new wxBoxSizer ( wxVERTICAL ) ;
fgMinValuesSizer - > Add ( m_uViaMinLabel , 0 , wxALIGN_CENTER_VERTICAL | wxLEFT , 5 ) ;
m_cbReportAllTrackErrors = new wxCheckBox ( this , wxID_ANY , _ ( " Report all errors for each track " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_cbReportAllTrackErrors - > SetToolTip ( _ ( " If selected, all DRC violations for tracks will be reported. This can be slow for complicated designs. \n \n If unselected, only the first DRC violation will be reported for each track connection. " ) ) ;
m_uViaMinCtrl = new wxTextCtrl ( this , wxID_ANY , wxEmptyString , wxDefaultPosition , wxDefaultSize , 0 ) ;
fgMinValuesSizer - > Add ( m_uViaMinCtrl , 0 , wxEXPAND | wxTOP | wxRIGHT | wxLEFT , 3 ) ;
bSizer12 - > Add ( m_cbReportAllTrackErrors , 0 , wxALL , 5 ) ;
m_uViaMinUnits = new wxStaticText ( this , wxID_ANY , _ ( " unit " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_uViaMinUnits - > Wrap ( - 1 ) ;
m_uViaMinUnits - > SetToolTip ( _ ( " Enter the minimum acceptable diameter for a micro via " ) ) ;
m_cbReportTracksToZonesErrors = new wxCheckBox ( this , wxID_ANY , _ ( " Test tracks against zone fills (slow) " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_cbReportTracksToZonesErrors - > SetToolTip ( _ ( " If selected, tracks will be tested against copper zones. \n If copper zones are up to date, this test should be not needed. \n \n This test can be *very slow* for complicated designs. " ) ) ;
fgMinValuesSizer - > Add ( m_uViaMinUnit s , 0 , wxALIGN_CENTER_VERTICAL | wxRIGH T , 5 ) ;
bSizer12 - > Add ( m_cbReportTracksToZonesErrors , 0 , wxBOTTOM | wxLEFT , 5 ) ;
bSizerOptions - > Add ( fgMinValuesSizer , 0 , wxEXPAND | wxTOP | wxBOTTOM , 5 ) ;
bSizerOptions - > Add ( bSizer12 , 1 , wxEXPAND | wxTOP | wxRIGHT | wxLEFT , 5 ) ;
wxBoxSizer * bSizerOptSettings ;
bSizerOptSettings = new wxBoxSizer ( wxVERTICAL ) ;
@ -84,43 +41,43 @@ DIALOG_DRC_BASE::DIALOG_DRC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_cbRefillZones = new wxCheckBox ( this , wxID_ANY , _ ( " Refill all zones before performing DRC " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
bSizerOptSettings - > Add ( m_cbRefillZones , 0 , wxALL , 5 ) ;
m_cbReportAllTrackErrors = new wxCheckBox ( this , wxID_ANY , _ ( " Report all errors for tracks (slower) " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_cbReportAllTrackErrors - > SetToolTip ( _ ( " If selected, all DRC violations for tracks will be reported. This can be slow for complicated designs. \n \n If unselected, only the first DRC violation will be reported for each track connection. " ) ) ;
bSizerOptSettings - > Add ( m_cbReportAllTrackErrors , 0 , wxBOTTOM | wxRIGHT | wxLEFT , 5 ) ;
m_cbReportTracksToZonesErrors = new wxCheckBox ( this , wxID_ANY , _ ( " Test tracks against filled copper areas (very slow) " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_cbReportTracksToZonesErrors - > SetToolTip ( _ ( " If selected, tracks will be tested against copper zones. \n If copper zones are up to date, this test should be not needed. \n \n This test can be *very slow* for complicated designs. " ) ) ;
bSizerOptSettings - > Add ( m_cbReportTracksToZonesErrors , 0 , wxBOTTOM | wxRIGHT | wxLEFT , 5 ) ;
m_cbTestFootprints = new wxCheckBox ( this , wxID_ANY , _ ( " Test footprints against schematic " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_cbTestFootprints = new wxCheckBox ( this , wxID_ANY , _ ( " Test for parity between PCB and schematic " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
bSizerOptSettings - > Add ( m_cbTestFootprints , 0 , wxBOTTOM | wxRIGHT | wxLEFT , 5 ) ;
bSizerOptions - > Add ( bSizerOptSettings , 1 , wxEXPAND , 5 ) ;
bSizerOptions - > Add ( bSizerOptSettings , 1 , wxEXPAND | wxTOP | wxRIGHT | wxLEFT , 5 ) ;
gbSizer1 - > Add ( bSizerOptions , wxGBPosition ( 0 , 0 ) , wxGBSpan ( 1 , 1 ) , wxEXPAND | wxRIGHT | wxLEFT , 5 ) ;
m_MainSizer - > Add ( bSizerOptions , 0 , wxEXPAND | wxTOP | wxBOTTOM | wxLEFT , 3 ) ;
m_Messages = new wxTextCtrl ( this , wxID_ANY , wxEmptyString , wxDefaultPosition , wxDefaultSize , wxHSCROLL | wxTE_MULTILINE | wxTE_READONLY ) ;
m_Messages - > SetMinSize ( wxSize ( 280 , - 1 ) ) ;
m_Notebook = new wxNotebook ( this , ID_NOTEBOOK1 , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_panelMessages = new wxPanel ( m_Notebook , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
wxBoxSizer * bSizer10 ;
bSizer10 = new wxBoxSizer ( wxVERTICAL ) ;
gbSizer1 - > Add ( m_Messages , wxGBPosition ( 0 , 1 ) , wxGBSpan ( 1 , 1 ) , wxEXPAND | wxTOP | wxRIGHT | wxLEFT , 5 ) ;
m_Messages = new wxTextCtrl ( m_panelMessages , wxID_ANY , wxEmptyString , wxDefaultPosition , wxDefaultSize , wxHSCROLL | wxTE_MULTILINE | wxTE_READONLY ) ;
bSizer10 - > Add ( m_Messages , 1 , wxEXPAND | wxTOP | wxRIGHT | wxLEFT , 5 ) ;
wxBoxSizer * bGaugeMargins ;
bGaugeMargins = new wxBoxSizer ( wxVERTICAL ) ;
gbSizer1 - > AddGrowableCol ( 0 ) ;
gbSizer1 - > AddGrowableCol ( 1 ) ;
m_gauge = new wxGauge ( m_panelMessages , wxID_ANY , 10000 , wxDefaultPosition , wxDefaultSize , wxGA_HORIZONTAL ) ;
m_gauge - > SetValue ( 0 ) ;
bGaugeMargins - > Add ( m_gauge , 0 , wxALL | wxEXPAND , 5 ) ;
m_MainSizer - > Add ( gbSizer1 , 0 , wxEXPAND | wxALL , 5 ) ;
m_Notebook = new wxNotebook ( this , ID_NOTEBOOK1 , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_Notebook - > SetMinSize ( wxSize ( 640 , 280 ) ) ;
bSizer10 - > Add ( bGaugeMargins , 0 , wxEXPAND | wxRIGHT | wxLEFT , 5 ) ;
m_panelMessages - > SetSizer ( bSizer10 ) ;
m_panelMessages - > Layout ( ) ;
bSizer10 - > Fit ( m_panelMessages ) ;
m_Notebook - > AddPage ( m_panelMessages , _ ( " Messages " ) , false ) ;
m_panelViolations = new wxPanel ( m_Notebook , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
wxBoxSizer * bSizerViolationsBox ;
bSizerViolationsBox = new wxBoxSizer ( wxVERTICAL ) ;
bSizerViolationsBox - > SetMinSize ( wxSize ( 580 , 320 ) ) ;
m_markerDataView = new wxDataViewCtrl ( m_panelViolations , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxDV_NO_HEADER ) ;
m_markerDataView - > SetToolTip ( _ ( " Click on items to highlight them on the board. " ) ) ;
@ -130,7 +87,7 @@ DIALOG_DRC_BASE::DIALOG_DRC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_panelViolations - > SetSizer ( bSizerViolationsBox ) ;
m_panelViolations - > Layout ( ) ;
bSizerViolationsBox - > Fit ( m_panelViolations ) ;
m_Notebook - > AddPage ( m_panelViolations , _ ( " Violations / Markers (%d) " ) , fals e ) ;
m_Notebook - > AddPage ( m_panelViolations , _ ( " Violations (%d) " ) , tru e ) ;
m_panelUnconnectedItems = new wxPanel ( m_Notebook , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
wxBoxSizer * bSizerUnconnectedBox ;
bSizerUnconnectedBox = new wxBoxSizer ( wxVERTICAL ) ;
@ -142,7 +99,7 @@ DIALOG_DRC_BASE::DIALOG_DRC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_panelUnconnectedItems - > SetSizer ( bSizerUnconnectedBox ) ;
m_panelUnconnectedItems - > Layout ( ) ;
bSizerUnconnectedBox - > Fit ( m_panelUnconnectedItems ) ;
m_Notebook - > AddPage ( m_panelUnconnectedItems , _ ( " Unconnected Items (%d) " ) , tru e ) ;
m_Notebook - > AddPage ( m_panelUnconnectedItems , _ ( " Unconnected Items (%d) " ) , fals e ) ;
m_panelFootprintWarnings = new wxPanel ( m_Notebook , wxID_ANY , wxDefaultPosition , wxDefaultSize , wxTAB_TRAVERSAL ) ;
wxBoxSizer * bSizerFootprintsBox ;
bSizerFootprintsBox = new wxBoxSizer ( wxVERTICAL ) ;
@ -154,9 +111,9 @@ DIALOG_DRC_BASE::DIALOG_DRC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_panelFootprintWarnings - > SetSizer ( bSizerFootprintsBox ) ;
m_panelFootprintWarnings - > Layout ( ) ;
bSizerFootprintsBox - > Fit ( m_panelFootprintWarnings ) ;
m_Notebook - > AddPage ( m_panelFootprintWarnings , _ ( " Footprint Warnings (%d)" ) , false ) ;
m_Notebook - > AddPage ( m_panelFootprintWarnings , _ ( " Schematic Parity (%d)" ) , false ) ;
m_MainSizer - > Add ( m_Notebook , 1 , wxEXPAND | wxBOTTOM | wx RIGHT | wxLEFT , 5 ) ;
m_MainSizer - > Add ( m_Notebook , 1 , wxEXPAND | wxRIGHT | wxLEFT , 5 ) ;
wxBoxSizer * bSizer9 ;
bSizer9 = new wxBoxSizer ( wxVERTICAL ) ;
@ -172,7 +129,7 @@ DIALOG_DRC_BASE::DIALOG_DRC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
bSeveritySizer - > Add ( m_showAll , 0 , wxALIGN_CENTER_VERTICAL | wxRIGHT | wxLEFT , 5 ) ;
bSeveritySizer - > Add ( 3 5, 0 , 0 , wxEXPAND , 5 ) ;
bSeveritySizer - > Add ( 2 5, 0 , 0 , wxEXPAND , 5 ) ;
m_showErrors = new wxCheckBox ( this , wxID_ANY , _ ( " Errors " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
bSeveritySizer - > Add ( m_showErrors , 0 , wxALIGN_CENTER_VERTICAL | wxRIGHT | wxLEFT , 5 ) ;
@ -180,7 +137,7 @@ DIALOG_DRC_BASE::DIALOG_DRC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_errorsBadge = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_errorsBadge - > SetMinSize ( wxSize ( 20 , 20 ) ) ;
bSeveritySizer - > Add ( m_errorsBadge , 0 , wxRIGHT | wxALIGN_CENTER_VERTICAL , 25 ) ;
bSeveritySizer - > Add ( m_errorsBadge , 0 , wxRIGHT | wxALIGN_CENTER_VERTICAL , 20 ) ;
m_showWarnings = new wxCheckBox ( this , wxID_ANY , _ ( " Warnings " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
bSeveritySizer - > Add ( m_showWarnings , 0 , wxALIGN_CENTER_VERTICAL | wxRIGHT | wxLEFT , 5 ) ;
@ -188,22 +145,22 @@ DIALOG_DRC_BASE::DIALOG_DRC_BASE( wxWindow* parent, wxWindowID id, const wxStrin
m_warningsBadge = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxDefaultSize , 0 ) ;
m_warningsBadge - > SetMinSize ( wxSize ( 20 , 20 ) ) ;
bSeveritySizer - > Add ( m_warningsBadge , 0 , wxRIGHT | wxALIGN_CENTER_VERTICAL , 25 ) ;
bSeveritySizer - > Add ( m_warningsBadge , 0 , wxRIGHT | wxALIGN_CENTER_VERTICAL , 20 ) ;
m_showExclusions = new wxCheckBox ( this , wxID_ANY , _ ( " Exclusions " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
bSeveritySizer - > Add ( m_showExclusions , 0 , wxALIGN_CENTER_VERTICAL | wxRIGHT | wxLEFT , 5 ) ;
m_exclusionsBadge = new wxStaticBitmap ( this , wxID_ANY , wxNullBitmap , wxDefaultPosition , wxDefaultSize , 0 ) ;
bSeveritySizer - > Add ( m_exclusionsBadge , 0 , wxRIGHT | wxALIGN_CENTER_VERTICAL , 25 ) ;
bSeveritySizer - > Add ( m_exclusionsBadge , 0 , wxRIGHT | wxALIGN_CENTER_VERTICAL , 20 ) ;
bSeveritySizer - > Add ( 0 , 0 , 1 , wxEXPAND , 5 ) ;
bSeveritySizer - > Add ( 5 , 0 , 1 , wxEXPAND , 5 ) ;
m_saveReport = new wxButton ( this , wxID_ANY , _ ( " Save... " ) , wxDefaultPosition , wxDefaultSize , 0 ) ;
bSeveritySizer - > Add ( m_saveReport , 0 , wxALIGN_CENTER_VERTICAL | wxRIGHT | wxLEFT , 5 ) ;
bSizer9 - > Add ( bSeveritySizer , 0 , wxEXPAND | wxRIGHT | wxLEFT , 5 ) ;
bSizer9 - > Add ( bSeveritySizer , 0 , wxEXPAND | wxTOP | wx RIGHT | wxLEFT , 5 ) ;
m_MainSizer - > Add ( bSizer9 , 0 , wxEXPAND | wxBOTTOM | wxRIGHT | wxLEFT , 5 ) ;