diff --git a/pagelayout_editor/dialogs/properties_frame.cpp b/pagelayout_editor/dialogs/properties_frame.cpp index ec163b28e8..db7fc27dbd 100644 --- a/pagelayout_editor/dialogs/properties_frame.cpp +++ b/pagelayout_editor/dialogs/properties_frame.cpp @@ -632,6 +632,12 @@ void PROPERTIES_FRAME::onScintillaCharAdded( wxStyledTextEvent &aEvent ) } +void PROPERTIES_FRAME::onScintillaFocusLost( wxFocusEvent& aEvent ) +{ + m_stcText->AutoCompCancel(); +} + + void PROPERTIES_FRAME::onHelp( wxCommandEvent& aEvent ) { // Show the system variables for worksheet text: diff --git a/pagelayout_editor/dialogs/properties_frame.h b/pagelayout_editor/dialogs/properties_frame.h index 8cd19a3307..b10f785e6a 100644 --- a/pagelayout_editor/dialogs/properties_frame.h +++ b/pagelayout_editor/dialogs/properties_frame.h @@ -84,6 +84,7 @@ public: void OnAcceptPrms( wxCommandEvent& event ) override; void OnSetDefaultValues( wxCommandEvent& event ) override; void onScintillaCharAdded( wxStyledTextEvent &aEvent ); + void onScintillaFocusLost( wxFocusEvent& aEvent ) override; void onHelp( wxCommandEvent& aEvent ) override; void onHAlignButton( wxCommandEvent &aEvent ); void onVAlignButton( wxCommandEvent &aEvent ); diff --git a/pagelayout_editor/dialogs/properties_frame_base.cpp b/pagelayout_editor/dialogs/properties_frame_base.cpp index 1448aa7f5a..7e55b4ae4d 100644 --- a/pagelayout_editor/dialogs/properties_frame_base.cpp +++ b/pagelayout_editor/dialogs/properties_frame_base.cpp @@ -631,6 +631,7 @@ PANEL_PROPERTIES_BASE::PANEL_PROPERTIES_BASE( wxWindow* parent, wxWindowID id, c // Connect Events m_notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( PANEL_PROPERTIES_BASE::OnPageChanged ), NULL, this ); m_buttonHelp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::onHelp ), NULL, this ); + m_stcText->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( PANEL_PROPERTIES_BASE::onScintillaFocusLost ), NULL, this ); m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this ); m_buttonDefault->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnSetDefaultValues ), NULL, this ); m_buttonGeneralOptsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this ); @@ -641,6 +642,7 @@ PANEL_PROPERTIES_BASE::~PANEL_PROPERTIES_BASE() // Disconnect Events m_notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( PANEL_PROPERTIES_BASE::OnPageChanged ), NULL, this ); m_buttonHelp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::onHelp ), NULL, this ); + m_stcText->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( PANEL_PROPERTIES_BASE::onScintillaFocusLost ), NULL, this ); m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this ); m_buttonDefault->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnSetDefaultValues ), NULL, this ); m_buttonGeneralOptsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PROPERTIES_BASE::OnAcceptPrms ), NULL, this ); diff --git a/pagelayout_editor/dialogs/properties_frame_base.fbp b/pagelayout_editor/dialogs/properties_frame_base.fbp index 59f00fe12c..c058efbffa 100644 --- a/pagelayout_editor/dialogs/properties_frame_base.fbp +++ b/pagelayout_editor/dialogs/properties_frame_base.fbp @@ -468,6 +468,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> + <event name="OnKillFocus">onScintillaFocusLost</event> </object> </object> <object class="sizeritem" expanded="true"> diff --git a/pagelayout_editor/dialogs/properties_frame_base.h b/pagelayout_editor/dialogs/properties_frame_base.h index 844feb9b01..057f260356 100644 --- a/pagelayout_editor/dialogs/properties_frame_base.h +++ b/pagelayout_editor/dialogs/properties_frame_base.h @@ -151,6 +151,7 @@ class PANEL_PROPERTIES_BASE : public wxPanel // Virtual event handlers, override them in your derived class virtual void OnPageChanged( wxNotebookEvent& event ) { event.Skip(); } virtual void onHelp( wxCommandEvent& event ) { event.Skip(); } + virtual void onScintillaFocusLost( wxFocusEvent& event ) { event.Skip(); } virtual void OnAcceptPrms( wxCommandEvent& event ) { event.Skip(); } virtual void OnSetDefaultValues( wxCommandEvent& event ) { event.Skip(); }