]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/textentry.h
Added wxPropertyGridManager::SetPageSplitterLeft
[wxWidgets.git] / include / wx / msw / textentry.h
index aa23df118cda02e55802531bde699fbc5b00f971..c42ef8d89d076302166cd7fb193192578263d458 100644 (file)
@@ -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()
-    {
-#if wxUSE_OLE
-        m_enumStrings = NULL;
-#endif // wxUSE_OLE
-    }
+    wxTextEntry();
+    virtual ~wxTextEntry();
 
     // implement wxTextEntryBase pure virtual methods
     virtual void WriteText(const wxString& text);
@@ -77,7 +75,8 @@ protected:
     // wxUSE_OLE as OleInitialize() is not called then
 #if wxUSE_OLE
     virtual bool DoAutoCompleteStrings(const wxArrayString& choices);
-    virtual bool DoAutoCompleteFileNames();
+    virtual bool DoAutoCompleteFileNames(int flags);
+    virtual bool DoAutoCompleteCustom(wxTextCompleter *completer);
 #endif // wxUSE_OLE
 
 private:
@@ -85,8 +84,16 @@ private:
     virtual WXHWND GetEditHWND() const = 0;
 
 #if wxUSE_OLE
-    // enumerator for strings currently used for auto-completion or NULL
-    class wxIEnumString *m_enumStrings;
+    // 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
 };