X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d76fbd5a1ae1e8cab3c4a49c5e93cc9952a5aab..c5ba48512424b7e543cadfccef304fe170bdf910:/include/wx/textctrl.h diff --git a/include/wx/textctrl.h b/include/wx/textctrl.h index d65e329dda..d9a6090ae7 100644 --- a/include/wx/textctrl.h +++ b/include/wx/textctrl.h @@ -582,11 +582,13 @@ public: virtual wxTextCtrlHitTestResult HitTest(const wxPoint& pt, wxTextCoord *col, wxTextCoord *row) const; + virtual wxString GetValue() const = 0; + virtual void SetValue(const wxString& value) = 0; protected: // implementation of loading/saving - virtual bool DoLoadFile(const wxString& file, int fileType) = 0; - virtual bool DoSaveFile(const wxString& file, int fileType) = 0; + virtual bool DoLoadFile(const wxString& file, int fileType); + virtual bool DoSaveFile(const wxString& file, int fileType); // the name of the last file loaded with LoadFile() which will be used by @@ -597,7 +599,7 @@ protected: wxTextAttr m_defaultStyle; - DECLARE_NO_COPY_CLASS(wxTextAreaBase) + wxDECLARE_NO_COPY_CLASS(wxTextAreaBase); }; // this class defines wxTextCtrl interface, wxTextCtrlBase actually implements @@ -611,8 +613,18 @@ class WXDLLIMPEXP_CORE wxTextCtrlIface : public wxTextAreaBase, public: wxTextCtrlIface() { } + // wxTextAreaBase overrides + virtual wxString GetValue() const + { + return wxTextEntryBase::GetValue(); + } + virtual void SetValue(const wxString& value) + { + wxTextEntryBase::SetValue(value); + } + private: - DECLARE_NO_COPY_CLASS(wxTextCtrlIface) + wxDECLARE_NO_COPY_CLASS(wxTextCtrlIface); }; // ---------------------------------------------------------------------------- @@ -653,11 +665,6 @@ public: virtual bool EmulateKeyPress(const wxKeyEvent& event); - // generate the wxEVT_COMMAND_TEXT_UPDATED event, like SetValue() does and - // return true if the event was processed - static bool SendTextUpdatedEvent(wxWindow *win); - bool SendTextUpdatedEvent() { return SendTextUpdatedEvent(this); } - // do the window-specific processing after processing the update event virtual void DoUpdateWindowUI(wxUpdateUIEvent& event); @@ -683,6 +690,28 @@ public: virtual bool GetStyle(long position, wxTextAttr& style); virtual bool SetDefaultStyle(const wxTextAttr& style); + // wxTextAreaBase overrides + virtual wxString GetValue() const + { + return wxTextEntry::GetValue(); + } + virtual void SetValue(const wxString& value) + { + wxTextEntry::SetValue(value); + } + + // wxWindow overrides + virtual wxVisualAttributes GetDefaultAttributes() const + { + return GetClassDefaultAttributes(GetWindowVariant()); + } + + static wxVisualAttributes + GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL) + { + return GetCompositeControlsDefaultAttributes(variant); + } + protected: // override streambuf method #if wxHAS_TEXT_WINDOW_STREAM @@ -692,8 +721,10 @@ protected: virtual bool DoLoadFile(const wxString& file, int fileType); virtual bool DoSaveFile(const wxString& file, int fileType); + // implement the wxTextEntry pure virtual method + virtual wxWindow *GetEditableWindow() { return this; } - DECLARE_NO_COPY_CLASS(wxTextCtrlBase) + wxDECLARE_NO_COPY_CLASS(wxTextCtrlBase); DECLARE_ABSTRACT_CLASS(wxTextCtrlBase) }; @@ -731,10 +762,10 @@ protected: class WXDLLIMPEXP_FWD_CORE wxTextUrlEvent; -wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent) -wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_ENTER, wxCommandEvent) -wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_URL, wxTextUrlEvent) -wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_MAXLEN, wxCommandEvent) +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent); +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_ENTER, wxCommandEvent); +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_URL, wxTextUrlEvent); +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_MAXLEN, wxCommandEvent); class WXDLLIMPEXP_CORE wxTextUrlEvent : public wxCommandEvent {