]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/textentry.h
Fix border size computation in wxAuiTabArt.
[wxWidgets.git] / include / wx / msw / textentry.h
index e3a523b825786965524d53afe007c345a10a9eb1..511797d90ff097f65c76432c0528410fed566553 100644 (file)
@@ -3,7 +3,7 @@
 // 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 $
+// RCS-ID:      $Id$
 // Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -11,6 +11,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
 // ----------------------------------------------------------------------------
 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 +44,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 +67,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_