diff --git a/eeschema/dialogs/dialog_erc.cpp b/eeschema/dialogs/dialog_erc.cpp index 332302638a..49b51d1f31 100644 --- a/eeschema/dialogs/dialog_erc.cpp +++ b/eeschema/dialogs/dialog_erc.cpp @@ -87,6 +87,14 @@ DIALOG_ERC::DIALOG_ERC( SCH_EDIT_FRAME* parent ) : Init(); + // We use a sdbSizer to get platform-dependent ordering of the action buttons, but + // that requires us to correct the button labels here. + m_sdbSizer1OK->SetLabel( _( "Run" ) ); + m_sdbSizer1Cancel->SetLabel( _( "Close" ) ); + m_sdbSizer1->Layout(); + + m_sdbSizer1OK->SetDefault(); + // Now all widgets have the size fixed, call FinishDialogSettings FinishDialogSettings(); } @@ -120,9 +128,6 @@ void DIALOG_ERC::Init() // Init Panel Matrix ReBuildMatrixPanel(); - - // Set the run ERC button as the default button. - m_buttonERC->SetDefault(); } @@ -162,20 +167,6 @@ void DIALOG_ERC::OnEraseDrcMarkersClick( wxCommandEvent& event ) -/* event handler for Close button -*/ -void DIALOG_ERC::OnButtonCloseClick( wxCommandEvent& event ) -{ - Close(); -} - - -void DIALOG_ERC::OnCloseErcDialog( wxCloseEvent& event ) -{ - Destroy(); -} - - void DIALOG_ERC::OnResetMatrixClick( wxCommandEvent& event ) { ResetDefaultERCDiag( event ); diff --git a/eeschema/dialogs/dialog_erc.h b/eeschema/dialogs/dialog_erc.h index 9cd7cf82dc..a5fba819ee 100644 --- a/eeschema/dialogs/dialog_erc.h +++ b/eeschema/dialogs/dialog_erc.h @@ -58,10 +58,8 @@ private: void Init(); // from DIALOG_ERC_BASE: - void OnCloseErcDialog( wxCloseEvent& event ) override; void OnErcCmpClick( wxCommandEvent& event ) override; void OnEraseDrcMarkersClick( wxCommandEvent& event ) override; - void OnButtonCloseClick( wxCommandEvent& event ) override; void OnResetMatrixClick( wxCommandEvent& event ) override; // Click on a marker info: @@ -72,8 +70,6 @@ private: void TestErc( REPORTER& aReporter ); void DisplayERC_MarkersList(); - void SelLocal( wxCommandEvent& event ); - void SelNewCmp( wxCommandEvent& event ); void ResetDefaultERCDiag( wxCommandEvent& event ); void ChangeErrorLevel( wxCommandEvent& event ); void ReBuildMatrixPanel(); diff --git a/eeschema/dialogs/dialog_erc_base.cpp b/eeschema/dialogs/dialog_erc_base.cpp index 13115ad6cd..29a5682380 100644 --- a/eeschema/dialogs/dialog_erc_base.cpp +++ b/eeschema/dialogs/dialog_erc_base.cpp @@ -100,15 +100,20 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin m_buttondelmarkers = new wxButton( m_PanelERC, ID_ERASE_DRC_MARKERS, _("Delete Markers"), wxDefaultPosition, wxDefaultSize, 0 ); bbuttonsSizer->Add( m_buttondelmarkers, 0, wxALL|wxEXPAND, 5 ); - m_buttonERC = new wxButton( m_PanelERC, ID_ERC_CMP, _("Run"), wxDefaultPosition, wxDefaultSize, 0 ); - m_buttonERC->SetDefault(); - bbuttonsSizer->Add( m_buttonERC, 0, wxALL|wxEXPAND, 5 ); - m_buttonClose = new wxButton( m_PanelERC, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 ); - bbuttonsSizer->Add( m_buttonClose, 0, wxALL|wxEXPAND, 5 ); + bbuttonsSizer->Add( 0, 0, 1, wxEXPAND, 5 ); + + m_sdbSizer1 = new wxStdDialogButtonSizer(); + m_sdbSizer1OK = new wxButton( m_PanelERC, wxID_OK ); + m_sdbSizer1->AddButton( m_sdbSizer1OK ); + m_sdbSizer1Cancel = new wxButton( m_PanelERC, wxID_CANCEL ); + m_sdbSizer1->AddButton( m_sdbSizer1Cancel ); + m_sdbSizer1->Realize(); + + bbuttonsSizer->Add( m_sdbSizer1, 0, wxALL|wxEXPAND, 5 ); - bercSizer->Add( bbuttonsSizer, 0, wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 ); + bercSizer->Add( bbuttonsSizer, 0, wxALIGN_RIGHT|wxEXPAND|wxLEFT, 5 ); m_PanelERC->SetSizer( bercSizer ); @@ -125,7 +130,7 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin m_cbTestSimilarLabels = new wxCheckBox( sbSizer2->GetStaticBox(), wxID_ANY, _("Test similar labels"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbTestSimilarLabels->SetToolTip( _("Similar labels are labels (inside a sheet) which differs only by upper/lower case") ); - sbSizer2->Add( m_cbTestSimilarLabels, 0, wxALL, 5 ); + sbSizer2->Add( m_cbTestSimilarLabels, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_cbTestUniqueGlbLabels = new wxCheckBox( sbSizer2->GetStaticBox(), wxID_ANY, _("Test single instances of global labels"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbTestUniqueGlbLabels->SetToolTip( _("Global labels are used to connect signals across the full hierarchy.\nThey are expected to be at least two labels with the same name.") ); @@ -141,8 +146,8 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin m_matrixPanel = new wxPanel( sbSizer3->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); sbSizer3->Add( m_matrixPanel, 1, wxEXPAND | wxALL, 5 ); - m_ResetOptButton = new wxButton( sbSizer3->GetStaticBox(), ID_RESET_MATRIX, _("Initialize to Default"), wxDefaultPosition, wxDefaultSize, 0 ); - sbSizer3->Add( m_ResetOptButton, 0, wxALIGN_RIGHT|wxTOP|wxRIGHT|wxLEFT, 5 ); + m_ResetOptButton = new wxButton( sbSizer3->GetStaticBox(), ID_RESET_MATRIX, _("Reset to Defaults"), wxDefaultPosition, wxDefaultSize, 0 ); + sbSizer3->Add( m_ResetOptButton, 0, wxALL, 5 ); m_panelMatrixSizer->Add( sbSizer3, 0, wxALL|wxEXPAND, 5 ); @@ -161,24 +166,20 @@ DIALOG_ERC_BASE::DIALOG_ERC_BASE( wxWindow* parent, wxWindowID id, const wxStrin bSizer1->Fit( this ); // Connect Events - this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_ERC_BASE::OnCloseErcDialog ) ); m_MarkersList->Connect( wxEVT_COMMAND_HTML_LINK_CLICKED, wxHtmlLinkEventHandler( DIALOG_ERC_BASE::OnLeftClickMarkersList ), NULL, this ); m_MarkersList->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_ERC_BASE::OnLeftDblClickMarkersList ), NULL, this ); m_buttondelmarkers->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnEraseDrcMarkersClick ), NULL, this ); - m_buttonERC->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnErcCmpClick ), NULL, this ); - m_buttonClose->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnButtonCloseClick ), NULL, this ); + m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnErcCmpClick ), NULL, this ); m_ResetOptButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnResetMatrixClick ), NULL, this ); } DIALOG_ERC_BASE::~DIALOG_ERC_BASE() { // Disconnect Events - this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_ERC_BASE::OnCloseErcDialog ) ); m_MarkersList->Disconnect( wxEVT_COMMAND_HTML_LINK_CLICKED, wxHtmlLinkEventHandler( DIALOG_ERC_BASE::OnLeftClickMarkersList ), NULL, this ); m_MarkersList->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_ERC_BASE::OnLeftDblClickMarkersList ), NULL, this ); m_buttondelmarkers->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnEraseDrcMarkersClick ), NULL, this ); - m_buttonERC->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnErcCmpClick ), NULL, this ); - m_buttonClose->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnButtonCloseClick ), NULL, this ); + m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnErcCmpClick ), NULL, this ); m_ResetOptButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_ERC_BASE::OnResetMatrixClick ), NULL, this ); } diff --git a/eeschema/dialogs/dialog_erc_base.fbp b/eeschema/dialogs/dialog_erc_base.fbp index 26d42cb1d0..7a9bbda327 100644 --- a/eeschema/dialogs/dialog_erc_base.fbp +++ b/eeschema/dialogs/dialog_erc_base.fbp @@ -61,7 +61,7 @@ - OnCloseErcDialog + @@ -1343,7 +1343,7 @@ 5 - wxALIGN_RIGHT|wxRIGHT|wxLEFT + wxALIGN_RIGHT|wxEXPAND|wxLEFT 0 @@ -1440,178 +1440,38 @@ 5 - wxALL|wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - ID_ERC_CMP - Run - - 0 - - - 0 - - 1 - m_buttonERC - 1 - - + wxEXPAND + 1 + + 0 protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnErcCmpClick - - - - - - - - - - - - - - - - - - - - - - - + 0 5 wxALL|wxEXPAND 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_CANCEL - Close - - 0 - - - 0 + + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 - 1 - m_buttonClose - 1 - - + m_sdbSizer1 protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnButtonCloseClick - - - - - - - - - - - - - - - - - - - - - - - + + + + + + OnErcCmpClick + + @@ -1717,7 +1577,7 @@ 5 - wxALL + wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -1988,7 +1848,7 @@ 5 - wxALIGN_RIGHT|wxTOP|wxRIGHT|wxLEFT + wxALL 0 1 @@ -2019,7 +1879,7 @@ 0 0 ID_RESET_MATRIX - Initialize to Default + Reset to Defaults 0 diff --git a/eeschema/dialogs/dialog_erc_base.h b/eeschema/dialogs/dialog_erc_base.h index 33c3c65b1e..bf9dcbff2e 100644 --- a/eeschema/dialogs/dialog_erc_base.h +++ b/eeschema/dialogs/dialog_erc_base.h @@ -37,8 +37,7 @@ class ERC_HTML_LISTFRAME; /////////////////////////////////////////////////////////////////////////// #define ID_ERASE_DRC_MARKERS 1000 -#define ID_ERC_CMP 1001 -#define ID_RESET_MATRIX 1002 +#define ID_RESET_MATRIX 1001 /////////////////////////////////////////////////////////////////////////////// /// Class DIALOG_ERC_BASE @@ -63,8 +62,9 @@ class DIALOG_ERC_BASE : public DIALOG_SHIM wxStaticText* m_textMarkers; ERC_HTML_LISTFRAME* m_MarkersList; wxButton* m_buttondelmarkers; - wxButton* m_buttonERC; - wxButton* m_buttonClose; + wxStdDialogButtonSizer* m_sdbSizer1; + wxButton* m_sdbSizer1OK; + wxButton* m_sdbSizer1Cancel; wxPanel* m_PanelERCOptions; wxCheckBox* m_cbTestSimilarLabels; wxCheckBox* m_cbTestUniqueGlbLabels; @@ -72,12 +72,10 @@ class DIALOG_ERC_BASE : public DIALOG_SHIM wxButton* m_ResetOptButton; // Virtual event handlers, overide them in your derived class - virtual void OnCloseErcDialog( wxCloseEvent& event ) { event.Skip(); } virtual void OnLeftClickMarkersList( wxHtmlLinkEvent& event ) { event.Skip(); } virtual void OnLeftDblClickMarkersList( wxMouseEvent& event ) { event.Skip(); } virtual void OnEraseDrcMarkersClick( wxCommandEvent& event ) { event.Skip(); } virtual void OnErcCmpClick( wxCommandEvent& event ) { event.Skip(); } - virtual void OnButtonCloseClick( wxCommandEvent& event ) { event.Skip(); } virtual void OnResetMatrixClick( wxCommandEvent& event ) { event.Skip(); }