]> git.saurik.com Git - wxWidgets.git/blob - interface/wx/tglbtn.h
Complete wxEVT_MENU_{OPEN,CLOSE} implementation in wxMSW and wxOSX.
[wxWidgets.git] / interface / wx / tglbtn.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: tglbtn.h
3 // Purpose: interface of wxBitmapToggleButton, wxToggleButton
4 // Author: wxWidgets team
5 // RCS-ID: $Id$
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
8
9
10 /**
11 @class wxToggleButton
12
13 wxToggleButton is a button that stays pressed when clicked by the user.
14 In other words, it is similar to wxCheckBox in functionality but looks like a wxButton.
15
16 Since wxWidgets version 2.9.0 this control emits an update UI event.
17
18 You can see wxToggleButton in action in @ref page_samples_controls.
19
20 @beginEventEmissionTable{wxCommandEvent}
21 @event{EVT_TOGGLEBUTTON(id, func)}
22 Handles a toggle button click event.
23 @endEventTable
24
25 @library{wxcore}
26 @category{ctrl}
27 @appearance{togglebutton.png}
28
29 @see wxCheckBox, wxButton, wxBitmapToggleButton
30 */
31 class wxToggleButton : public wxAnyButton
32 {
33 public:
34 /**
35 Default constructor.
36 */
37 wxToggleButton();
38
39 /**
40 Constructor, creating and showing a toggle button.
41
42 @param parent
43 Parent window. Must not be @NULL.
44 @param id
45 Toggle button identifier. The value wxID_ANY indicates a default value.
46 @param label
47 Text to be displayed next to the toggle button.
48 @param pos
49 Toggle button position.
50 If ::wxDefaultPosition is specified then a default position is chosen.
51 @param size
52 Toggle button size.
53 If ::wxDefaultSize is specified then a default size is chosen.
54 @param style
55 Window style. See wxToggleButton.
56 @param val
57 Window validator.
58 @param name
59 Window name.
60
61 @see Create(), wxValidator
62 */
63 wxToggleButton(wxWindow* parent, wxWindowID id,
64 const wxString& label,
65 const wxPoint& pos = wxDefaultPosition,
66 const wxSize& size = wxDefaultSize,
67 long style = 0,
68 const wxValidator& val = wxDefaultValidator,
69 const wxString& name = wxCheckBoxNameStr);
70
71 /**
72 Destructor, destroying the toggle button.
73 */
74 virtual ~wxToggleButton();
75
76 /**
77 Creates the toggle button for two-step construction.
78 See wxToggleButton() for details.
79 */
80 bool Create(wxWindow* parent, wxWindowID id,
81 const wxString& label,
82 const wxPoint& pos = wxDefaultPosition,
83 const wxSize& size = wxDefaultSize,
84 long style = 0,
85 const wxValidator& val = wxDefaultValidator,
86 const wxString& name = wxCheckBoxNameStr);
87
88 /**
89 Gets the state of the toggle button.
90
91 @return Returns @true if it is pressed, @false otherwise.
92 */
93 virtual bool GetValue() const;
94
95 /**
96 Sets the toggle button to the given state.
97 This does not cause a @c EVT_TOGGLEBUTTON event to be emitted.
98
99 @param state
100 If @true, the button is pressed.
101 */
102 virtual void SetValue(bool state);
103 };
104
105
106 /**
107 @class wxBitmapToggleButton
108
109 wxBitmapToggleButton is a wxToggleButton that contains a bitmap instead of
110 text.
111
112 This class is not available in all ports currently (although it is
113 available in the major ones), test for @c wxHAS_BITMAPTOGGLEBUTTON to
114 determine whether it can be used (in addition for possibly testing for
115 @c wxUSE_TOGGLEBTN which can be set to 0 to explicitly disable support for
116 this class and wxToggleButton).
117
118 This control emits an update UI event.
119
120 @beginEventEmissionTable{wxCommandEvent}
121 @event{EVT_TOGGLEBUTTON(id, func)}
122 Handles a toggle button click event.
123 @endEventTable
124
125 @library{wxcore}
126 @category{ctrl}
127 @appearance{bitmaptogglebutton.png}
128 */
129 class wxBitmapToggleButton : public wxToggleButton
130 {
131 public:
132 /**
133 Default constructor.
134 */
135 wxBitmapToggleButton();
136
137 /**
138 Constructor, creating and showing a toggle button with the bitmap @e label.
139 Internally calls Create().
140 */
141 wxBitmapToggleButton(wxWindow* parent, wxWindowID id,
142 const wxBitmap& label,
143 const wxPoint& pos = wxDefaultPosition,
144 const wxSize& size = wxDefaultSize,
145 long style = 0,
146 const wxValidator& val = wxDefaultValidator,
147 const wxString& name = wxCheckBoxNameStr);
148
149 /**
150 Create method for two-step construction.
151 */
152 bool Create(wxWindow* parent, wxWindowID id,
153 const wxBitmap& label,
154 const wxPoint& pos = wxDefaultPosition,
155 const wxSize& size = wxDefaultSize,
156 long style = 0,
157 const wxValidator& val = wxDefaultValidator,
158 const wxString& name = wxCheckBoxNameStr);
159
160 /**
161 Gets the state of the toggle button.
162
163 @return Returns @true if it is pressed, @false otherwise.
164 */
165 virtual bool GetValue() const;
166
167 /**
168 Sets the toggle button to the given state.
169 This does not cause a @c EVT_TOGGLEBUTTON event to be emitted.
170
171 @param state
172 If @true, the button is pressed.
173 */
174 virtual void SetValue(bool state);
175 };
176