X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/63f7d5022e786be61c0226314dac98739f49a426..0599fe19d95bd73f11142bab6c5f90d66fc9b0b5:/include/wx/textentry.h diff --git a/include/wx/textentry.h b/include/wx/textentry.h index 1194b61f90..130446a4a3 100644 --- a/include/wx/textentry.h +++ b/include/wx/textentry.h @@ -17,6 +17,9 @@ typedef long wxTextPos; class WXDLLIMPEXP_FWD_BASE wxArrayString; class WXDLLIMPEXP_FWD_CORE wxTextEntryHintData; +class WXDLLIMPEXP_FWD_CORE wxWindow; + +#include "wx/gdicmn.h" // for wxPoint // ---------------------------------------------------------------------------- // wxTextEntryBase @@ -44,7 +47,7 @@ public: virtual void WriteText(const wxString& text) = 0; virtual void AppendText(const wxString& text); - virtual wxString GetValue() const = 0; + virtual wxString GetValue() const; virtual wxString GetRange(long from, long to) const; bool IsEmpty() const { return GetLastPosition() <= 0; } @@ -141,6 +144,20 @@ public: virtual wxString GetHint() const; + // margins + // ------- + + // margins are the empty space between borders of control and the text + // itself. When setting margin, use value -1 to indicate that specific + // margin should not be changed. + + bool SetMargins(const wxPoint& pt) + { return DoSetMargins(pt); } + bool SetMargins(wxCoord left, wxCoord top = -1) + { return DoSetMargins(wxPoint(left, top)); } + wxPoint GetMargins() const + { return DoGetMargins(); } + protected: // flags for DoSetValue(): common part of SetValue() and ChangeValue() and // also used to implement WriteText() in wxMSW @@ -152,6 +169,16 @@ protected: }; virtual void DoSetValue(const wxString& value, int flags); + virtual wxString DoGetValue() const = 0; + + // override this to return the associated window, it will be used for event + // generation and also by generic hints implementation + virtual wxWindow *GetEditableWindow() = 0; + + // margins functions + virtual bool DoSetMargins(const wxPoint& pt); + virtual wxPoint DoGetMargins() const; + // class which should be used to temporarily disable text change events // @@ -184,11 +211,6 @@ protected: bool EventsAllowed() const { return m_eventsBlock == 0; } private: - // override this to return the associated window, it will be used for event - // generation and also by generic hints implementation - virtual wxWindow *GetEditableWindow() = 0; - - // suppress or resume the text changed events generation: don't use these // functions directly, use EventsSuppressor class above instead void SuppressTextChangedEvents()