X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/65c12361f3f1428628476547c4087cf3cbb9c105..047ac72bbe45c9ee5ea271fdfa7a3c033dd93d05:/include/wx/textctrl.h diff --git a/include/wx/textctrl.h b/include/wx/textctrl.h index 49abd90947..f3a0c2a0bd 100644 --- a/include/wx/textctrl.h +++ b/include/wx/textctrl.h @@ -45,6 +45,7 @@ #endif class WXDLLEXPORT wxTextCtrl; +class WXDLLEXPORT wxTextCtrlBase; // ---------------------------------------------------------------------------- // constants @@ -88,6 +89,10 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; #define wxTE_LINEWRAP 0x4000 #define wxTE_WORDWRAP 0x0000 // it's just == !wxHSCROLL +// 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 +#define wxTE_RICH2 0x8000 + // ---------------------------------------------------------------------------- // wxTextAttr: a structure containing the visual attributes of a text // ---------------------------------------------------------------------------- @@ -123,6 +128,13 @@ public: return !HasTextColour() && !HasBackgroundColour() && !HasFont(); } + // return the attribute having the valid font and colours: it uses the + // attributes set in attr and falls back first to attrDefault and then to + // the text control font/colours for those attributes which are not set + static wxTextAttr Combine(const wxTextAttr& attr, + const wxTextAttr& attrDef, + const wxTextCtrlBase *text); + private: wxColour m_colText, m_colBack; @@ -153,6 +165,8 @@ public: virtual wxString GetValue() const = 0; virtual void SetValue(const wxString& value) = 0; + virtual wxString GetRange(long from, long to) const; + virtual int GetLineLength(long lineNo) const = 0; virtual wxString GetLineText(long lineNo) const = 0; virtual int GetNumberOfLines() const = 0; @@ -189,6 +203,10 @@ public: virtual void WriteText(const wxString& text) = 0; virtual void AppendText(const wxString& text) = 0; + // insert the character which would have resulted from this key event, + // return TRUE if anything has been inserted + virtual bool EmulateKeyPress(const wxKeyEvent& event); + // text control under some platforms supports the text styles: these // methods allow to apply the given text style to the given selection or to // set/get the style which will be used for all appended text @@ -262,7 +280,9 @@ protected: // include the platform-dependent class definition // ---------------------------------------------------------------------------- -#if defined(__WXUNIVERSAL__) +#if defined(__WXX11__) + #include "wx/x11/textctrl.h" +#elif defined(__WXUNIVERSAL__) #include "wx/univ/textctrl.h" #elif defined(__WXMSW__) #include "wx/msw/textctrl.h" @@ -298,9 +318,9 @@ class WXDLLEXPORT wxTextUrlEvent : public wxCommandEvent public: wxTextUrlEvent(int id, const wxMouseEvent& evtMouse, long start, long end) - : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, id), - m_evtMouse(evtMouse) - { m_start = start; m_end = end; } + : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, id) + , m_evtMouse(evtMouse), m_start(start), m_end(end) + { } // get the mouse event which happend over the URL const wxMouseEvent& GetMouseEvent() const { return m_evtMouse; } @@ -324,7 +344,7 @@ private: public: // for wxWin RTTI only, don't use - wxTextUrlEvent() { } + wxTextUrlEvent() : m_evtMouse(), m_start(0), m_end(0) { } }; typedef void (wxEvtHandler::*wxTextUrlEventFunction)(wxTextUrlEvent&);