diff --git a/pcbnew/dialog_drc.cpp b/pcbnew/dialog_drc.cpp
index 6af51854a5..4c648877eb 100644
--- a/pcbnew/dialog_drc.cpp
+++ b/pcbnew/dialog_drc.cpp
@@ -13,6 +13,12 @@
#include "wxPcbStruct.h"
#include "class_board_design_settings.h"
+
+// dialog should remember its previous screen position and size
+wxPoint DIALOG_DRC_CONTROL::s_LastPos( -1, -1 );
+wxSize DIALOG_DRC_CONTROL::s_LastSize;
+
+
/* class DIALOG_DRC_CONTROL: a dialog to set DRC parameters (clearance, min cooper size)
* and run DRC tests
*/
@@ -28,6 +34,12 @@ DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL( DRC* aTester, WinEDA_PcbFrame* parent )
{
GetSizer()->SetSizeHints( this );
}
+
+ if( s_LastPos.x != -1 )
+ {
+ SetSize( s_LastSize );
+ SetPosition( s_LastPos );
+ }
}
@@ -50,7 +62,10 @@ void DIALOG_DRC_CONTROL::InitValues()
AddUnitSymbol( *m_TrackMinWidthTitle );
AddUnitSymbol( *m_ViaMinTitle );
AddUnitSymbol( *m_MicroViaMinTitle );
+
+ /* this looks terrible! does not fit into text field, do it in wxformbuilder instead
m_SetClearance->SetValue( _("Netclasses values"));
+ */
Layout(); // adding the units above expanded Clearance text, now resize.
@@ -252,6 +267,11 @@ void DIALOG_DRC_CONTROL::OnOkClick( wxCommandEvent& event )
{
SetReturnCode( wxID_OK );
SetDrcParmeters( );
+
+ // Save the dialog's position before finishing
+ s_LastPos = GetPosition();
+ s_LastSize = GetSize();
+
m_tester->DestroyDialog( wxID_OK );
}
@@ -263,6 +283,11 @@ void DIALOG_DRC_CONTROL::OnOkClick( wxCommandEvent& event )
void DIALOG_DRC_CONTROL::OnCancelClick( wxCommandEvent& event )
{
SetReturnCode( wxID_CANCEL );
+
+ // Save the dialog's position before finishing
+ s_LastPos = GetPosition();
+ s_LastSize = GetSize();
+
m_tester->DestroyDialog( wxID_CANCEL );
}
diff --git a/pcbnew/dialog_drc.h b/pcbnew/dialog_drc.h
index 58250d23a0..e80df45758 100644
--- a/pcbnew/dialog_drc.h
+++ b/pcbnew/dialog_drc.h
@@ -40,9 +40,14 @@ class DIALOG_DRC_CONTROL: public DIALOG_DRC_CONTROL_BASE
public:
/// Constructors
DIALOG_DRC_CONTROL( DRC* aTester, WinEDA_PcbFrame* parent );
- ~DIALOG_DRC_CONTROL(){};
+ ~DIALOG_DRC_CONTROL(){};
private:
+
+ static wxSize s_LastSize; ///< last position and size
+ static wxPoint s_LastPos;
+
+
/**
* Function writeReport
* outputs the MARKER items and unconnecte DRC_ITEMs with commentary to an
diff --git a/pcbnew/dialog_drc_base.cpp b/pcbnew/dialog_drc_base.cpp
index 558cee2ba1..9e7347b1d8 100644
--- a/pcbnew/dialog_drc_base.cpp
+++ b/pcbnew/dialog_drc_base.cpp
@@ -1,215 +1,214 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Apr 16 2008)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#include "dialog_drc.h"
-
-#include "dialog_drc_base.h"
-
-///////////////////////////////////////////////////////////////////////////
-
-DIALOG_DRC_CONTROL_BASE::DIALOG_DRC_CONTROL_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-
- wxBoxSizer* m_MainSizer;
- m_MainSizer = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* m_CommandSizer;
- m_CommandSizer = new wxBoxSizer( wxHORIZONTAL );
-
- wxStaticBoxSizer* sbSizerOptions;
- sbSizerOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Options") ), wxHORIZONTAL );
-
- wxBoxSizer* bSizer7;
- bSizer7 = new wxBoxSizer( wxVERTICAL );
-
- wxFlexGridSizer* fgMinValuesSizer;
- fgMinValuesSizer = new wxFlexGridSizer( 2, 4, 0, 0 );
- fgMinValuesSizer->SetFlexibleDirection( wxBOTH );
- fgMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_ClearanceTitle = new wxStaticText( this, wxID_ANY, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
- m_ClearanceTitle->Wrap( -1 );
- fgMinValuesSizer->Add( m_ClearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT, 5 );
-
- m_SetClearance = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_SetClearance->Enable( false );
-
- fgMinValuesSizer->Add( m_SetClearance, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_ViaMinTitle = new wxStaticText( this, wxID_ANY, _("Via Min Size"), wxDefaultPosition, wxDefaultSize, 0 );
- m_ViaMinTitle->Wrap( -1 );
- fgMinValuesSizer->Add( m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT, 5 );
-
- m_SetViaMinSizeCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_SetViaMinSizeCtrl->SetToolTip( _("In the clearance units, enter the clearance distance") );
-
- fgMinValuesSizer->Add( m_SetViaMinSizeCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_TrackMinWidthTitle = new wxStaticText( this, wxID_ANY, _("Track Min Width"), wxDefaultPosition, wxDefaultSize, 0 );
- m_TrackMinWidthTitle->Wrap( -1 );
- fgMinValuesSizer->Add( m_TrackMinWidthTitle, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
-
- m_SetTrackMinWidthCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_SetTrackMinWidthCtrl->SetToolTip( _("In the clearance units, enter the clearance distance") );
-
- fgMinValuesSizer->Add( m_SetTrackMinWidthCtrl, 0, wxALL, 5 );
-
- m_MicroViaMinTitle = new wxStaticText( this, wxID_ANY, _("MicroVia Min Size"), wxDefaultPosition, wxDefaultSize, 0 );
- m_MicroViaMinTitle->Wrap( -1 );
- fgMinValuesSizer->Add( m_MicroViaMinTitle, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
-
- m_SetMicroViakMinSizeCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_SetMicroViakMinSizeCtrl->SetToolTip( _("In the clearance units, enter the clearance distance") );
-
- fgMinValuesSizer->Add( m_SetMicroViakMinSizeCtrl, 0, wxALL, 5 );
-
- bSizer7->Add( fgMinValuesSizer, 1, wxEXPAND, 5 );
-
- wxStaticBoxSizer* ReportFileSizer;
- ReportFileSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Create Report File") ), wxHORIZONTAL );
-
- m_CreateRptCtrl = new wxCheckBox( this, ID_CHECKBOX_RPT_FILE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
-
- m_CreateRptCtrl->SetToolTip( _("Enable writing report to this file") );
-
- ReportFileSizer->Add( m_CreateRptCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_RptFilenameCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_RptFilenameCtrl->SetToolTip( _("Enter the report filename") );
- m_RptFilenameCtrl->SetMinSize( wxSize( 250,-1 ) );
-
- ReportFileSizer->Add( m_RptFilenameCtrl, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_BrowseButton = new wxButton( this, ID_BUTTON_BROWSE_RPT_FILE, _("..."), wxDefaultPosition, wxDefaultSize, 0 );
- ReportFileSizer->Add( m_BrowseButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizer7->Add( ReportFileSizer, 1, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
- sbSizerOptions->Add( bSizer7, 1, wxEXPAND, 5 );
-
- m_CommandSizer->Add( sbSizerOptions, 0, 0, 5 );
-
- wxBoxSizer* bSizerMessages;
- bSizerMessages = new wxBoxSizer( wxVERTICAL );
-
- m_staticText6 = new wxStaticText( this, wxID_ANY, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText6->Wrap( -1 );
- bSizerMessages->Add( m_staticText6, 0, wxRIGHT|wxLEFT, 5 );
-
- m_Messages = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTE_MULTILINE|wxTE_READONLY );
- m_Messages->SetMinSize( wxSize( 160,-1 ) );
-
- bSizerMessages->Add( m_Messages, 1, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
-
- m_CommandSizer->Add( bSizerMessages, 1, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer11;
- bSizer11 = new wxBoxSizer( wxVERTICAL );
-
- m_buttonRunDRC = new wxButton( this, ID_STARTDRC, _("Start DRC"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonRunDRC->SetDefault();
- m_buttonRunDRC->SetToolTip( _("Start the Design Rule Checker") );
-
- bSizer11->Add( m_buttonRunDRC, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_buttonListUnconnected = new wxButton( this, ID_LIST_UNCONNECTED, _("List Unconnected"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonListUnconnected->SetToolTip( _("List unconnected pads or tracks") );
-
- bSizer11->Add( m_buttonListUnconnected, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
-
- m_DeleteAllButton = new wxButton( this, ID_DELETE_ALL, _("Delete All Markers"), wxDefaultPosition, wxDefaultSize, 0 );
- m_DeleteAllButton->SetToolTip( _("Delete every marker") );
-
- bSizer11->Add( m_DeleteAllButton, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
-
- m_DeleteCurrentMarkerButton = new wxButton( this, wxID_ANY, _("Delete Current Marker"), wxDefaultPosition, wxDefaultSize, 0 );
- m_DeleteCurrentMarkerButton->SetToolTip( _("Delete the marker selected in the listBox below") );
-
- bSizer11->Add( m_DeleteCurrentMarkerButton, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
-
- m_CommandSizer->Add( bSizer11, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_MainSizer->Add( m_CommandSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
-
- m_staticTextErrMsg = new wxStaticText( this, wxID_ANY, _("Error Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextErrMsg->Wrap( -1 );
- m_MainSizer->Add( m_staticTextErrMsg, 0, wxALL, 5 );
-
- m_Notebook = new wxNotebook( this, ID_NOTEBOOK1, wxDefaultPosition, wxDefaultSize, 0 );
- m_panelClearanceListBox = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizeClearanceBox;
- bSizeClearanceBox = new wxBoxSizer( wxVERTICAL );
-
- m_ClearanceListBox = new DRCLISTBOX( m_panelClearanceListBox, ID_CLEARANCE_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- m_ClearanceListBox->SetToolTip( _("MARKERs, double click any to go there in PCB, right click for popup menu") );
- m_ClearanceListBox->SetMinSize( wxSize( 450,300 ) );
-
- bSizeClearanceBox->Add( m_ClearanceListBox, 1, wxALL|wxEXPAND, 5 );
-
- m_panelClearanceListBox->SetSizer( bSizeClearanceBox );
- m_panelClearanceListBox->Layout();
- bSizeClearanceBox->Fit( m_panelClearanceListBox );
- m_Notebook->AddPage( m_panelClearanceListBox, _("Problems / Markers"), true );
- m_panelUnconnectedBox = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizerUnconnectedBox;
- bSizerUnconnectedBox = new wxBoxSizer( wxVERTICAL );
-
- m_UnconnectedListBox = new DRCLISTBOX( m_panelUnconnectedBox, ID_UNCONNECTED_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- m_UnconnectedListBox->SetToolTip( _("A list of unconnected pads, right click for popup menu") );
-
- bSizerUnconnectedBox->Add( m_UnconnectedListBox, 1, wxALL|wxEXPAND, 5 );
-
- m_panelUnconnectedBox->SetSizer( bSizerUnconnectedBox );
- m_panelUnconnectedBox->Layout();
- bSizerUnconnectedBox->Fit( m_panelUnconnectedBox );
- m_Notebook->AddPage( m_panelUnconnectedBox, _("Unconnected"), false );
-
- m_MainSizer->Add( m_Notebook, 1, 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();
- m_MainSizer->Add( m_sdbSizer1, 0, wxALIGN_RIGHT|wxALL, 5 );
-
- this->SetSizer( m_MainSizer );
- this->Layout();
-
- // Connect Events
- m_CreateRptCtrl->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnReportCheckBoxClicked ), NULL, this );
- m_BrowseButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnButtonBrowseRptFileClick ), NULL, this );
- m_buttonRunDRC->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnStartdrcClick ), NULL, this );
- m_buttonListUnconnected->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnListUnconnectedClick ), NULL, this );
- m_DeleteAllButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteAllClick ), NULL, this );
- m_DeleteCurrentMarkerButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteOneClick ), NULL, this );
- m_ClearanceListBox->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickClearance ), NULL, this );
- m_ClearanceListBox->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpClearance ), NULL, this );
- m_UnconnectedListBox->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickUnconnected ), NULL, this );
- m_UnconnectedListBox->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpUnconnected ), NULL, this );
- m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnCancelClick ), NULL, this );
- m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnOkClick ), NULL, this );
-}
-
-DIALOG_DRC_CONTROL_BASE::~DIALOG_DRC_CONTROL_BASE()
-{
- // Disconnect Events
- m_CreateRptCtrl->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnReportCheckBoxClicked ), NULL, this );
- m_BrowseButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnButtonBrowseRptFileClick ), NULL, this );
- m_buttonRunDRC->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnStartdrcClick ), NULL, this );
- m_buttonListUnconnected->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnListUnconnectedClick ), NULL, this );
- m_DeleteAllButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteAllClick ), NULL, this );
- m_DeleteCurrentMarkerButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteOneClick ), NULL, this );
- m_ClearanceListBox->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickClearance ), NULL, this );
- m_ClearanceListBox->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpClearance ), NULL, this );
- m_UnconnectedListBox->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickUnconnected ), NULL, this );
- m_UnconnectedListBox->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpUnconnected ), NULL, this );
- m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnCancelClick ), NULL, this );
- m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnOkClick ), NULL, this );
-}
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Dec 29 2008)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#include "dialog_drc.h"
+
+#include "dialog_drc_base.h"
+
+///////////////////////////////////////////////////////////////////////////
+
+DIALOG_DRC_CONTROL_BASE::DIALOG_DRC_CONTROL_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
+{
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+
+ wxBoxSizer* m_MainSizer;
+ m_MainSizer = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* m_CommandSizer;
+ m_CommandSizer = new wxBoxSizer( wxHORIZONTAL );
+
+ wxStaticBoxSizer* sbSizerOptions;
+ sbSizerOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Options") ), wxHORIZONTAL );
+
+ wxBoxSizer* bSizer7;
+ bSizer7 = new wxBoxSizer( wxVERTICAL );
+
+ wxFlexGridSizer* fgMinValuesSizer;
+ fgMinValuesSizer = new wxFlexGridSizer( 4, 2, 0, 0 );
+ fgMinValuesSizer->AddGrowableCol( 1 );
+ fgMinValuesSizer->SetFlexibleDirection( wxHORIZONTAL );
+ fgMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+ m_ClearanceTitle = new wxStaticText( this, wxID_ANY, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_ClearanceTitle->Wrap( -1 );
+ fgMinValuesSizer->Add( m_ClearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
+
+ m_SetClearance = new wxTextCtrl( this, wxID_ANY, _("By Netclass"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_SetClearance->Enable( false );
+
+ fgMinValuesSizer->Add( m_SetClearance, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
+
+ m_TrackMinWidthTitle = new wxStaticText( this, wxID_ANY, _("Track Min Width"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_TrackMinWidthTitle->Wrap( -1 );
+ fgMinValuesSizer->Add( m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
+
+ m_SetTrackMinWidthCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ m_SetTrackMinWidthCtrl->SetToolTip( _("In the clearance units, enter the clearance distance") );
+
+ fgMinValuesSizer->Add( m_SetTrackMinWidthCtrl, 0, wxALL|wxEXPAND, 5 );
+
+ m_ViaMinTitle = new wxStaticText( this, wxID_ANY, _("Via Min Size"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_ViaMinTitle->Wrap( -1 );
+ fgMinValuesSizer->Add( m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
+
+ m_SetViaMinSizeCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ m_SetViaMinSizeCtrl->SetToolTip( _("In the clearance units, enter the clearance distance") );
+
+ fgMinValuesSizer->Add( m_SetViaMinSizeCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 5 );
+
+ m_MicroViaMinTitle = new wxStaticText( this, wxID_ANY, _("MicroVia Min Size"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_MicroViaMinTitle->Wrap( -1 );
+ fgMinValuesSizer->Add( m_MicroViaMinTitle, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );
+
+ m_SetMicroViakMinSizeCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ m_SetMicroViakMinSizeCtrl->SetToolTip( _("In the clearance units, enter the clearance distance") );
+
+ fgMinValuesSizer->Add( m_SetMicroViakMinSizeCtrl, 0, wxALL|wxEXPAND, 5 );
+
+ bSizer7->Add( fgMinValuesSizer, 1, wxEXPAND, 5 );
+
+ wxStaticBoxSizer* ReportFileSizer;
+ ReportFileSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Create Report File") ), wxHORIZONTAL );
+
+ m_CreateRptCtrl = new wxCheckBox( this, ID_CHECKBOX_RPT_FILE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+
+ m_CreateRptCtrl->SetToolTip( _("Enable writing report to this file") );
+
+ ReportFileSizer->Add( m_CreateRptCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_RptFilenameCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ m_RptFilenameCtrl->SetToolTip( _("Enter the report filename") );
+ m_RptFilenameCtrl->SetMinSize( wxSize( 250,-1 ) );
+
+ ReportFileSizer->Add( m_RptFilenameCtrl, 1, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_BrowseButton = new wxButton( this, ID_BUTTON_BROWSE_RPT_FILE, _("..."), wxDefaultPosition, wxDefaultSize, 0 );
+ ReportFileSizer->Add( m_BrowseButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizer7->Add( ReportFileSizer, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+ sbSizerOptions->Add( bSizer7, 1, wxEXPAND, 5 );
+
+ m_CommandSizer->Add( sbSizerOptions, 1, 0, 5 );
+
+ wxBoxSizer* bSizerMessages;
+ bSizerMessages = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText6 = new wxStaticText( this, wxID_ANY, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText6->Wrap( -1 );
+ bSizerMessages->Add( m_staticText6, 0, wxRIGHT|wxLEFT, 5 );
+
+ m_Messages = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTE_MULTILINE|wxTE_READONLY );
+ bSizerMessages->Add( m_Messages, 1, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+
+ m_CommandSizer->Add( bSizerMessages, 1, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer11;
+ bSizer11 = new wxBoxSizer( wxVERTICAL );
+
+ m_buttonRunDRC = new wxButton( this, ID_STARTDRC, _("Start DRC"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonRunDRC->SetDefault();
+ m_buttonRunDRC->SetToolTip( _("Start the Design Rule Checker") );
+
+ bSizer11->Add( m_buttonRunDRC, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ m_buttonListUnconnected = new wxButton( this, ID_LIST_UNCONNECTED, _("List Unconnected"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonListUnconnected->SetToolTip( _("List unconnected pads or tracks") );
+
+ bSizer11->Add( m_buttonListUnconnected, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ m_DeleteAllButton = new wxButton( this, ID_DELETE_ALL, _("Delete All Markers"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_DeleteAllButton->SetToolTip( _("Delete every marker") );
+
+ bSizer11->Add( m_DeleteAllButton, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ m_DeleteCurrentMarkerButton = new wxButton( this, wxID_ANY, _("Delete Current Marker"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_DeleteCurrentMarkerButton->SetToolTip( _("Delete the marker selected in the listBox below") );
+
+ bSizer11->Add( m_DeleteCurrentMarkerButton, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
+
+ m_CommandSizer->Add( bSizer11, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_MainSizer->Add( m_CommandSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
+
+ m_staticTextErrMsg = new wxStaticText( this, wxID_ANY, _("Error Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextErrMsg->Wrap( -1 );
+ m_MainSizer->Add( m_staticTextErrMsg, 0, wxALL, 5 );
+
+ m_Notebook = new wxNotebook( this, ID_NOTEBOOK1, wxDefaultPosition, wxDefaultSize, 0 );
+ m_panelClearanceListBox = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizeClearanceBox;
+ bSizeClearanceBox = new wxBoxSizer( wxVERTICAL );
+
+ m_ClearanceListBox = new DRCLISTBOX( m_panelClearanceListBox, ID_CLEARANCE_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ m_ClearanceListBox->SetToolTip( _("MARKERs, double click any to go there in PCB, right click for popup menu") );
+
+ bSizeClearanceBox->Add( m_ClearanceListBox, 1, wxALL|wxEXPAND, 5 );
+
+ m_panelClearanceListBox->SetSizer( bSizeClearanceBox );
+ m_panelClearanceListBox->Layout();
+ bSizeClearanceBox->Fit( m_panelClearanceListBox );
+ m_Notebook->AddPage( m_panelClearanceListBox, _("Problems / Markers"), true );
+ m_panelUnconnectedBox = new wxPanel( m_Notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizerUnconnectedBox;
+ bSizerUnconnectedBox = new wxBoxSizer( wxVERTICAL );
+
+ m_UnconnectedListBox = new DRCLISTBOX( m_panelUnconnectedBox, ID_UNCONNECTED_LIST, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ m_UnconnectedListBox->SetToolTip( _("A list of unconnected pads, right click for popup menu") );
+
+ bSizerUnconnectedBox->Add( m_UnconnectedListBox, 1, wxALL|wxEXPAND, 5 );
+
+ m_panelUnconnectedBox->SetSizer( bSizerUnconnectedBox );
+ m_panelUnconnectedBox->Layout();
+ bSizerUnconnectedBox->Fit( m_panelUnconnectedBox );
+ m_Notebook->AddPage( m_panelUnconnectedBox, _("Unconnected"), false );
+
+ m_MainSizer->Add( m_Notebook, 1, 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();
+ m_MainSizer->Add( m_sdbSizer1, 0, wxALIGN_RIGHT|wxALL, 5 );
+
+ this->SetSizer( m_MainSizer );
+ this->Layout();
+ m_MainSizer->Fit( this );
+
+ // Connect Events
+ m_CreateRptCtrl->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnReportCheckBoxClicked ), NULL, this );
+ m_BrowseButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnButtonBrowseRptFileClick ), NULL, this );
+ m_buttonRunDRC->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnStartdrcClick ), NULL, this );
+ m_buttonListUnconnected->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnListUnconnectedClick ), NULL, this );
+ m_DeleteAllButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteAllClick ), NULL, this );
+ m_DeleteCurrentMarkerButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteOneClick ), NULL, this );
+ m_ClearanceListBox->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickClearance ), NULL, this );
+ m_ClearanceListBox->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpClearance ), NULL, this );
+ m_UnconnectedListBox->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickUnconnected ), NULL, this );
+ m_UnconnectedListBox->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpUnconnected ), NULL, this );
+ m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnCancelClick ), NULL, this );
+ m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnOkClick ), NULL, this );
+}
+
+DIALOG_DRC_CONTROL_BASE::~DIALOG_DRC_CONTROL_BASE()
+{
+ // Disconnect Events
+ m_CreateRptCtrl->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnReportCheckBoxClicked ), NULL, this );
+ m_BrowseButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnButtonBrowseRptFileClick ), NULL, this );
+ m_buttonRunDRC->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnStartdrcClick ), NULL, this );
+ m_buttonListUnconnected->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnListUnconnectedClick ), NULL, this );
+ m_DeleteAllButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteAllClick ), NULL, this );
+ m_DeleteCurrentMarkerButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnDeleteOneClick ), NULL, this );
+ m_ClearanceListBox->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickClearance ), NULL, this );
+ m_ClearanceListBox->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpClearance ), NULL, this );
+ m_UnconnectedListBox->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnLeftDClickUnconnected ), NULL, this );
+ m_UnconnectedListBox->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( DIALOG_DRC_CONTROL_BASE::OnRightUpUnconnected ), NULL, this );
+ m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnCancelClick ), NULL, this );
+ m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_DRC_CONTROL_BASE::OnOkClick ), NULL, this );
+}
diff --git a/pcbnew/dialog_drc_base.fbp b/pcbnew/dialog_drc_base.fbp
index 043486ed0f..5b240557ec 100644
--- a/pcbnew/dialog_drc_base.fbp
+++ b/pcbnew/dialog_drc_base.fbp
@@ -1,1409 +1,1409 @@
-
-
-
-
-
+
+
+
+
+
+ C++
+ 1
+ UTF-8
+ connect
+ dialog_drc_base
+ 1000
+ none
+ 1
+ dialog_drc_base
+
+ .
+
+ 1
+ 0
+ 0
+
+
+
+
+ 1
+
+
+
+ 0
+ wxID_ANY
+
+
+ DIALOG_DRC_CONTROL_BASE
+
+ -1,-1
+ wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
+
+ DRC Control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ m_MainSizer
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND|wxTOP|wxBOTTOM
+ 0
+
+
+ m_CommandSizer
+ wxHORIZONTAL
+ none
+
+ 5
+
+ 1
+
+ wxID_ANY
+ Options
+
+ sbSizerOptions
+ wxHORIZONTAL
+ none
+
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer7
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+ 2
+ wxHORIZONTAL
+ 1
+
+ 0
+
+ fgMinValuesSizer
+ wxFLEX_GROWMODE_SPECIFIED
+ none
+ 4
+ 0
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+ Clearance
+
+
+ m_ClearanceTitle
+ protected
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND
+ 0
+
+
+
+ 0
+
+
+ 0
+ wxID_ANY
+
+ 0
+
+ m_SetClearance
+ public
+
+
+
+
+
+ By Netclass
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+ Track Min Width
+
+
+ m_TrackMinWidthTitle
+ protected
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+
+ 0
+
+ m_SetTrackMinWidthCtrl
+ public
+
+
+
+
+ In the clearance units, enter the clearance distance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+ Via Min Size
+
+
+ m_ViaMinTitle
+ protected
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+
+ 0
+
+ m_SetViaMinSizeCtrl
+ public
+
+
+
+
+ In the clearance units, enter the clearance distance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+ MicroVia Min Size
+
+
+ m_MicroViaMinTitle
+ protected
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+
+ 0
+
+ m_SetMicroViakMinSizeCtrl
+ public
+
+
+
+
+ In the clearance units, enter the clearance distance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT
+ 0
+
+ wxID_ANY
+ Create Report File
+
+ ReportFileSizer
+ wxHORIZONTAL
+ none
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+
+ 0
+
+ 1
+
+
+ 0
+ ID_CHECKBOX_RPT_FILE
+
+
+
+ m_CreateRptCtrl
+ public
+
+
+
+
+ Enable writing report to this file
+
+
+
+
+ OnReportCheckBoxClicked
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL
+ 1
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+
+ 0
+ 250,-1
+ m_RptFilenameCtrl
+ public
+
+
+
+
+ Enter the report filename
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+
+
+ 0
+ 1
+
+
+ 0
+ ID_BUTTON_BROWSE_RPT_FILE
+ ...
+
+
+ m_BrowseButton
+ protected
+
+
+
+
+
+
+
+
+ OnButtonBrowseRptFileClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizerMessages
+ wxVERTICAL
+ none
+
+ 5
+ wxRIGHT|wxLEFT
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+ Messages:
+
+
+ m_staticText6
+ protected
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND
+ 1
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+
+ 0
+ -1,-1
+ m_Messages
+ protected
+
+
+ wxHSCROLL|wxTE_MULTILINE|wxTE_READONLY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL
+ 0
+
+
+ bSizer11
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL|wxEXPAND
+ 0
+
+
+
+ 1
+ 1
+
+
+ 0
+ ID_STARTDRC
+ Start DRC
+
+
+ m_buttonRunDRC
+ protected
+
+
+
+
+ Start the Design Rule Checker
+
+
+
+ OnStartdrcClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+
+
+ 0
+ 1
+
+
+ 0
+ ID_LIST_UNCONNECTED
+ List Unconnected
+
+
+ m_buttonListUnconnected
+ protected
+
+
+
+
+ List unconnected pads or tracks
+
+
+
+ OnListUnconnectedClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+
+
+ 0
+ 1
+
+
+ 0
+ ID_DELETE_ALL
+ Delete All Markers
+
+
+ m_DeleteAllButton
+ protected
+
+
+
+
+ Delete every marker
+
+
+
+ OnDeleteAllClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL
+ 0
+
+
+
+ 0
+ 1
+
+
+ 0
+ wxID_ANY
+ Delete Current Marker
+
+
+ m_DeleteCurrentMarkerButton
+ protected
+
+
+
+
+ Delete the marker selected in the listBox below
+
+
+
+ OnDeleteOneClick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+ Error Messages:
+
+
+ m_staticTextErrMsg
+ protected
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND | wxALL
+ 1
+
+
+
+
+ 1
+
+
+ 0
+ ID_NOTEBOOK1
+
+
+ m_Notebook
+ protected
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Problems / Markers
+ 1
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+
+
+ m_panelClearanceListBox
+ protected
+
+
+ ;
+
+
+
+ wxTAB_TRAVERSAL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bSizeClearanceBox
+ wxVERTICAL
+ none
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+
+
+
+ 1
+
+
+ 0
+ ID_CLEARANCE_LIST
+
+ -1,-1
+ m_ClearanceListBox
+ public
+
+
+
+ DRCLISTBOX; dialog_drc.h
+ MARKERs, double click any to go there in PCB, right click for popup menu
+
+
+
+
+
+
+
+
+
+
+ OnLeftDClickClearance
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnRightUpClearance
+
+
+
+
+
+
+
+
+
+
+ Unconnected
+ 0
+
+
+
+ 1
+
+
+ 0
+ wxID_ANY
+
+
+ m_panelUnconnectedBox
+ protected
+
+
+
+
+
+
+ wxTAB_TRAVERSAL
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ bSizerUnconnectedBox
+ wxVERTICAL
+ none
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+
+
+
+ 1
+
+
+ 0
+ ID_UNCONNECTED_LIST
+
+
+ m_UnconnectedListBox
+ public
+
+
+
+ DRCLISTBOX;
+ A list of unconnected pads, right click for popup menu
+
+
+
+
+
+
+
+
+
+
+ OnLeftDClickUnconnected
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OnRightUpUnconnected
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_RIGHT|wxALL
+ 0
+
+ 0
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+
+ m_sdbSizer1
+ protected
+
+ OnCancelClick
+
+
+
+ OnOkClick
+
+
+
+
+
+
+
+
diff --git a/pcbnew/dialog_drc_base.h b/pcbnew/dialog_drc_base.h
index cdd49e53cd..7023aaa3fc 100644
--- a/pcbnew/dialog_drc_base.h
+++ b/pcbnew/dialog_drc_base.h
@@ -1,101 +1,101 @@
-///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Apr 16 2008)
-// http://www.wxformbuilder.org/
-//
-// PLEASE DO "NOT" EDIT THIS FILE!
-///////////////////////////////////////////////////////////////////////////
-
-#ifndef __dialog_drc_base__
-#define __dialog_drc_base__
-
-#include
-
-class DRCLISTBOX;
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-///////////////////////////////////////////////////////////////////////////
-
-#define ID_CHECKBOX_RPT_FILE 1000
-#define ID_BUTTON_BROWSE_RPT_FILE 1001
-#define ID_STARTDRC 1002
-#define ID_LIST_UNCONNECTED 1003
-#define ID_DELETE_ALL 1004
-#define ID_NOTEBOOK1 1005
-#define ID_CLEARANCE_LIST 1006
-#define ID_UNCONNECTED_LIST 1007
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class DIALOG_DRC_CONTROL_BASE
-///////////////////////////////////////////////////////////////////////////////
-class DIALOG_DRC_CONTROL_BASE : public wxDialog
-{
- private:
-
- protected:
- wxStaticText* m_ClearanceTitle;
- wxStaticText* m_ViaMinTitle;
- wxStaticText* m_TrackMinWidthTitle;
- wxStaticText* m_MicroViaMinTitle;
- wxButton* m_BrowseButton;
- wxStaticText* m_staticText6;
- wxTextCtrl* m_Messages;
- wxButton* m_buttonRunDRC;
- wxButton* m_buttonListUnconnected;
- wxButton* m_DeleteAllButton;
- wxButton* m_DeleteCurrentMarkerButton;
- wxStaticText* m_staticTextErrMsg;
- wxNotebook* m_Notebook;
- wxPanel* m_panelClearanceListBox;
- wxPanel* m_panelUnconnectedBox;
- wxStdDialogButtonSizer* m_sdbSizer1;
- wxButton* m_sdbSizer1OK;
- wxButton* m_sdbSizer1Cancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnReportCheckBoxClicked( wxCommandEvent& event ){ event.Skip(); }
- virtual void OnButtonBrowseRptFileClick( wxCommandEvent& event ){ event.Skip(); }
- virtual void OnStartdrcClick( wxCommandEvent& event ){ event.Skip(); }
- virtual void OnListUnconnectedClick( wxCommandEvent& event ){ event.Skip(); }
- virtual void OnDeleteAllClick( wxCommandEvent& event ){ event.Skip(); }
- virtual void OnDeleteOneClick( wxCommandEvent& event ){ event.Skip(); }
- virtual void OnLeftDClickClearance( wxMouseEvent& event ){ event.Skip(); }
- virtual void OnRightUpClearance( wxMouseEvent& event ){ event.Skip(); }
- virtual void OnLeftDClickUnconnected( wxMouseEvent& event ){ event.Skip(); }
- virtual void OnRightUpUnconnected( wxMouseEvent& event ){ event.Skip(); }
- virtual void OnCancelClick( wxCommandEvent& event ){ event.Skip(); }
- virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
-
-
- public:
- wxTextCtrl* m_SetClearance;
- wxTextCtrl* m_SetViaMinSizeCtrl;
- wxTextCtrl* m_SetTrackMinWidthCtrl;
- wxTextCtrl* m_SetMicroViakMinSizeCtrl;
- wxCheckBox* m_CreateRptCtrl;
- wxTextCtrl* m_RptFilenameCtrl;
- DRCLISTBOX* m_ClearanceListBox;
- DRCLISTBOX* m_UnconnectedListBox;
- DIALOG_DRC_CONTROL_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("DRC Control"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 800,508 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
- ~DIALOG_DRC_CONTROL_BASE();
-
-};
-
-#endif //__dialog_drc_base__
+///////////////////////////////////////////////////////////////////////////
+// C++ code generated with wxFormBuilder (version Dec 29 2008)
+// http://www.wxformbuilder.org/
+//
+// PLEASE DO "NOT" EDIT THIS FILE!
+///////////////////////////////////////////////////////////////////////////
+
+#ifndef __dialog_drc_base__
+#define __dialog_drc_base__
+
+#include
+
+class DRCLISTBOX;
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+///////////////////////////////////////////////////////////////////////////
+
+#define ID_CHECKBOX_RPT_FILE 1000
+#define ID_BUTTON_BROWSE_RPT_FILE 1001
+#define ID_STARTDRC 1002
+#define ID_LIST_UNCONNECTED 1003
+#define ID_DELETE_ALL 1004
+#define ID_NOTEBOOK1 1005
+#define ID_CLEARANCE_LIST 1006
+#define ID_UNCONNECTED_LIST 1007
+
+///////////////////////////////////////////////////////////////////////////////
+/// Class DIALOG_DRC_CONTROL_BASE
+///////////////////////////////////////////////////////////////////////////////
+class DIALOG_DRC_CONTROL_BASE : public wxDialog
+{
+ private:
+
+ protected:
+ wxStaticText* m_ClearanceTitle;
+ wxStaticText* m_TrackMinWidthTitle;
+ wxStaticText* m_ViaMinTitle;
+ wxStaticText* m_MicroViaMinTitle;
+ wxButton* m_BrowseButton;
+ wxStaticText* m_staticText6;
+ wxTextCtrl* m_Messages;
+ wxButton* m_buttonRunDRC;
+ wxButton* m_buttonListUnconnected;
+ wxButton* m_DeleteAllButton;
+ wxButton* m_DeleteCurrentMarkerButton;
+ wxStaticText* m_staticTextErrMsg;
+ wxNotebook* m_Notebook;
+ wxPanel* m_panelClearanceListBox;
+ wxPanel* m_panelUnconnectedBox;
+ wxStdDialogButtonSizer* m_sdbSizer1;
+ wxButton* m_sdbSizer1OK;
+ wxButton* m_sdbSizer1Cancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnReportCheckBoxClicked( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnButtonBrowseRptFileClick( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnStartdrcClick( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnListUnconnectedClick( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnDeleteAllClick( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnDeleteOneClick( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnLeftDClickClearance( wxMouseEvent& event ){ event.Skip(); }
+ virtual void OnRightUpClearance( wxMouseEvent& event ){ event.Skip(); }
+ virtual void OnLeftDClickUnconnected( wxMouseEvent& event ){ event.Skip(); }
+ virtual void OnRightUpUnconnected( wxMouseEvent& event ){ event.Skip(); }
+ virtual void OnCancelClick( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
+
+
+ public:
+ wxTextCtrl* m_SetClearance;
+ wxTextCtrl* m_SetTrackMinWidthCtrl;
+ wxTextCtrl* m_SetViaMinSizeCtrl;
+ wxTextCtrl* m_SetMicroViakMinSizeCtrl;
+ wxCheckBox* m_CreateRptCtrl;
+ wxTextCtrl* m_RptFilenameCtrl;
+ DRCLISTBOX* m_ClearanceListBox;
+ DRCLISTBOX* m_UnconnectedListBox;
+ DIALOG_DRC_CONTROL_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("DRC Control"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
+ ~DIALOG_DRC_CONTROL_BASE();
+
+};
+
+#endif //__dialog_drc_base__