diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index d53593a846..091c57ced4 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -4710,6 +4710,7 @@ public: static wxVersionInfo GetLibraryVersionInfo(); protected: + virtual void DoSetValue(const wxString& value, int flags); virtual wxString DoGetValue() const { return GetText(); } virtual wxWindow *GetEditableWindow() { return this; } diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index 759030263b..2d7199ee05 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -4372,6 +4372,17 @@ void wxStyledTextCtrl::ScrollToColumn(int column) { } +void wxStyledTextCtrl::DoSetValue(const wxString& value, int flags) +{ + if ( flags & SetValue_SelectionOnly ) + ReplaceSelection(value); + else + SetText(value); + + // We don't send wxEVT_COMMAND_TEXT_UPDATED anyhow, so ignore the + // SetValue_SendEvent bit of the flags +} + #if wxUSE_TEXTCTRL bool wxStyledTextCtrl::DoSaveFile(const wxString& filename, int fileType) { diff --git a/src/stc/stc.cpp.in b/src/stc/stc.cpp.in index b7cfbc8ec1..888f75d478 100644 --- a/src/stc/stc.cpp.in +++ b/src/stc/stc.cpp.in @@ -510,6 +510,17 @@ void wxStyledTextCtrl::ScrollToColumn(int column) { } +void wxStyledTextCtrl::DoSetValue(const wxString& value, int flags) +{ + if ( flags & SetValue_SelectionOnly ) + ReplaceSelection(value); + else + SetText(value); + + // We don't send wxEVT_COMMAND_TEXT_UPDATED anyhow, so ignore the + // SetValue_SendEvent bit of the flags +} + #if wxUSE_TEXTCTRL bool wxStyledTextCtrl::DoSaveFile(const wxString& filename, int fileType) { diff --git a/src/stc/stc.h.in b/src/stc/stc.h.in index d18af6b451..abbfe19b2a 100644 --- a/src/stc/stc.h.in +++ b/src/stc/stc.h.in @@ -452,6 +452,7 @@ public: static wxVersionInfo GetLibraryVersionInfo(); protected: + virtual void DoSetValue(const wxString& value, int flags); virtual wxString DoGetValue() const { return GetText(); } virtual wxWindow *GetEditableWindow() { return this; }