X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2efce8f1addb3875f2aeee2a8d060bfdb90f3037..87f351de6c8d4cf2af78e36b3ceccf21bc8ec937:/include/wx/generic/srchctlg.h?ds=sidebyside diff --git a/include/wx/generic/srchctlg.h b/include/wx/generic/srchctlg.h index b65ec18909..043ecfa879 100644 --- a/include/wx/generic/srchctlg.h +++ b/include/wx/generic/srchctlg.h @@ -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 ///////////////////////////////////////////////////////////////////////////// @@ -14,37 +13,11 @@ #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 // ---------------------------------------------------------------------------- @@ -64,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, @@ -74,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 ShowCancelButton( bool show ); + virtual bool IsCancelButtonVisible() const; - virtual void SetCancelButtonVisible( bool show ); - virtual bool GetCancelButtonVisible() 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 // --------- @@ -218,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); @@ -239,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)