1///////////////////////////////////////////////////////////////////////////// 2// Name: srchctrl.h 3// Purpose: wxSearchCtrlBase class 4// Author: Vince Harron 5// Created: 2006-02-18 6// RCS-ID: $Id: srchctrl.h 45828 2007-05-05 14:51:51Z VZ $ 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__) && 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 24 25 #define wxSearchCtrlBaseBaseClass wxTextCtrl 26#else 27 // no native version, use the generic one 28 #define wxUSE_NATIVE_SEARCH_CONTROL 0 29 30 #define wxSearchCtrlBaseBaseClass wxTextCtrlBase 31#endif 32 33// ---------------------------------------------------------------------------- 34// constants 35// ---------------------------------------------------------------------------- 36 37extern WXDLLEXPORT_DATA(const wxChar) wxSearchCtrlNameStr[]; 38 39BEGIN_DECLARE_EVENT_TYPES() 40 DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, 1119) 41 DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, 1120) 42END_DECLARE_EVENT_TYPES() 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 WXDLLEXPORT 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}; 68 69 70// include the platform-dependent class implementation 71#if wxUSE_NATIVE_SEARCH_CONTROL 72 #if defined(__WXMAC__) 73 #include "wx/mac/srchctrl.h" 74 #endif 75#else 76 #include "wx/generic/srchctlg.h" 77#endif 78 79// ---------------------------------------------------------------------------- 80// macros for handling search events 81// ---------------------------------------------------------------------------- 82 83#define EVT_SEARCHCTRL_CANCEL_BTN(id, fn) \ 84 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, id, wxCommandEventHandler(fn)) 85 86#define EVT_SEARCHCTRL_SEARCH_BTN(id, fn) \ 87 wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, id, wxCommandEventHandler(fn)) 88 89#endif // wxUSE_SEARCHCTRL 90 91#endif // _WX_SEARCHCTRL_H_BASE_ 92