1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/tglbtn.h
3 // Purpose: Declaration of the wxToggleButton class, which implements a
4 // toggle button under wxMSW.
5 // Author: John Norris, minor changes by Axel Schlueter
9 // Copyright: (c) 2000 Johnny C. Norris II
10 // Licence: wxWindows licence
11 /////////////////////////////////////////////////////////////////////////////
13 #ifndef _WX_TOGGLEBUTTON_H_
14 #define _WX_TOGGLEBUTTON_H_
16 #include "wx/bitmap.h"
18 // Checkbox item (single checkbox)
19 class WXDLLIMPEXP_CORE wxToggleButton
: public wxToggleButtonBase
22 wxToggleButton() { Init(); }
23 wxToggleButton(wxWindow
*parent
,
25 const wxString
& label
,
26 const wxPoint
& pos
= wxDefaultPosition
,
27 const wxSize
& size
= wxDefaultSize
,
29 const wxValidator
& validator
= wxDefaultValidator
,
30 const wxString
& name
= wxCheckBoxNameStr
)
32 Create(parent
, id
, label
, pos
, size
, style
, validator
, name
);
35 bool Create(wxWindow
*parent
,
37 const wxString
& label
,
38 const wxPoint
& pos
= wxDefaultPosition
,
39 const wxSize
& size
= wxDefaultSize
,
41 const wxValidator
& validator
= wxDefaultValidator
,
42 const wxString
& name
= wxCheckBoxNameStr
);
44 virtual void SetValue(bool value
);
45 virtual bool GetValue() const ;
47 virtual bool MSWCommand(WXUINT param
, WXWORD id
);
48 virtual void Command(wxCommandEvent
& event
);
50 virtual State
GetNormalState() const;
52 // returns true if the platform should explicitly apply a theme border
53 virtual bool CanApplyThemeBorder() const { return false; }
56 virtual wxBorder
GetDefaultBorder() const { return wxBORDER_NONE
; }
58 virtual WXDWORD
MSWGetStyle(long flags
, WXDWORD
*exstyle
= NULL
) const;
62 // current state of the button (when owner-drawn)
66 DECLARE_DYNAMIC_CLASS_NO_COPY(wxToggleButton
)
69 //-----------------------------------------------------------------------------
70 // wxBitmapToggleButton
71 //-----------------------------------------------------------------------------
74 class WXDLLIMPEXP_CORE wxBitmapToggleButton
: public wxToggleButton
77 // construction/destruction
78 wxBitmapToggleButton() {}
79 wxBitmapToggleButton(wxWindow
*parent
,
81 const wxBitmap
& label
,
82 const wxPoint
& pos
= wxDefaultPosition
,
83 const wxSize
& size
= wxDefaultSize
,
85 const wxValidator
& validator
= wxDefaultValidator
,
86 const wxString
& name
= wxCheckBoxNameStr
)
88 Create(parent
, id
, label
, pos
, size
, style
, validator
, name
);
92 bool Create(wxWindow
*parent
,
94 const wxBitmap
& label
,
95 const wxPoint
& pos
= wxDefaultPosition
,
96 const wxSize
& size
= wxDefaultSize
, long style
= 0,
97 const wxValidator
& validator
= wxDefaultValidator
,
98 const wxString
& name
= wxCheckBoxNameStr
);
100 // deprecated synonym for SetBitmapLabel()
101 wxDEPRECATED_INLINE( void SetLabel(const wxBitmap
& bitmap
),
102 SetBitmapLabel(bitmap
); )
103 // prevent virtual function hiding
104 virtual void SetLabel(const wxString
& label
) { wxToggleButton::SetLabel(label
); }
107 DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton
)
110 #endif // _WX_TOGGLEBUTTON_H_