]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/srchctlg.h
disable clearing event tables by default, only do it if wxUSE_MEMORY_TRACING is used...
[wxWidgets.git] / include / wx / generic / srchctlg.h
index 6342ffefcd09e1dc6b39a3f1888ea8bda45fa1bd..043ecfa8790a518d56dff770a73959f12e109b92 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        wx/generic/srchctlg.h
 // Purpose:     generic wxSearchCtrl class
 // Author:      Vince Harron
-// Modified by:
 // Created:     2006-02-19
-// RCS-ID:      
+// RCS-ID:      $Id$
 // Copyright:   Vince Harron
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #if wxUSE_SEARCHCTRL
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma interface "srchctlg.h"
-#endif
+#include "wx/bitmap.h"
 
 class WXDLLEXPORT wxSearchButton;
 class WXDLLEXPORT wxSearchTextCtrl;
 
-class WXDLLEXPORT wxSearchCtrlBase : public wxTextCtrlBase
-{
-public:
-    wxSearchCtrlBase() {}
-    virtual ~wxSearchCtrlBase() {}
-
-    // search control 
-    virtual void SetMenu( wxMenu* menu ) = 0;
-    virtual wxMenu* GetMenu() = 0;
-
-
-    // get/set options
-    virtual void SetSearchButtonVisible( bool show ) = 0;
-    virtual bool GetSearchButtonVisible() const = 0;
-
-    virtual void SetCancelButtonVisible( bool show ) = 0;
-    virtual bool GetCancelButtonVisible() const = 0;
-protected:
-};
-
 // ----------------------------------------------------------------------------
 // wxSearchCtrl is a combination of wxTextCtrl and wxSearchButton
 // ----------------------------------------------------------------------------
@@ -60,7 +37,7 @@ public:
                const wxValidator& validator = wxDefaultValidator,
                const wxString& name = wxSearchCtrlNameStr);
 
-    ~wxSearchCtrl();
+    virtual ~wxSearchCtrl();
 
     bool Create(wxWindow *parent, wxWindowID id,
                 const wxString& value = wxEmptyString,
@@ -70,18 +47,24 @@ public:
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxSearchCtrlNameStr);
 
+#if wxUSE_MENUS
     // get/set search button menu
     // --------------------------
     virtual void SetMenu( wxMenu* menu );
     virtual wxMenu* GetMenu();
-    
+#endif // wxUSE_MENUS
+
     // get/set search options
     // ----------------------
-    virtual void SetSearchButtonVisible( bool show );
-    virtual bool GetSearchButtonVisible() const;
+    virtual void ShowSearchButton( bool show );
+    virtual bool IsSearchButtonVisible() const;
 
-    virtual void SetCancelButtonVisible( bool show );
-    virtual bool GetCancelButtonVisible() const;
+    virtual void ShowCancelButton( bool show );
+    virtual bool IsCancelButtonVisible() const;
+
+    // TODO: In 2.9 these should probably be virtual, and declared in the base class...
+    void SetDescriptiveText(const wxString& text);
+    wxString GetDescriptiveText() const;
 
     // accessors
     // ---------
@@ -214,8 +197,10 @@ public:
 
     // search control generic only
     void SetSearchBitmap( const wxBitmap& bitmap );
-    void SetSearchMenuBitmap( const wxBitmap& bitmap );
     void SetCancelBitmap( const wxBitmap& bitmap );
+#if wxUSE_MENUS
+    void SetSearchMenuBitmap( const wxBitmap& bitmap );
+#endif // wxUSE_MENUS
 
 protected:
     virtual void DoSetValue(const wxString& value, int flags = 0);
@@ -235,27 +220,47 @@ protected:
     virtual void OnSearchButton( wxCommandEvent& event );
 
     void OnSetFocus( wxFocusEvent& event );
+    void OnSize( wxSizeEvent& event );
+
+    bool HasMenu() const
+    {
+#if wxUSE_MENUS
+        return m_menu != NULL;
+#else // !wxUSE_MENUS
+        return false;
+#endif // wxUSE_MENUS/!wxUSE_MENUS
+    }
 
 private:
     friend class wxSearchButton;
 
+#if wxUSE_MENUS
     void PopupSearchMenu();
+#endif // wxUSE_MENUS
 
     // the subcontrols
     wxSearchTextCtrl *m_text;
     wxSearchButton *m_searchButton;
     wxSearchButton *m_cancelButton;
+#if wxUSE_MENUS
     wxMenu *m_menu;
+#endif // wxUSE_MENUS
 
     bool m_searchButtonVisible;
     bool m_cancelButtonVisible;
 
     bool m_searchBitmapUser;
-    bool m_searchMenuBitmapUser;
     bool m_cancelBitmapUser;
+#if wxUSE_MENUS
+    bool m_searchMenuBitmapUser;
+#endif // wxUSE_MENUS
+
     wxBitmap m_searchBitmap;
-    wxBitmap m_searchMenuBitmap;
     wxBitmap m_cancelBitmap;
+#if wxUSE_MENUS
+    wxBitmap m_searchMenuBitmap;
+#endif // wxUSE_MENUS
+
 private:
     DECLARE_DYNAMIC_CLASS(wxSearchCtrl)