Loading eeschema/dialogs/dialog_edit_component_in_schematic.cpp +16 −3 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ private: void setRowItem( int aFieldNdx, const SCH_FIELD& aField ); // event handlers void OnCloseDialog( wxCloseEvent& event ); void OnListItemDeselected( wxListEvent& event ); void OnListItemSelected( wxListEvent& event ); void OnCancelButtonClick( wxCommandEvent& event ); Loading Loading @@ -216,9 +217,21 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemSelected( wxListEvent& event } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog( wxCloseEvent& event ) { // On wxWidgets 2.8, and on Linux, calling EndQuasiModal here is mandatory // Otherwise, the main event loop is never restored, and Eeschema does not // respond to any event, because the DIALOG_SHIM destructor is never called. // on wxWidgets 3.0, or on Windows, the DIALOG_SHIM destructor is called, // and calls EndQuasiModal. // therefore calling EndQuasiModal here is not mandatory but it creates no issues EndQuasiModal( wxID_CANCEL ); } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick( wxCommandEvent& event ) { EndQuasiModal( 1 ); EndQuasiModal( wxID_CANCEL ); } Loading Loading @@ -402,7 +415,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event m_Parent->GetScreen()->TestDanglingEnds(); m_Parent->GetCanvas()->Refresh( true ); EndQuasiModal( 0 ); EndQuasiModal( wxID_OK ); } Loading Loading @@ -1026,6 +1039,6 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp( wxCommandEvent& event ) m_Cmp->Draw( m_Parent->GetCanvas(), &dc, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE ); EndQuasiModal( 1 ); EndQuasiModal( wxID_OK ); } } eeschema/dialogs/dialog_edit_component_in_schematic_fbp.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -280,6 +280,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( mainSizer->Fit( this ); // Connect Events this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) ); defaultsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); Loading @@ -294,6 +295,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP() { // Disconnect Events this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) ); defaultsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); Loading eeschema/dialogs/dialog_edit_component_in_schematic_fbp.fbp +1 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ <event name="OnAuiPaneRestore"></event> <event name="OnAuiRender"></event> <event name="OnChar"></event> <event name="OnClose"></event> <event name="OnClose">OnCloseDialog</event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> <event name="OnHibernate"></event> Loading eeschema/dialogs/dialog_edit_component_in_schematic_fbp.h +1 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM wxButton* stdDialogButtonSizerCancel; // Virtual event handlers, overide them in your derived class virtual void OnCloseDialog( wxCloseEvent& event ) { event.Skip(); } virtual void SetInitCmp( wxCommandEvent& event ) { event.Skip(); } virtual void OnListItemDeselected( wxListEvent& event ) { event.Skip(); } virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); } Loading eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp +16 −5 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ public: private: // Events handlers: void OnInitDialog( wxInitDialogEvent& event ); void OnCloseDialog( wxCloseEvent& event ); void OnListItemDeselected( wxListEvent& event ); void OnListItemSelected( wxListEvent& event ); Loading Loading @@ -146,9 +147,7 @@ void LIB_EDIT_FRAME::InstallFieldsEditorDialog( wxCommandEvent& event ) // frame. Therefore this dialog as a modal frame parent, MUST be run under // quasimodal mode for the quasimodal frame support to work. So don't use // the QUASIMODAL macros here. int abort = dlg.ShowQuasiModal(); if( abort ) if( dlg.ShowQuasiModal() != wxID_OK ) return; UpdateAliasSelectList(); Loading Loading @@ -216,7 +215,19 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnListItemSelected( wxListEvent& event void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCancelButtonClick( wxCommandEvent& event ) { EndQuasiModal( 1 ); EndQuasiModal( wxID_CANCEL ); } void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCloseDialog( wxCloseEvent& event ) { // On wxWidgets 2.8, and on Linux, call EndQuasiModal here is mandatory // Otherwise, the main event loop is never restored, and Eeschema does not // respond to any event, because the DIALOG_SHIM destructor is never called. // on wxWidgets 3.0, or on Windows, the DIALOG_SHIM destructor is called, // and calls EndQuasiModal. // Therefore calling EndQuasiModal here is not mandatory but it creates no issues. EndQuasiModal( wxID_CANCEL ); } Loading Loading @@ -287,7 +298,7 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnOKButtonClick( wxCommandEvent& event m_parent->OnModify(); EndQuasiModal( 0 ); EndQuasiModal( wxID_OK ); } Loading Loading
eeschema/dialogs/dialog_edit_component_in_schematic.cpp +16 −3 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ private: void setRowItem( int aFieldNdx, const SCH_FIELD& aField ); // event handlers void OnCloseDialog( wxCloseEvent& event ); void OnListItemDeselected( wxListEvent& event ); void OnListItemSelected( wxListEvent& event ); void OnCancelButtonClick( wxCommandEvent& event ); Loading Loading @@ -216,9 +217,21 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemSelected( wxListEvent& event } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog( wxCloseEvent& event ) { // On wxWidgets 2.8, and on Linux, calling EndQuasiModal here is mandatory // Otherwise, the main event loop is never restored, and Eeschema does not // respond to any event, because the DIALOG_SHIM destructor is never called. // on wxWidgets 3.0, or on Windows, the DIALOG_SHIM destructor is called, // and calls EndQuasiModal. // therefore calling EndQuasiModal here is not mandatory but it creates no issues EndQuasiModal( wxID_CANCEL ); } void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick( wxCommandEvent& event ) { EndQuasiModal( 1 ); EndQuasiModal( wxID_CANCEL ); } Loading Loading @@ -402,7 +415,7 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick( wxCommandEvent& event m_Parent->GetScreen()->TestDanglingEnds(); m_Parent->GetCanvas()->Refresh( true ); EndQuasiModal( 0 ); EndQuasiModal( wxID_OK ); } Loading Loading @@ -1026,6 +1039,6 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp( wxCommandEvent& event ) m_Cmp->Draw( m_Parent->GetCanvas(), &dc, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE ); EndQuasiModal( 1 ); EndQuasiModal( wxID_OK ); } }
eeschema/dialogs/dialog_edit_component_in_schematic_fbp.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -280,6 +280,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( mainSizer->Fit( this ); // Connect Events this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) ); defaultsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); Loading @@ -294,6 +295,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP() { // Disconnect Events this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) ); defaultsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); Loading
eeschema/dialogs/dialog_edit_component_in_schematic_fbp.fbp +1 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ <event name="OnAuiPaneRestore"></event> <event name="OnAuiRender"></event> <event name="OnChar"></event> <event name="OnClose"></event> <event name="OnClose">OnCloseDialog</event> <event name="OnEnterWindow"></event> <event name="OnEraseBackground"></event> <event name="OnHibernate"></event> Loading
eeschema/dialogs/dialog_edit_component_in_schematic_fbp.h +1 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM wxButton* stdDialogButtonSizerCancel; // Virtual event handlers, overide them in your derived class virtual void OnCloseDialog( wxCloseEvent& event ) { event.Skip(); } virtual void SetInitCmp( wxCommandEvent& event ) { event.Skip(); } virtual void OnListItemDeselected( wxListEvent& event ) { event.Skip(); } virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); } Loading
eeschema/dialogs/dialog_edit_libentry_fields_in_lib.cpp +16 −5 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ public: private: // Events handlers: void OnInitDialog( wxInitDialogEvent& event ); void OnCloseDialog( wxCloseEvent& event ); void OnListItemDeselected( wxListEvent& event ); void OnListItemSelected( wxListEvent& event ); Loading Loading @@ -146,9 +147,7 @@ void LIB_EDIT_FRAME::InstallFieldsEditorDialog( wxCommandEvent& event ) // frame. Therefore this dialog as a modal frame parent, MUST be run under // quasimodal mode for the quasimodal frame support to work. So don't use // the QUASIMODAL macros here. int abort = dlg.ShowQuasiModal(); if( abort ) if( dlg.ShowQuasiModal() != wxID_OK ) return; UpdateAliasSelectList(); Loading Loading @@ -216,7 +215,19 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnListItemSelected( wxListEvent& event void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCancelButtonClick( wxCommandEvent& event ) { EndQuasiModal( 1 ); EndQuasiModal( wxID_CANCEL ); } void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCloseDialog( wxCloseEvent& event ) { // On wxWidgets 2.8, and on Linux, call EndQuasiModal here is mandatory // Otherwise, the main event loop is never restored, and Eeschema does not // respond to any event, because the DIALOG_SHIM destructor is never called. // on wxWidgets 3.0, or on Windows, the DIALOG_SHIM destructor is called, // and calls EndQuasiModal. // Therefore calling EndQuasiModal here is not mandatory but it creates no issues. EndQuasiModal( wxID_CANCEL ); } Loading Loading @@ -287,7 +298,7 @@ void DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnOKButtonClick( wxCommandEvent& event m_parent->OnModify(); EndQuasiModal( 0 ); EndQuasiModal( wxID_OK ); } Loading