X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6c09235ca11a3b3965cbce1c74f66abe82a19487..9869c26285dc51d13607cddaa04f65ce983653a5:/include/wx/msw/textentry.h diff --git a/include/wx/msw/textentry.h b/include/wx/msw/textentry.h index e3a523b825..80b9e23966 100644 --- a/include/wx/msw/textentry.h +++ b/include/wx/msw/textentry.h @@ -3,7 +3,6 @@ // Purpose: wxMSW-specific wxTextEntry implementation // Author: Vadim Zeitlin // Created: 2007-09-26 -// RCS-ID: $Id: textentry.h 48944 2007-09-26 00:30:22Z VZ $ // Copyright: (c) 2007 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -11,6 +10,8 @@ #ifndef _WX_MSW_TEXTENTRY_H_ #define _WX_MSW_TEXTENTRY_H_ +class wxTextAutoCompleteData; // private class used only by wxTextEntry itself + // ---------------------------------------------------------------------------- // wxTextEntry: common part of wxComboBox and (single line) wxTextCtrl // ---------------------------------------------------------------------------- @@ -18,11 +19,11 @@ class WXDLLIMPEXP_CORE wxTextEntry : public wxTextEntryBase { public: - wxTextEntry() { } + wxTextEntry(); + virtual ~wxTextEntry(); // implement wxTextEntryBase pure virtual methods virtual void WriteText(const wxString& text); - virtual wxString GetValue() const; virtual void Remove(long from, long to); virtual void Copy(); @@ -42,19 +43,19 @@ public: { DoSetSelection(from, to); } virtual void GetSelection(long *from, long *to) const; - // auto-completion uses COM under Windows so they won't work without - // wxUSE_OLE as OleInitialize() is not called then -#if wxUSE_OLE - virtual bool AutoComplete(const wxArrayString& choices); - virtual bool AutoCompleteFileNames(); -#endif // wxUSE_OLE - virtual bool IsEditable() const; virtual void SetEditable(bool editable); virtual void SetMaxLength(unsigned long len); +#if wxUSE_UXTHEME + virtual bool SetHint(const wxString& hint); + virtual wxString GetHint() const; +#endif // wxUSE_UXTHEME + protected: + virtual wxString DoGetValue() const; + // this is really a hook for multiline text controls as the single line // ones don't need to ever scroll to show the selection but having it here // allows us to put Remove() in the base class @@ -65,9 +66,36 @@ protected: }; virtual void DoSetSelection(long from, long to, int flags = SetSel_Scroll); + // margins functions + virtual bool DoSetMargins(const wxPoint& pt); + virtual wxPoint DoGetMargins() const; + + // auto-completion uses COM under Windows so they won't work without + // wxUSE_OLE as OleInitialize() is not called then +#if wxUSE_OLE + virtual bool DoAutoCompleteStrings(const wxArrayString& choices); +#if wxUSE_DYNLIB_CLASS + virtual bool DoAutoCompleteFileNames(int flags); +#endif // wxUSE_DYNLIB_CLASS + virtual bool DoAutoCompleteCustom(wxTextCompleter *completer); +#endif // wxUSE_OLE + private: // implement this to return the HWND of the EDIT control virtual WXHWND GetEditHWND() const = 0; + +#if wxUSE_OLE + // Get the auto-complete object creating it if necessary. Returns NULL if + // creating it failed. + wxTextAutoCompleteData *GetOrCreateCompleter(); + + // Various auto-completion-related stuff, only used if any of AutoComplete() + // methods are called. Use the function above to access it. + wxTextAutoCompleteData *m_autoCompleteData; + + // It needs to call our GetEditableWindow() and GetEditHWND() methods. + friend class wxTextAutoCompleteData; +#endif // wxUSE_OLE }; #endif // _WX_MSW_TEXTENTRY_H_