X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e00a5d3ca15eec8db3e231d79d82ff6965e3466b..f148f2bac3fb0fa6d984050fb940112da150aeff:/include/wx/textctrl.h diff --git a/include/wx/textctrl.h b/include/wx/textctrl.h index c43869e819..8efe4c913a 100644 --- a/include/wx/textctrl.h +++ b/include/wx/textctrl.h @@ -16,7 +16,7 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "textctrlbase.h" #endif @@ -53,7 +53,6 @@ class WXDLLEXPORT wxTextCtrlBase; // ---------------------------------------------------------------------------- WXDLLEXPORT_DATA(extern const wxChar*) wxTextCtrlNameStr; -WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; // ---------------------------------------------------------------------------- // wxTextCtrl style flags @@ -263,7 +262,8 @@ public: virtual bool LoadFile(const wxString& file); virtual bool SaveFile(const wxString& file = wxEmptyString); - // clears the dirty flag + // sets/clears the dirty flag + virtual void MarkDirty() = 0; virtual void DiscardEdits() = 0; // set the max number of characters which may be entered in a single line @@ -335,10 +335,10 @@ public: wxTextCtrl& operator<<(double d); wxTextCtrl& operator<<(const wxChar c); - // obsolete functions -#if WXWIN_COMPATIBILITY - bool Modified() const { return IsModified(); } -#endif + // do the window-specific processing after processing the update event + virtual void DoUpdateWindowUI(wxUpdateUIEvent& event); + + virtual bool ShouldInheritColours() const { return false; } protected: // the name of the last file loaded with LoadFile() which will be used by @@ -347,6 +347,8 @@ protected: // the text style which will be used for any new text added to the control wxTextAttr m_defaultStyle; + + DECLARE_NO_COPY_CLASS(wxTextCtrlBase) }; // ---------------------------------------------------------------------------- @@ -413,7 +415,7 @@ protected: m_end; private: - DECLARE_DYNAMIC_CLASS(wxTextUrlEvent) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextUrlEvent) public: // for wxWin RTTI only, don't use @@ -436,14 +438,26 @@ typedef void (wxEvtHandler::*wxTextUrlEventFunction)(wxTextUrlEvent&); class WXDLLEXPORT wxStreamToTextRedirector { -public: - wxStreamToTextRedirector(wxTextCtrl *text, wxSTD ostream *ostr = NULL) - : m_ostr(ostr ? *ostr : wxSTD cout) +private: + void Init() { m_sbufOld = m_ostr.rdbuf(); m_ostr.rdbuf(text); } +public: + wxStreamToTextRedirector(wxTextCtrl *text) + : m_ostr(wxSTD cout) + { + Init(); + } + + wxStreamToTextRedirector(wxTextCtrl *text, wxSTD ostream *ostr) + : m_ostr(*ostr) + { + Init(); + } + ~wxStreamToTextRedirector() { m_ostr.rdbuf(m_sbufOld);