X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec184e324214ea06f0c056ab626de5f32bcdad3b..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/srchctrl.h diff --git a/include/wx/srchctrl.h b/include/wx/srchctrl.h index a5ea78dd73..acb7b4796e 100644 --- a/include/wx/srchctrl.h +++ b/include/wx/srchctrl.h @@ -1,10 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: srchctrl.h +// Name: wx/srchctrl.h // Purpose: wxSearchCtrlBase class // Author: Vince Harron -// Modified by: // Created: 2006-02-18 -// RCS-ID: +// RCS-ID: $Id$ // Copyright: (c) Vince Harron // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -18,8 +17,7 @@ #include "wx/textctrl.h" -#if !defined(__WXUNIVERSAL__) && defined(__WXMAC__) && defined(__WXMAC_OSX__) \ - && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3) +#if !defined(__WXUNIVERSAL__) && defined(__WXMAC__) // search control was introduced in Mac OS X 10.3 Panther #define wxUSE_NATIVE_SEARCH_CONTROL 1 @@ -28,34 +26,41 @@ // no native version, use the generic one #define wxUSE_NATIVE_SEARCH_CONTROL 0 - #define wxSearchCtrlBaseBaseClass wxTextCtrlBase + #include "wx/compositewin.h" + #include "wx/containr.h" + + class WXDLLIMPEXP_CORE wxSearchCtrlBaseBaseClass + : public wxCompositeWindow< wxNavigationEnabled >, + public wxTextCtrlIface + { + }; #endif // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- -extern WXDLLEXPORT_DATA(const wxChar) wxSearchCtrlNameStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxSearchCtrlNameStr[]; -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_CANCEL, 1119) - DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_SEARCH, 1120) -END_DECLARE_EVENT_TYPES() +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_SEARCHCTRL_CANCEL_BTN, wxCommandEvent); +wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_SEARCHCTRL_SEARCH_BTN, wxCommandEvent); // ---------------------------------------------------------------------------- // a search ctrl is a text control with a search button and a cancel button // it is based on the MacOSX 10.3 control HISearchFieldCreate // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxSearchCtrlBase : public wxSearchCtrlBaseBaseClass +class WXDLLIMPEXP_CORE wxSearchCtrlBase : public wxSearchCtrlBaseBaseClass { public: wxSearchCtrlBase() { } virtual ~wxSearchCtrlBase() { } - // search control + // search control +#if wxUSE_MENUS virtual void SetMenu(wxMenu *menu) = 0; virtual wxMenu *GetMenu() = 0; +#endif // wxUSE_MENUS // get/set options virtual void ShowSearchButton( bool show ) = 0; @@ -63,13 +68,17 @@ public: virtual void ShowCancelButton( bool show ) = 0; virtual bool IsCancelButtonVisible() const = 0; + +private: + // implement wxTextEntry pure virtual method + virtual wxWindow *GetEditableWindow() { return this; } }; // include the platform-dependent class implementation #if wxUSE_NATIVE_SEARCH_CONTROL #if defined(__WXMAC__) - #include "wx/mac/srchctrl.h" + #include "wx/osx/srchctrl.h" #endif #else #include "wx/generic/srchctlg.h" @@ -79,11 +88,15 @@ public: // macros for handling search events // ---------------------------------------------------------------------------- -#define EVT_SEARCHCTRL_CANCEL(id, fn) \ - wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_CANCEL, id, wxCommandEventHandler(fn)) +#define EVT_SEARCHCTRL_CANCEL_BTN(id, fn) \ + wx__DECLARE_EVT1(wxEVT_SEARCHCTRL_CANCEL_BTN, id, wxCommandEventHandler(fn)) + +#define EVT_SEARCHCTRL_SEARCH_BTN(id, fn) \ + wx__DECLARE_EVT1(wxEVT_SEARCHCTRL_SEARCH_BTN, id, wxCommandEventHandler(fn)) -#define EVT_SEARCHCTRL_SEARCH(id, fn) \ - wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_SEARCH, id, wxCommandEventHandler(fn)) +// old wxEVT_COMMAND_* constants +#define wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN wxEVT_SEARCHCTRL_CANCEL_BTN +#define wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN wxEVT_SEARCHCTRL_SEARCH_BTN #endif // wxUSE_SEARCHCTRL