X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2efce8f1addb3875f2aeee2a8d060bfdb90f3037..3427bc784ec7dae7d3830e8f2c61565587e8f791:/include/wx/generic/srchctlg.h diff --git a/include/wx/generic/srchctlg.h b/include/wx/generic/srchctlg.h index b65ec18909..202abb9d5b 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,42 +13,16 @@ #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: -}; +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 @@ -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,25 +47,28 @@ 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 // --------- - virtual wxString GetValue() const; - virtual void SetValue(const wxString& value); - virtual wxString GetRange(long from, long to) const; virtual int GetLineLength(long lineNo) const; @@ -218,11 +194,17 @@ 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 wxString DoGetValue() const; + + 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; @@ -239,27 +221,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)