X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..4bc4bae18573d2e8111ed0df0061f32a012f04dd:/include/wx/textctrl.h?ds=sidebyside diff --git a/include/wx/textctrl.h b/include/wx/textctrl.h index df9b73ce78..a25c2f16e3 100644 --- a/include/wx/textctrl.h +++ b/include/wx/textctrl.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: textctrl.h +// Name: wx/textctrl.h // Purpose: wxTextCtrlBase class - the interface of wxTextCtrl // Author: Vadim Zeitlin // Modified by: @@ -62,7 +62,7 @@ typedef long wxTextCoord; // constants // ---------------------------------------------------------------------------- -extern WXDLLEXPORT_DATA(const wxChar*) wxTextCtrlNameStr; +extern WXDLLEXPORT_DATA(const wxChar) wxTextCtrlNameStr[]; // this is intentionally not enum to avoid warning fixes with // typecasting from enum type to wxTextCoord @@ -73,10 +73,6 @@ const wxTextCoord wxInvalidTextCoord = -2; // wxTextCtrl style flags // ---------------------------------------------------------------------------- -// the flag bit 0x0001 s free but should be used only for the things which -// don't make sense for a text control used by wxTextEntryDialog because they -// would otherwise conflict with wxOK, wxCANCEL, wxCENTRE - #define wxTE_NO_VSCROLL 0x0002 #define wxTE_AUTO_SCROLL 0x0008 @@ -116,8 +112,10 @@ const wxTextCoord wxInvalidTextCoord = -2; #define wxTE_WORDWRAP 0x0001 // wrap only at words boundaries #define wxTE_BESTWRAP 0x0000 // this is the default -// obsolete synonym -#define wxTE_LINEWRAP wxTE_CHARWRAP +#if WXWIN_COMPATIBILITY_2_6 + // obsolete synonym + #define wxTE_LINEWRAP wxTE_CHARWRAP +#endif // WXWIN_COMPATIBILITY_2_6 // force using RichEdit version 2.0 or 3.0 instead of 1.0 (default) for // wxTE_RICH controls - can be used together with or instead of wxTE_RICH @@ -195,6 +193,22 @@ public: // operations void Init(); + // merges the attributes of the base and the overlay objects and returns + // the result; the parameter attributes take precedence + // + // WARNING: the order of arguments is the opposite of Combine() + static wxTextAttr Merge(const wxTextAttr& base, const wxTextAttr& overlay) + { + return Combine(overlay, base, NULL); + } + + // merges the attributes of this object and overlay + void Merge(const wxTextAttr& overlay) + { + *this = Merge(*this, overlay); + } + + // operators void operator= (const wxTextAttr& attr); @@ -272,7 +286,7 @@ public: // -------- wxTextCtrlBase(){} - ~wxTextCtrlBase(){} + virtual ~wxTextCtrlBase(){} // accessors // --------- @@ -313,6 +327,13 @@ public: // sets/clears the dirty flag virtual void MarkDirty() = 0; virtual void DiscardEdits() = 0; + void SetModified(bool modified) + { + if ( modified ) + MarkDirty(); + else + DiscardEdits(); + } // set the max number of characters which may be entered in a single line // text control @@ -378,11 +399,6 @@ public: virtual void SelectAll(); virtual void SetEditable(bool editable) = 0; - // override streambuf method -#if wxHAS_TEXT_WINDOW_STREAM - int overflow(int i); -#endif // wxHAS_TEXT_WINDOW_STREAM - // stream-like insertion operators: these are always available, whether we // were, or not, compiled with streambuf support wxTextCtrl& operator<<(const wxString& s); @@ -398,6 +414,11 @@ public: virtual bool ShouldInheritColours() const { return false; } protected: + // override streambuf method +#if wxHAS_TEXT_WINDOW_STREAM + int overflow(int i); +#endif // wxHAS_TEXT_WINDOW_STREAM + // the name of the last file loaded with LoadFile() which will be used by // SaveFile() by default wxString m_filename; @@ -406,6 +427,7 @@ protected: wxTextAttr m_defaultStyle; DECLARE_NO_COPY_CLASS(wxTextCtrlBase) + DECLARE_ABSTRACT_CLASS(wxTextCtrlBase) }; // ---------------------------------------------------------------------------- @@ -422,8 +444,10 @@ protected: #include "wx/msw/textctrl.h" #elif defined(__WXMOTIF__) #include "wx/motif/textctrl.h" -#elif defined(__WXGTK__) +#elif defined(__WXGTK20__) #include "wx/gtk/textctrl.h" +#elif defined(__WXGTK__) + #include "wx/gtk1/textctrl.h" #elif defined(__WXMAC__) #include "wx/mac/textctrl.h" #elif defined(__WXCOCOA__)