X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec184e324214ea06f0c056ab626de5f32bcdad3b..cde23b64b5194f0d71cf16c85ea33d28419c815f:/include/wx/generic/srchctlg.h diff --git a/include/wx/generic/srchctlg.h b/include/wx/generic/srchctlg.h index 223ad39f31..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 ///////////////////////////////////////////////////////////////////////////// @@ -16,14 +15,14 @@ #include "wx/bitmap.h" -class WXDLLEXPORT wxSearchButton; -class WXDLLEXPORT wxSearchTextCtrl; +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 @@ -38,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, @@ -48,11 +47,13 @@ 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 ShowSearchButton( bool show ); @@ -61,12 +62,13 @@ public: 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 // --------- - virtual wxString GetValue() const; - virtual void SetValue(const wxString& value); - virtual wxString GetRange(long from, long to) const; virtual int GetLineLength(long lineNo) const; @@ -192,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; @@ -213,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)