X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f7f284d555df50912037296c5d74a2911975bce..4f2511d706e5274a34e1521e11c1b95fed735b42:/include/wx/generic/srchctlg.h diff --git a/include/wx/generic/srchctlg.h b/include/wx/generic/srchctlg.h index 6342ffefcd..407783f957 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,38 +13,16 @@ #if wxUSE_SEARCHCTRL -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "srchctlg.h" -#endif - -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; +#include "wx/bitmap.h" - - // 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: -}; +class WXDLLIMPEXP_FWD_CORE wxSearchButton; +class WXDLLIMPEXP_FWD_CORE wxSearchTextCtrl; // ---------------------------------------------------------------------------- // wxSearchCtrl is a combination of wxTextCtrl and wxSearchButton // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxSearchCtrl : public wxSearchCtrlBase +class WXDLLIMPEXP_CORE wxSearchCtrl : public wxSearchCtrlBase { public: // creation @@ -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,11 +197,15 @@ 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); + virtual void DoSetValue(const wxString& value, int flags); + virtual bool DoLoadFile(const wxString& file, int fileType); + virtual bool DoSaveFile(const wxString& file, int fileType); // override the base class virtuals involved into geometry calculations virtual wxSize DoGetBestSize() const; @@ -235,27 +222,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)