1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxSearchCtrlBase class
4 // Author: Vince Harron
7 // Copyright: (c) Vince Harron
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_SEARCHCTRL_H_BASE_
12 #define _WX_SEARCHCTRL_H_BASE_
18 #include "wx/textctrl.h"
20 #if !defined(__WXUNIVERSAL__) && defined(__WXMAC__) && defined(__WXMAC_OSX__) \
21 && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3)
22 // search control was introduced in Mac OS X 10.3 Panther
23 #define wxUSE_NATIVE_SEARCH_CONTROL 1
25 #define wxSearchCtrlBaseBaseClass wxTextCtrl
27 // no native version, use the generic one
28 #define wxUSE_NATIVE_SEARCH_CONTROL 0
30 class WXDLLIMPEXP_CORE wxSearchCtrlBaseBaseClass
: public wxControl
,
31 public wxTextCtrlIface
36 // ----------------------------------------------------------------------------
38 // ----------------------------------------------------------------------------
40 extern WXDLLEXPORT_DATA(const wxChar
) wxSearchCtrlNameStr
[];
42 BEGIN_DECLARE_EVENT_TYPES()
43 DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN
, 1119)
44 DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN
, 1120)
45 END_DECLARE_EVENT_TYPES()
47 // ----------------------------------------------------------------------------
48 // a search ctrl is a text control with a search button and a cancel button
49 // it is based on the MacOSX 10.3 control HISearchFieldCreate
50 // ----------------------------------------------------------------------------
52 class WXDLLEXPORT wxSearchCtrlBase
: public wxSearchCtrlBaseBaseClass
55 wxSearchCtrlBase() { }
56 virtual ~wxSearchCtrlBase() { }
60 virtual void SetMenu(wxMenu
*menu
) = 0;
61 virtual wxMenu
*GetMenu() = 0;
65 virtual void ShowSearchButton( bool show
) = 0;
66 virtual bool IsSearchButtonVisible() const = 0;
68 virtual void ShowCancelButton( bool show
) = 0;
69 virtual bool IsCancelButtonVisible() const = 0;
73 // include the platform-dependent class implementation
74 #if wxUSE_NATIVE_SEARCH_CONTROL
75 #if defined(__WXMAC__)
76 #include "wx/mac/srchctrl.h"
79 #include "wx/generic/srchctlg.h"
82 // ----------------------------------------------------------------------------
83 // macros for handling search events
84 // ----------------------------------------------------------------------------
86 #define EVT_SEARCHCTRL_CANCEL_BTN(id, fn) \
87 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, id, wxCommandEventHandler(fn))
89 #define EVT_SEARCHCTRL_SEARCH_BTN(id, fn) \
90 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, id, wxCommandEventHandler(fn))
92 #endif // wxUSE_SEARCHCTRL
94 #endif // _WX_SEARCHCTRL_H_BASE_