diff --git a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.cpp b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.cpp
index dde772d0b8..21744682c1 100644
--- a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.cpp
+++ b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.cpp
@@ -34,53 +34,53 @@ DIALOG_PNS_DIFF_PAIR_DIMENSIONS::DIALOG_PNS_DIFF_PAIR_DIMENSIONS( wxWindow* aPar
m_viaGap( this, m_viaGapText, m_viaGapUnit ),
m_sizes( aSizes )
{
- m_traceWidth.SetValue( aSizes.DiffPairWidth() );
- m_traceGap.SetValue( aSizes.DiffPairGap() );
- m_viaGap.SetValue( aSizes.DiffPairViaGap() );
- m_viaTraceGapEqual->SetValue( m_sizes.DiffPairViaGapSameAsTraceGap() );
-
- updateCheckbox();
-
Layout();
GetSizer()->SetSizeHints( this );
Centre();
+
+ m_stdButtonsOK->SetDefault();
+}
+
+
+bool DIALOG_PNS_DIFF_PAIR_DIMENSIONS::TransferDataFromWindow()
+{
+ if( !wxDialog::TransferDataToWindow() )
+ return false;
+
+ // Save widgets' values to settings
+ m_sizes.SetDiffPairGap( m_traceGap.GetValue() );
+ m_sizes.SetDiffPairViaGap( m_viaGap.GetValue() );
+ m_sizes.SetDiffPairWidth( m_traceWidth.GetValue() );
+
+ return true;
+}
+
+
+bool DIALOG_PNS_DIFF_PAIR_DIMENSIONS::TransferDataToWindow()
+{
+ if( !wxDialog::TransferDataFromWindow() )
+ return false;
+
+ m_traceWidth.SetValue( m_sizes.DiffPairWidth() );
+ m_traceGap.SetValue( m_sizes.DiffPairGap() );
+ m_viaGap.SetValue( m_sizes.DiffPairViaGap() );
+ m_viaTraceGapEqual->SetValue( m_sizes.DiffPairViaGapSameAsTraceGap() );
+ updateCheckbox();
+
+ return true;
}
void DIALOG_PNS_DIFF_PAIR_DIMENSIONS::updateCheckbox()
{
- if( m_viaTraceGapEqual->GetValue() )
- {
- m_sizes.SetDiffPairViaGapSameAsTraceGap( true );
- m_viaGapText->Disable();
- m_viaGapLabel->Disable();
- m_viaGapUnit->Disable();
- }
- else
- {
- m_sizes.SetDiffPairViaGapSameAsTraceGap( false );
- m_viaGapText->Enable();
- m_viaGapLabel->Enable();
- m_viaGapUnit->Enable();
- }
-}
-
-
-void DIALOG_PNS_DIFF_PAIR_DIMENSIONS::OnOkClick( wxCommandEvent& aEvent )
-{
- // Save widgets' values to settings
- m_sizes.SetDiffPairGap ( m_traceGap.GetValue() );
- m_sizes.SetDiffPairViaGap ( m_viaGap.GetValue() );
- m_sizes.SetDiffPairWidth ( m_traceWidth.GetValue() );
-
- // todo: verify against design rules
- EndModal( wxID_OK );
+ m_sizes.SetDiffPairViaGapSameAsTraceGap( m_viaTraceGapEqual->GetValue() );
+ m_viaGapText->Enable( !m_viaTraceGapEqual->GetValue() );
+ m_viaGapLabel->Enable( !m_viaTraceGapEqual->GetValue() );
+ m_viaGapUnit->Enable( !m_viaTraceGapEqual->GetValue() );
}
void DIALOG_PNS_DIFF_PAIR_DIMENSIONS::OnViaTraceGapEqualCheck( wxCommandEvent& event )
{
- event.Skip();
updateCheckbox();
}
-
diff --git a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
index 946434226a..b0d0ee1f02 100644
--- a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
+++ b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions.h
@@ -41,10 +41,12 @@ class DIALOG_PNS_DIFF_PAIR_DIMENSIONS : public DIALOG_PNS_DIFF_PAIR_DIMENSIONS_B
public:
DIALOG_PNS_DIFF_PAIR_DIMENSIONS( wxWindow* aParent, PNS::SIZES_SETTINGS& aSizes );
+ bool TransferDataFromWindow() override;
+ bool TransferDataToWindow() override;
+
private:
void updateCheckbox();
- virtual void OnOkClick( wxCommandEvent& aEvent ) override;
virtual void OnViaTraceGapEqualCheck( wxCommandEvent& event ) override;
UNIT_BINDER m_traceWidth;
diff --git a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.cpp b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.cpp
index 09a5ebff15..e8eff1b2fa 100644
--- a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.cpp
+++ b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.cpp
@@ -1,8 +1,8 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Jan 2 2018)
+// C++ code generated with wxFormBuilder (version Jul 17 2016)
// http://www.wxformbuilder.org/
//
-// PLEASE DO *NOT* EDIT THIS FILE!
+// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "widgets/text_ctrl_eval.h"
@@ -92,15 +92,11 @@ DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE( wxWi
// Connect Events
m_viaTraceGapEqual->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::OnViaTraceGapEqualCheck ), NULL, this );
- m_stdButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::OnCancelClick ), NULL, this );
- m_stdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::OnOkClick ), NULL, this );
}
DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::~DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE()
{
// Disconnect Events
m_viaTraceGapEqual->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::OnViaTraceGapEqualCheck ), NULL, this );
- m_stdButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::OnCancelClick ), NULL, this );
- m_stdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE::OnOkClick ), NULL, this );
}
diff --git a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.fbp b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.fbp
index 55df80d650..1105415299 100644
--- a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.fbp
+++ b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.fbp
@@ -1078,11 +1078,11 @@
m_stdButtons
protected
- OnCancelClick
+
- OnOkClick
+
diff --git a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.h b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.h
index 60dc4a6e70..e4f2921624 100644
--- a/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.h
+++ b/pcbnew/dialogs/dialog_pns_diff_pair_dimensions_base.h
@@ -1,8 +1,8 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Jan 2 2018)
+// C++ code generated with wxFormBuilder (version Jul 17 2016)
// http://www.wxformbuilder.org/
//
-// PLEASE DO *NOT* EDIT THIS FILE!
+// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE_H__
@@ -11,6 +11,7 @@
#include
#include
#include
+class DIALOG_SHIM;
class TEXT_CTRL_EVAL;
#include "dialog_shim.h"
@@ -55,8 +56,6 @@ class DIALOG_PNS_DIFF_PAIR_DIMENSIONS_BASE : public DIALOG_SHIM
// Virtual event handlers, overide them in your derived class
virtual void OnViaTraceGapEqualCheck( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); }
public:
diff --git a/pcbnew/dialogs/dialog_track_via_size.cpp b/pcbnew/dialogs/dialog_track_via_size.cpp
index 2424071edb..abb42470a5 100644
--- a/pcbnew/dialogs/dialog_track_via_size.cpp
+++ b/pcbnew/dialogs/dialog_track_via_size.cpp
@@ -37,20 +37,41 @@ DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE( wxWindow* aParent, BOARD_DESIGN_SE
m_viaDrill( aParent, m_viaDrillText, m_viaDrillLabel ),
m_settings( aSettings )
{
+ m_stdButtonsOK->SetDefault();
+
+ // Now all widgets have the size fixed, call FinishDialogSettings
+ FinishDialogSettings();
+}
+
+
+bool DIALOG_TRACK_VIA_SIZE::TransferDataFromWindow()
+{
+ if( !wxDialog::TransferDataFromWindow() )
+ return false;
+
+ if( !check() )
+ return false;
+
+ // Store dialog values to the router settings
+ m_settings.SetCustomTrackWidth( m_trackWidth.GetValue() );
+ m_settings.SetCustomViaSize( m_viaDiameter.GetValue() );
+ m_settings.SetCustomViaDrill( m_viaDrill.GetValue() );
+
+ return true;
+}
+
+
+bool DIALOG_TRACK_VIA_SIZE::TransferDataToWindow()
+{
+ if( !wxDialog::TransferDataToWindow() )
+ return false;
+
// Load router settings to dialog fields
m_trackWidth.SetValue( m_settings.GetCustomTrackWidth() );
m_viaDiameter.SetValue( m_settings.GetCustomViaSize() );
m_viaDrill.SetValue( m_settings.GetCustomViaDrill() );
- m_trackWidthText->SetFocus();
- m_trackWidthText->SetSelection( -1, -1 );
- m_stdButtonsOK->SetDefault();
-
- // Now all widgets have the size fixed, call FinishDialogSettings
- FinishDialogSettings();
-
- // Pressing ENTER when any of the text input fields is active applies changes
- Connect( wxEVT_TEXT_ENTER, wxCommandEventHandler( DIALOG_TRACK_VIA_SIZE::onOkClick ), NULL, this );
+ return true;
}
@@ -86,28 +107,3 @@ bool DIALOG_TRACK_VIA_SIZE::check()
return true;
}
-
-
-void DIALOG_TRACK_VIA_SIZE::onClose( wxCloseEvent& aEvent )
-{
- EndModal( 0 );
-}
-
-
-void DIALOG_TRACK_VIA_SIZE::onOkClick( wxCommandEvent& aEvent )
-{
- if( check() )
- {
- // Store dialog values to the router settings
- m_settings.SetCustomTrackWidth( m_trackWidth.GetValue() );
- m_settings.SetCustomViaSize( m_viaDiameter.GetValue() );
- m_settings.SetCustomViaDrill( m_viaDrill.GetValue() );
- EndModal( 1 );
- }
-}
-
-
-void DIALOG_TRACK_VIA_SIZE::onCancelClick( wxCommandEvent& aEvent )
-{
- EndModal( 0 );
-}
diff --git a/pcbnew/dialogs/dialog_track_via_size.h b/pcbnew/dialogs/dialog_track_via_size.h
index 79e60850b5..5ccdb69837 100644
--- a/pcbnew/dialogs/dialog_track_via_size.h
+++ b/pcbnew/dialogs/dialog_track_via_size.h
@@ -38,6 +38,9 @@ public:
/** Constructor */
DIALOG_TRACK_VIA_SIZE( wxWindow* aParent, BOARD_DESIGN_SETTINGS& aSettings );
+ bool TransferDataFromWindow() override;
+ bool TransferDataToWindow() override;
+
protected:
UNIT_BINDER m_trackWidth;
UNIT_BINDER m_viaDiameter;
@@ -48,11 +51,6 @@ protected:
///> Checks if values given in the dialog are sensible.
bool check();
-
- // Handlers for DIALOG_TRACK_VIA_SIZE_BASE events.
- void onClose( wxCloseEvent& aEvent ) override;
- void onOkClick( wxCommandEvent& aEvent ) override;
- void onCancelClick( wxCommandEvent& aEvent ) override;
};
#endif // __dialog_track_via_size__
diff --git a/pcbnew/dialogs/dialog_track_via_size_base.cpp b/pcbnew/dialogs/dialog_track_via_size_base.cpp
index 5f45fa36f6..394a8587da 100644
--- a/pcbnew/dialogs/dialog_track_via_size_base.cpp
+++ b/pcbnew/dialogs/dialog_track_via_size_base.cpp
@@ -1,8 +1,8 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 22 2017)
+// C++ code generated with wxFormBuilder (version Jul 17 2016)
// http://www.wxformbuilder.org/
//
-// PLEASE DO *NOT* EDIT THIS FILE!
+// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "widgets/text_ctrl_eval.h"
@@ -78,18 +78,8 @@ DIALOG_TRACK_VIA_SIZE_BASE::DIALOG_TRACK_VIA_SIZE_BASE( wxWindow* parent, wxWind
bSizes->Fit( this );
this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_TRACK_VIA_SIZE_BASE::onClose ) );
- m_stdButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_TRACK_VIA_SIZE_BASE::onCancelClick ), NULL, this );
- m_stdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_TRACK_VIA_SIZE_BASE::onOkClick ), NULL, this );
}
DIALOG_TRACK_VIA_SIZE_BASE::~DIALOG_TRACK_VIA_SIZE_BASE()
{
- // Disconnect Events
- this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_TRACK_VIA_SIZE_BASE::onClose ) );
- m_stdButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_TRACK_VIA_SIZE_BASE::onCancelClick ), NULL, this );
- m_stdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_TRACK_VIA_SIZE_BASE::onOkClick ), NULL, this );
-
}
diff --git a/pcbnew/dialogs/dialog_track_via_size_base.fbp b/pcbnew/dialogs/dialog_track_via_size_base.fbp
index 7a36f859d8..5ae2e660f3 100644
--- a/pcbnew/dialogs/dialog_track_via_size_base.fbp
+++ b/pcbnew/dialogs/dialog_track_via_size_base.fbp
@@ -61,7 +61,7 @@
- onClose
+
@@ -980,11 +980,11 @@
m_stdButtons
protected
- onCancelClick
+
- onOkClick
+
diff --git a/pcbnew/dialogs/dialog_track_via_size_base.h b/pcbnew/dialogs/dialog_track_via_size_base.h
index 0fe6b41d10..65a2581645 100644
--- a/pcbnew/dialogs/dialog_track_via_size_base.h
+++ b/pcbnew/dialogs/dialog_track_via_size_base.h
@@ -1,8 +1,8 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 22 2017)
+// C++ code generated with wxFormBuilder (version Jul 17 2016)
// http://www.wxformbuilder.org/
//
-// PLEASE DO *NOT* EDIT THIS FILE!
+// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __DIALOG_TRACK_VIA_SIZE_BASE_H__
@@ -11,6 +11,7 @@
#include
#include
#include
+class DIALOG_SHIM;
class TEXT_CTRL_EVAL;
#include "dialog_shim.h"
@@ -50,12 +51,6 @@ class DIALOG_TRACK_VIA_SIZE_BASE : public DIALOG_SHIM
wxStdDialogButtonSizer* m_stdButtons;
wxButton* m_stdButtonsOK;
wxButton* m_stdButtonsCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void onClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void onCancelClick( wxCommandEvent& event ) { event.Skip(); }
- virtual void onOkClick( wxCommandEvent& event ) { event.Skip(); }
-
public: