Move a couple more dialogs to QuasiModal for syntax help.

Fixes https://gitlab.com/kicad/code/kicad/issues/5897
This commit is contained in:
Jeff Young 2020-10-29 22:46:33 +00:00
parent 66d2cf172d
commit 1d110d5414
9 changed files with 44 additions and 42 deletions

View File

@ -65,8 +65,6 @@ set( EESCHEMA_DLGS
dialogs/dialog_edit_line_style.cpp dialogs/dialog_edit_line_style.cpp
dialogs/dialog_edit_line_style_base.cpp dialogs/dialog_edit_line_style_base.cpp
dialogs/dialog_edit_one_field.cpp dialogs/dialog_edit_one_field.cpp
dialogs/dialog_edit_sheet_pin.cpp
dialogs/dialog_edit_sheet_pin_base.cpp
dialogs/dialog_erc.cpp dialogs/dialog_erc.cpp
dialogs/dialog_erc_base.cpp dialogs/dialog_erc_base.cpp
dialogs/dialog_global_sym_lib_table_config.cpp dialogs/dialog_global_sym_lib_table_config.cpp
@ -96,9 +94,10 @@ set( EESCHEMA_DLGS
dialogs/dialog_print_using_printer_base.cpp dialogs/dialog_print_using_printer_base.cpp
dialogs/dialog_rescue_each.cpp dialogs/dialog_rescue_each.cpp
dialogs/dialog_rescue_each_base.cpp dialogs/dialog_rescue_each_base.cpp
dialogs/dialog_edit_sheet_pin.cpp
dialogs/dialog_sch_import_settings.cpp dialogs/dialog_sch_import_settings.cpp
dialogs/dialog_sch_import_settings_base.cpp dialogs/dialog_sch_import_settings_base.cpp
dialogs/dialog_sheet_pin_properties.cpp
dialogs/dialog_sheet_pin_properties_base.cpp
dialogs/dialog_sheet_properties.cpp dialogs/dialog_sheet_properties.cpp
dialogs/dialog_sheet_properties_base.cpp dialogs/dialog_sheet_properties_base.cpp
dialogs/dialog_schematic_find.cpp dialogs/dialog_schematic_find.cpp

View File

@ -217,7 +217,9 @@ private:
int InvokeDialogCreateBOM( SCH_EDIT_FRAME* aCaller ) int InvokeDialogCreateBOM( SCH_EDIT_FRAME* aCaller )
{ {
DIALOG_BOM dlg( aCaller ); DIALOG_BOM dlg( aCaller );
return dlg.ShowModal();
// QuasiModal so syntax help works
return dlg.ShowQuasiModal();
} }

View File

@ -25,7 +25,7 @@
#include <sch_edit_frame.h> #include <sch_edit_frame.h>
#include <sch_sheet.h> #include <sch_sheet.h>
#include <sch_validators.h> #include <sch_validators.h>
#include <dialog_edit_sheet_pin.h> #include <dialog_sheet_pin_properties.h>
#include <dialogs/html_messagebox.h> #include <dialogs/html_messagebox.h>
#include <kicad_string.h> #include <kicad_string.h>
@ -40,8 +40,8 @@ static wxString sheetPinTypes[] =
}; };
DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN( SCH_EDIT_FRAME* parent, SCH_SHEET_PIN* aPin ) : DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES( SCH_EDIT_FRAME* parent, SCH_SHEET_PIN* aPin ) :
DIALOG_EDIT_SHEET_PIN_BASE( parent ), DIALOG_SHEET_PIN_PROPERTIES_BASE( parent ),
m_frame( parent ), m_frame( parent ),
m_sheetPin( aPin ), m_sheetPin( aPin ),
m_textSize( parent, m_textSizeLabel, m_textSizeCtrl, m_textSizeUnits, true ), m_textSize( parent, m_textSizeLabel, m_textSizeCtrl, m_textSizeUnits, true ),
@ -77,14 +77,14 @@ DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN( SCH_EDIT_FRAME* parent, SCH_SHEET_
} }
DIALOG_EDIT_SHEET_PIN::~DIALOG_EDIT_SHEET_PIN() DIALOG_SHEET_PIN_PROPERTIES::~DIALOG_SHEET_PIN_PROPERTIES()
{ {
if( m_helpWindow ) if( m_helpWindow )
m_helpWindow->Destroy(); m_helpWindow->Destroy();
} }
bool DIALOG_EDIT_SHEET_PIN::TransferDataToWindow() bool DIALOG_SHEET_PIN_PROPERTIES::TransferDataToWindow()
{ {
SCH_SCREEN* screen = m_sheetPin->GetParent()->GetScreen(); SCH_SCREEN* screen = m_sheetPin->GetParent()->GetScreen();
@ -104,7 +104,7 @@ bool DIALOG_EDIT_SHEET_PIN::TransferDataToWindow()
} }
bool DIALOG_EDIT_SHEET_PIN::TransferDataFromWindow() bool DIALOG_SHEET_PIN_PROPERTIES::TransferDataFromWindow()
{ {
if( !m_sheetPin->IsNew() ) if( !m_sheetPin->IsNew() )
{ {
@ -128,19 +128,19 @@ bool DIALOG_EDIT_SHEET_PIN::TransferDataFromWindow()
} }
void DIALOG_EDIT_SHEET_PIN::onOKButton( wxCommandEvent& event ) void DIALOG_SHEET_PIN_PROPERTIES::onOKButton( wxCommandEvent& event )
{ {
event.Skip(); event.Skip();
} }
void DIALOG_EDIT_SHEET_PIN::OnSyntaxHelp( wxHyperlinkEvent& aEvent ) void DIALOG_SHEET_PIN_PROPERTIES::OnSyntaxHelp( wxHyperlinkEvent& aEvent )
{ {
m_helpWindow = SCH_TEXT::ShowSyntaxHelp( this ); m_helpWindow = SCH_TEXT::ShowSyntaxHelp( this );
} }
void DIALOG_EDIT_SHEET_PIN::onComboBox( wxCommandEvent& aEvent ) void DIALOG_SHEET_PIN_PROPERTIES::onComboBox( wxCommandEvent& aEvent )
{ {
SCH_SCREEN* screen = m_sheetPin->GetParent()->GetScreen(); SCH_SCREEN* screen = m_sheetPin->GetParent()->GetScreen();

View File

@ -22,11 +22,11 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#ifndef DIALOG_EDIT_SHEET_PIN_H #ifndef DIALOG_SHEET_PIN_PROPERTIES_H
#define DIALOG_EDIT_SHEET_PIN_H #define DIALOG_SHEET_PIN_PROPERTIES_H
#include <dialog_edit_sheet_pin_base.h> #include <dialog_sheet_pin_properties_base.h>
#include <widgets/unit_binder.h> #include <widgets/unit_binder.h>
@ -34,7 +34,7 @@ class SCH_SHEET_PIN;
class HTML_MESSAGE_BOX; class HTML_MESSAGE_BOX;
class DIALOG_EDIT_SHEET_PIN : public DIALOG_EDIT_SHEET_PIN_BASE class DIALOG_SHEET_PIN_PROPERTIES : public DIALOG_SHEET_PIN_PROPERTIES_BASE
{ {
SCH_EDIT_FRAME* m_frame; SCH_EDIT_FRAME* m_frame;
SCH_SHEET_PIN* m_sheetPin; SCH_SHEET_PIN* m_sheetPin;
@ -44,8 +44,8 @@ class DIALOG_EDIT_SHEET_PIN : public DIALOG_EDIT_SHEET_PIN_BASE
HTML_MESSAGE_BOX* m_helpWindow; HTML_MESSAGE_BOX* m_helpWindow;
public: public:
DIALOG_EDIT_SHEET_PIN( SCH_EDIT_FRAME* parent, SCH_SHEET_PIN* aPin ); DIALOG_SHEET_PIN_PROPERTIES( SCH_EDIT_FRAME* parent, SCH_SHEET_PIN* aPin );
~DIALOG_EDIT_SHEET_PIN(); ~DIALOG_SHEET_PIN_PROPERTIES();
bool TransferDataToWindow() override; bool TransferDataToWindow() override;
bool TransferDataFromWindow() override; bool TransferDataFromWindow() override;
@ -56,4 +56,4 @@ private:
void onComboBox( wxCommandEvent& event ) override; void onComboBox( wxCommandEvent& event ) override;
}; };
#endif // DIALOG_EDIT_SHEET_PIN_H #endif // DIALOG_SHEET_PIN_PROPERTIES_H

View File

@ -5,11 +5,11 @@
// PLEASE DO *NOT* EDIT THIS FILE! // PLEASE DO *NOT* EDIT THIS FILE!
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
#include "dialog_edit_sheet_pin_base.h" #include "dialog_sheet_pin_properties_base.h"
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
DIALOG_EDIT_SHEET_PIN_BASE::DIALOG_EDIT_SHEET_PIN_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style ) DIALOG_SHEET_PIN_PROPERTIES_BASE::DIALOG_SHEET_PIN_PROPERTIES_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( wxSize( -1,-1 ), wxDefaultSize ); this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
@ -101,16 +101,16 @@ DIALOG_EDIT_SHEET_PIN_BASE::DIALOG_EDIT_SHEET_PIN_BASE( wxWindow* parent, wxWind
this->Centre( wxBOTH ); this->Centre( wxBOTH );
// Connect Events // Connect Events
m_comboName->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_EDIT_SHEET_PIN_BASE::onComboBox ), NULL, this ); m_comboName->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHEET_PIN_PROPERTIES_BASE::onComboBox ), NULL, this );
m_hyperlink1->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_EDIT_SHEET_PIN_BASE::OnSyntaxHelp ), NULL, this ); m_hyperlink1->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_SHEET_PIN_PROPERTIES_BASE::OnSyntaxHelp ), NULL, this );
m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_SHEET_PIN_BASE::onOKButton ), NULL, this ); m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SHEET_PIN_PROPERTIES_BASE::onOKButton ), NULL, this );
} }
DIALOG_EDIT_SHEET_PIN_BASE::~DIALOG_EDIT_SHEET_PIN_BASE() DIALOG_SHEET_PIN_PROPERTIES_BASE::~DIALOG_SHEET_PIN_PROPERTIES_BASE()
{ {
// Disconnect Events // Disconnect Events
m_comboName->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_EDIT_SHEET_PIN_BASE::onComboBox ), NULL, this ); m_comboName->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_SHEET_PIN_PROPERTIES_BASE::onComboBox ), NULL, this );
m_hyperlink1->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_EDIT_SHEET_PIN_BASE::OnSyntaxHelp ), NULL, this ); m_hyperlink1->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_SHEET_PIN_PROPERTIES_BASE::OnSyntaxHelp ), NULL, this );
m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_SHEET_PIN_BASE::onOKButton ), NULL, this ); m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SHEET_PIN_PROPERTIES_BASE::onOKButton ), NULL, this );
} }

