cleanup
[wxWidgets.git] / include / wx / srchctrl.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: srchctrl.h
3 // Purpose: wxSearchCtrlBase class
4 // Author: Vince Harron
5 // Created: 2006-02-18
6 // RCS-ID: $Id$
7 // Copyright: (c) Vince Harron
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_SEARCHCTRL_H_BASE_
12 #define _WX_SEARCHCTRL_H_BASE_
13
14 #include "wx/defs.h"
15
16 #if wxUSE_SEARCHCTRL
17
18 #include "wx/textctrl.h"
19
20 #if !defined(__WXUNIVERSAL__) && defined(__WXMAC__)
21 // search control was introduced in Mac OS X 10.3 Panther
22 #define wxUSE_NATIVE_SEARCH_CONTROL 1
23
24 #define wxSearchCtrlBaseBaseClass wxTextCtrl
25 #else
26 // no native version, use the generic one
27 #define wxUSE_NATIVE_SEARCH_CONTROL 0
28
29 class WXDLLIMPEXP_CORE wxSearchCtrlBaseBaseClass : public wxControl,
30 public wxTextCtrlIface
31 {
32 };
33 #endif
34
35 // ----------------------------------------------------------------------------
36 // constants
37 // ----------------------------------------------------------------------------
38
39 extern WXDLLEXPORT_DATA(const char) wxSearchCtrlNameStr[];
40
41 BEGIN_DECLARE_EVENT_TYPES()
42 DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, 1119)
43 DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, 1120)
44 END_DECLARE_EVENT_TYPES()
45
46 // ----------------------------------------------------------------------------
47 // a search ctrl is a text control with a search button and a cancel button
48 // it is based on the MacOSX 10.3 control HISearchFieldCreate
49 // ----------------------------------------------------------------------------
50
51 class WXDLLEXPORT wxSearchCtrlBase : public wxSearchCtrlBaseBaseClass
52 {
53 public:
54 wxSearchCtrlBase() { }
55 virtual ~wxSearchCtrlBase() { }
56
57 // search control
58 #if wxUSE_MENUS
59 virtual void SetMenu(wxMenu *menu) = 0;
60 virtual wxMenu *GetMenu() = 0;
61 #endif // wxUSE_MENUS
62
63 // get/set options
64 virtual void ShowSearchButton( bool show ) = 0;
65 virtual bool IsSearchButtonVisible() const = 0;
66
67 virtual void ShowCancelButton( bool show ) = 0;
68 virtual bool IsCancelButtonVisible() const = 0;
69 };
70
71
72 // include the platform-dependent class implementation
73 #if wxUSE_NATIVE_SEARCH_CONTROL
74 #if defined(__WXMAC__)
75 #include "wx/mac/srchctrl.h"
76 #endif
77 #else
78 #include "wx/generic/srchctlg.h"
79 #endif
80
81 // ----------------------------------------------------------------------------
82 // macros for handling search events
83 // ----------------------------------------------------------------------------
84
85 #define EVT_SEARCHCTRL_CANCEL_BTN(id, fn) \
86 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, id, wxCommandEventHandler(fn))
87
88 #define EVT_SEARCHCTRL_SEARCH_BTN(id, fn) \
89 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, id, wxCommandEventHandler(fn))
90
91 #endif // wxUSE_SEARCHCTRL
92
93 #endif // _WX_SEARCHCTRL_H_BASE_