]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/srchctrl.h
simplify Enable()
[wxWidgets.git] / include / wx / srchctrl.h
... / ...
CommitLineData
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
39extern WXDLLIMPEXP_DATA_CORE(const char) wxSearchCtrlNameStr[];
40
41wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, wxCommandEvent);
42wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, wxCommandEvent);
43
44// ----------------------------------------------------------------------------
45// a search ctrl is a text control with a search button and a cancel button
46// it is based on the MacOSX 10.3 control HISearchFieldCreate
47// ----------------------------------------------------------------------------
48
49class WXDLLIMPEXP_CORE wxSearchCtrlBase : public wxSearchCtrlBaseBaseClass
50{
51public:
52 wxSearchCtrlBase() { }
53 virtual ~wxSearchCtrlBase() { }
54
55 // search control
56#if wxUSE_MENUS
57 virtual void SetMenu(wxMenu *menu) = 0;
58 virtual wxMenu *GetMenu() = 0;
59#endif // wxUSE_MENUS
60
61 // get/set options
62 virtual void ShowSearchButton( bool show ) = 0;
63 virtual bool IsSearchButtonVisible() const = 0;
64
65 virtual void ShowCancelButton( bool show ) = 0;
66 virtual bool IsCancelButtonVisible() const = 0;
67
68private:
69 // implement wxTextEntry pure virtual method
70 virtual wxWindow *GetEditableWindow() { return this; }
71};
72
73
74// include the platform-dependent class implementation
75#if wxUSE_NATIVE_SEARCH_CONTROL
76 #if defined(__WXMAC__)
77 #include "wx/osx/srchctrl.h"
78 #endif
79#else
80 #include "wx/generic/srchctlg.h"
81#endif
82
83// ----------------------------------------------------------------------------
84// macros for handling search events
85// ----------------------------------------------------------------------------
86
87#define EVT_SEARCHCTRL_CANCEL_BTN(id, fn) \
88 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, id, wxCommandEventHandler(fn))
89
90#define EVT_SEARCHCTRL_SEARCH_BTN(id, fn) \
91 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, id, wxCommandEventHandler(fn))
92
93#endif // wxUSE_SEARCHCTRL
94
95#endif // _WX_SEARCHCTRL_H_BASE_