View File

@ -11,12 +11,12 @@
<property name="embedded_files_path">res</property> <property name="embedded_files_path">res</property>
<property name="encoding">UTF-8</property> <property name="encoding">UTF-8</property>
<property name="event_generation">connect</property> <property name="event_generation">connect</property>
<property name="file">dialog_edit_sheet_pin_base</property> <property name="file">dialog_sheet_pin_properties_base</property>
<property name="first_id">1000</property> <property name="first_id">1000</property>
<property name="help_provider">none</property> <property name="help_provider">none</property>
<property name="indent_with_spaces"></property> <property name="indent_with_spaces"></property>
<property name="internationalize">1</property> <property name="internationalize">1</property>
<property name="name">dialog_edit_sheet_pin</property> <property name="name">dialog_sheet_pin_properties</property>
<property name="namespace"></property> <property name="namespace"></property>
<property name="path">.</property> <property name="path">.</property>
<property name="precompiled_header"></property> <property name="precompiled_header"></property>
@ -43,7 +43,7 @@
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
<property name="minimum_size">-1,-1</property> <property name="minimum_size">-1,-1</property>
<property name="name">DIALOG_EDIT_SHEET_PIN_BASE</property> <property name="name">DIALOG_SHEET_PIN_PROPERTIES_BASE</property>
<property name="pos"></property> <property name="pos"></property>
<property name="size">-1,-1</property> <property name="size">-1,-1</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property> <property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>

View File

@ -30,9 +30,9 @@
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_EDIT_SHEET_PIN_BASE /// Class DIALOG_SHEET_PIN_PROPERTIES_BASE
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
class DIALOG_EDIT_SHEET_PIN_BASE : public DIALOG_SHIM class DIALOG_SHEET_PIN_PROPERTIES_BASE : public DIALOG_SHIM
{ {
private: private:
@ -59,8 +59,8 @@ class DIALOG_EDIT_SHEET_PIN_BASE : public DIALOG_SHIM
public: public:
DIALOG_EDIT_SHEET_PIN_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Sheet Pin Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); DIALOG_SHEET_PIN_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Sheet Pin Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_EDIT_SHEET_PIN_BASE(); ~DIALOG_SHEET_PIN_PROPERTIES_BASE();
}; };

View File

@ -38,7 +38,7 @@
#include <schematic.h> #include <schematic.h>
#include <symbol_lib_table.h> #include <symbol_lib_table.h>
#include <dialogs/dialog_sheet_properties.h> #include <dialogs/dialog_sheet_properties.h>
#include <dialogs/dialog_edit_sheet_pin.h> #include <dialogs/dialog_sheet_pin_properties.h>
#include <tool/actions.h> #include <tool/actions.h>
@ -498,7 +498,7 @@ SCH_SHEET_PIN* SCH_EDIT_FRAME::CreateSheetPin( SCH_SHEET* aSheet, SCH_HIERLABEL*
if( !aLabel ) if( !aLabel )
{ {
DIALOG_EDIT_SHEET_PIN dlg( this, sheetPin ); DIALOG_SHEET_PIN_PROPERTIES dlg( this, sheetPin );
if( dlg.ShowModal() != wxID_OK || sheetPin->GetText().IsEmpty() ) if( dlg.ShowModal() != wxID_OK || sheetPin->GetText().IsEmpty() )
{ {

View File

@ -56,7 +56,7 @@
#include <dialogs/dialog_image_editor.h> #include <dialogs/dialog_image_editor.h>
#include <dialogs/dialog_edit_line_style.h> #include <dialogs/dialog_edit_line_style.h>
#include <dialogs/dialog_symbol_properties.h> #include <dialogs/dialog_symbol_properties.h>
#include <dialogs/dialog_edit_sheet_pin.h> #include <dialogs/dialog_sheet_pin_properties.h>
#include <dialogs/dialog_edit_one_field.h> #include <dialogs/dialog_edit_one_field.h>
#include <dialogs/dialog_junction_props.h> #include <dialogs/dialog_junction_props.h>
#include "sch_drawing_tools.h" #include "sch_drawing_tools.h"
@ -1484,10 +1484,11 @@ int SCH_EDIT_TOOL::Properties( const TOOL_EVENT& aEvent )
case SCH_SHEET_PIN_T: case SCH_SHEET_PIN_T:
{ {
SCH_SHEET_PIN* pin = (SCH_SHEET_PIN*) item; SCH_SHEET_PIN* pin = (SCH_SHEET_PIN*) item;
DIALOG_EDIT_SHEET_PIN dlg( m_frame, pin ); DIALOG_SHEET_PIN_PROPERTIES dlg( m_frame, pin );
if( dlg.ShowModal() == wxID_OK ) // QuasiModal required for help dialog
if( dlg.ShowQuasiModal() == wxID_OK )
{ {
m_toolMgr->PostEvent( EVENTS::SelectedItemsModified ); m_toolMgr->PostEvent( EVENTS::SelectedItemsModified );
m_frame->OnModify(); m_frame->OnModify();