2001-02-08 18:57:23 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/tglbtn.h
|
|
|
|
// Purpose: This dummy header includes the proper header file for the
|
|
|
|
// system we're compiling under.
|
|
|
|
// Author: John Norris, minor changes by Axel Schlueter
|
|
|
|
// Modified by:
|
|
|
|
// Created: 08.02.01
|
|
|
|
// Copyright: (c) 2000 Johnny C. Norris II
|
2010-07-13 13:29:13 +00:00
|
|
|
// Licence: wxWindows Licence
|
2001-02-08 18:57:23 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_TOGGLEBUTTON_H_BASE_
|
|
|
|
#define _WX_TOGGLEBUTTON_H_BASE_
|
|
|
|
|
|
|
|
#include "wx/defs.h"
|
|
|
|
|
|
|
|
#if wxUSE_TOGGLEBTN
|
|
|
|
|
|
|
|
#include "wx/event.h"
|
2011-06-14 13:00:42 +00:00
|
|
|
#include "wx/anybutton.h" // base class
|
2001-02-08 18:57:23 +00:00
|
|
|
|
2011-02-22 13:25:30 +00:00
|
|
|
extern WXDLLIMPEXP_DATA_CORE(const char) wxCheckBoxNameStr[];
|
|
|
|
|
2013-04-25 10:11:03 +00:00
|
|
|
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_TOGGLEBUTTON, wxCommandEvent );
|
2001-02-08 18:57:23 +00:00
|
|
|
|
2007-12-08 10:36:59 +00:00
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxToggleButtonBase
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
2011-06-14 13:00:42 +00:00
|
|
|
class WXDLLIMPEXP_CORE wxToggleButtonBase : public wxAnyButton
|
2007-12-08 10:36:59 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxToggleButtonBase() { }
|
|
|
|
|
|
|
|
// Get/set the value
|
|
|
|
virtual void SetValue(bool state) = 0;
|
|
|
|
virtual bool GetValue() const = 0;
|
|
|
|
|
2015-05-09 17:22:28 +00:00
|
|
|
// The current "normal" state for the toggle button depends upon its value.
|
|
|
|
virtual State GetNormalState() const wxOVERRIDE
|
|
|
|
{
|
|
|
|
return GetValue() ? State_Pressed : State_Normal;
|
|
|
|
}
|
|
|
|
|
2014-03-30 00:02:23 +00:00
|
|
|
void UpdateWindowUI(long flags) wxOVERRIDE
|
2007-12-08 10:36:59 +00:00
|
|
|
{
|
|
|
|
wxControl::UpdateWindowUI(flags);
|
|
|
|
|
|
|
|
if ( !IsShown() )
|
|
|
|
return;
|
|
|
|
|
|
|
|
wxWindow *tlw = wxGetTopLevelParent( this );
|
|
|
|
if (tlw && wxPendingDelete.Member( tlw ))
|
|
|
|
return;
|
|
|
|
|
|
|
|
wxUpdateUIEvent event( GetId() );
|
|
|
|
event.SetEventObject(this);
|
|
|
|
|
|
|
|
if (GetEventHandler()->ProcessEvent(event) )
|
|
|
|
{
|
|
|
|
if ( event.GetSetChecked() )
|
|
|
|
SetValue( event.GetChecked() );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
protected:
|
2009-02-08 11:45:59 +00:00
|
|
|
wxDECLARE_NO_COPY_CLASS(wxToggleButtonBase);
|
2007-12-08 10:36:59 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2005-02-14 23:53:48 +00:00
|
|
|
#define EVT_TOGGLEBUTTON(id, fn) \
|
2013-04-25 10:11:03 +00:00
|
|
|
wx__DECLARE_EVT1(wxEVT_TOGGLEBUTTON, id, wxCommandEventHandler(fn))
|
2001-02-08 18:57:23 +00:00
|
|
|
|
2006-05-23 17:53:50 +00:00
|
|
|
#if defined(__WXUNIVERSAL__)
|
|
|
|
#include "wx/univ/tglbtn.h"
|
|
|
|
#elif defined(__WXMSW__)
|
2001-02-08 18:57:23 +00:00
|
|
|
#include "wx/msw/tglbtn.h"
|
2010-10-01 13:05:36 +00:00
|
|
|
#define wxHAS_BITMAPTOGGLEBUTTON
|
2006-01-23 03:27:34 +00:00
|
|
|
#elif defined(__WXGTK20__)
|
2001-02-08 18:57:23 +00:00
|
|
|
#include "wx/gtk/tglbtn.h"
|
2010-10-01 13:05:36 +00:00
|
|
|
#define wxHAS_BITMAPTOGGLEBUTTON
|
2006-01-23 03:27:34 +00:00
|
|
|
#elif defined(__WXGTK__)
|
|
|
|
#include "wx/gtk1/tglbtn.h"
|
2001-02-08 18:57:23 +00:00
|
|
|
# elif defined(__WXMOTIF__)
|
2003-02-12 18:20:23 +00:00
|
|
|
#include "wx/motif/tglbtn.h"
|
2004-02-21 16:38:23 +00:00
|
|
|
#elif defined(__WXMAC__)
|
2008-06-11 19:17:41 +00:00
|
|
|
#include "wx/osx/tglbtn.h"
|
2010-10-01 13:05:36 +00:00
|
|
|
#define wxHAS_BITMAPTOGGLEBUTTON
|
2014-08-24 01:50:11 +00:00
|
|
|
#elif defined(__WXQT__)
|
|
|
|
#include "wx/qt/tglbtn.h"
|
2001-02-08 18:57:23 +00:00
|
|
|
#endif
|
|
|
|
|
2013-04-25 10:11:03 +00:00
|
|
|
// old wxEVT_COMMAND_* constants
|
|
|
|
#define wxEVT_COMMAND_TOGGLEBUTTON_CLICKED wxEVT_TOGGLEBUTTON
|
|
|
|
|
2001-02-08 18:57:23 +00:00
|
|
|
#endif // wxUSE_TOGGLEBTN
|
|
|
|
|
|
|
|
#endif // _WX_TOGGLEBUTTON_H_BASE_
|
|
|
|
|