2006-12-11 01:19:27 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
2011-03-19 20:14:35 -04:00
|
|
|
// Name: wx/srchctrl.h
|
2006-12-11 01:19:27 -05:00
|
|
|
// Purpose: wxSearchCtrlBase class
|
|
|
|
// Author: Vince Harron
|
|
|
|
// Created: 2006-02-18
|
2006-12-11 09:14:07 -05:00
|
|
|
// RCS-ID: $Id$
|
2006-12-11 01:19:27 -05:00
|
|
|
// Copyright: (c) Vince Harron
|
|
|
|
// Licence: wxWindows licence
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_SEARCHCTRL_H_BASE_
|
|
|
|
#define _WX_SEARCHCTRL_H_BASE_
|
|
|
|
|
|
|
|
#include "wx/defs.h"
|
|
|
|
|
|
|
|
#if wxUSE_SEARCHCTRL
|
|
|
|
|
|
|
|
#include "wx/textctrl.h"
|
|
|
|
|
2009-08-21 06:41:26 -04:00
|
|
|
#if !defined(__WXUNIVERSAL__) && defined(__WXMAC__)
|
2006-12-11 08:48:18 -05:00
|
|
|
// search control was introduced in Mac OS X 10.3 Panther
|
|
|
|
#define wxUSE_NATIVE_SEARCH_CONTROL 1
|
|
|
|
|
|
|
|
#define wxSearchCtrlBaseBaseClass wxTextCtrl
|
|
|
|
#else
|
|
|
|
// no native version, use the generic one
|
|
|
|
#define wxUSE_NATIVE_SEARCH_CONTROL 0
|
|
|
|
|
2011-08-27 08:13:23 -04:00
|
|
|
#include "wx/compositewin.h"
|
2011-07-24 18:19:23 -04:00
|
|
|
#include "wx/containr.h"
|
|
|
|
|
|
|
|
class WXDLLIMPEXP_CORE wxSearchCtrlBaseBaseClass
|
2011-08-27 08:13:23 -04:00
|
|
|
: public wxCompositeWindow< wxNavigationEnabled<wxControl> >,
|
2011-07-24 18:19:23 -04:00
|
|
|
public wxTextCtrlIface
|
2007-09-25 20:30:22 -04:00
|
|
|
{
|
|
|
|
};
|
2006-12-11 08:48:18 -05:00
|
|
|
#endif
|
|
|
|
|
2006-12-11 01:19:27 -05:00
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// constants
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
2008-03-26 11:06:00 -04:00
|
|
|
extern WXDLLIMPEXP_DATA_CORE(const char) wxSearchCtrlNameStr[];
|
2006-12-11 01:19:27 -05:00
|
|
|
|
2009-02-07 13:59:25 -05:00
|
|
|
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, wxCommandEvent);
|
|
|
|
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, wxCommandEvent);
|
2006-12-11 01:19:27 -05:00
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// 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
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
2008-03-26 11:06:00 -04:00
|
|
|
class WXDLLIMPEXP_CORE wxSearchCtrlBase : public wxSearchCtrlBaseBaseClass
|
2006-12-11 08:48:18 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxSearchCtrlBase() { }
|
|
|
|
virtual ~wxSearchCtrlBase() { }
|
|
|
|
|
2007-05-05 10:48:20 -04:00
|
|
|
// search control
|
|
|
|
#if wxUSE_MENUS
|
2006-12-11 08:48:18 -05:00
|
|
|
virtual void SetMenu(wxMenu *menu) = 0;
|
|
|
|
virtual wxMenu *GetMenu() = 0;
|
2007-05-05 10:48:20 -04:00
|
|
|
#endif // wxUSE_MENUS
|
2006-12-11 08:48:18 -05:00
|
|
|
|
|
|
|
// get/set options
|
|
|
|
virtual void ShowSearchButton( bool show ) = 0;
|
|
|
|
virtual bool IsSearchButtonVisible() const = 0;
|
2006-12-11 01:19:27 -05:00
|
|
|
|
2006-12-11 08:48:18 -05:00
|
|
|
virtual void ShowCancelButton( bool show ) = 0;
|
|
|
|
virtual bool IsCancelButtonVisible() const = 0;
|
2009-03-02 07:25:01 -05:00
|
|
|
|
|
|
|
private:
|
|
|
|
// implement wxTextEntry pure virtual method
|
|
|
|
virtual wxWindow *GetEditableWindow() { return this; }
|
2006-12-11 08:48:18 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// include the platform-dependent class implementation
|
2006-12-11 07:57:35 -05:00
|
|
|
#if wxUSE_NATIVE_SEARCH_CONTROL
|
2006-12-11 01:19:27 -05:00
|
|
|
#if defined(__WXMAC__)
|
2008-06-11 15:17:41 -04:00
|
|
|
#include "wx/osx/srchctrl.h"
|
2006-12-11 01:19:27 -05:00
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
#include "wx/generic/srchctlg.h"
|
|
|
|
#endif
|
|
|
|
|
2006-12-11 07:57:35 -05:00
|
|
|
// ----------------------------------------------------------------------------
|
2006-12-11 01:19:27 -05:00
|
|
|
// macros for handling search events
|
2006-12-11 07:57:35 -05:00
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
2006-12-11 15:32:16 -05:00
|
|
|
#define EVT_SEARCHCTRL_CANCEL_BTN(id, fn) \
|
|
|
|
wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, id, wxCommandEventHandler(fn))
|
2006-12-11 01:19:27 -05:00
|
|
|
|
2006-12-11 15:32:16 -05:00
|
|
|
#define EVT_SEARCHCTRL_SEARCH_BTN(id, fn) \
|
|
|
|
wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, id, wxCommandEventHandler(fn))
|
2006-12-11 01:19:27 -05:00
|
|
|
|
|
|
|
#endif // wxUSE_SEARCHCTRL
|
|
|
|
|
|
|
|
#endif // _WX_SEARCHCTRL_H_BASE_
|