applied (slightly modified) wxToggleButton patch from John Norris and Axel Schlueter
[wxWidgets.git] / include / wx / msw / tglbtn.h
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
6 // Modified by:
7 // Created: 08.02.01
8 // RCS-ID: $Id$
9 // Copyright: (c) 2000 Johnny C. Norris II
10 // License: Rocketeer license
11 /////////////////////////////////////////////////////////////////////////////
12
13 #ifndef _WX_TOGGLEBUTTON_H_
14 #define _WX_TOGGLEBUTTON_H_
15
16 WXDLLEXPORT_DATA(extern const wxChar*) wxCheckBoxNameStr;
17
18 // Checkbox item (single checkbox)
19 class WXDLLEXPORT wxToggleButton : public wxControl
20 {
21 public:
22 wxToggleButton() {}
23 wxToggleButton(wxWindow *parent,
24 wxWindowID id,
25 const wxString& label,
26 const wxPoint& pos = wxDefaultPosition,
27 const wxSize& size = wxDefaultSize,
28 long style = 0,
29 const wxValidator& validator = wxDefaultValidator,
30 const wxString& name = wxCheckBoxNameStr)
31 {
32 Create(parent, id, label, pos, size, style, validator, name);
33 }
34
35 bool Create(wxWindow *parent,
36 wxWindowID id,
37 const wxString& label,
38 const wxPoint& pos = wxDefaultPosition,
39 const wxSize& size = wxDefaultSize,
40 long style = 0,
41 const wxValidator& validator = wxDefaultValidator,
42 const wxString& name = wxCheckBoxNameStr);
43
44 virtual void SetValue(bool value);
45 virtual bool GetValue() const ;
46
47 virtual bool MSWCommand(WXUINT param, WXWORD id);
48 virtual void SetLabel(const wxString& label);
49 virtual void Command(wxCommandEvent& event);
50
51 protected:
52 virtual wxSize DoGetBestSize() const;
53
54 private:
55 DECLARE_DYNAMIC_CLASS(wxToggleButton)
56 };
57
58 #endif // _WX_TOGGLEBUTTON_H_
59