]> git.saurik.com Git - wxWidgets.git/blob - interface/wx/tglbtn.h
Must clear property selection in wxPGProperty::SetChoices() or risk a crash
[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 license
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 wxControl
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
110 that contains a bitmap instead of text.
111
112 This control emits an update UI event.
113
114 @beginEventEmissionTable{wxCommandEvent}
115 @event{EVT_TOGGLEBUTTON(id, func)}
116 Handles a toggle button click event.
117 @endEventTable
118
119 @library{wxcore}
120 @category{ctrl}
121 @appearance{bitmaptogglebutton.png}
122 */
123 class wxBitmapToggleButton : public wxControl
124 {
125 public:
126 /**
127 Default constructor.
128 */
129 wxBitmapToggleButton();
130
131 /**
132 Constructor, creating and showing a toggle button with the bitmap @e label.
133 Internally calls Create().
134 */
135 wxBitmapToggleButton(wxWindow* parent, wxWindowID id,
136 const wxBitmap& label,
137 const wxPoint& pos = wxDefaultPosition,
138 const wxSize& size = wxDefaultSize,
139 long style = 0,
140 const wxValidator& val = wxDefaultValidator,
141 const wxString& name = wxCheckBoxNameStr);
142
143 /**
144 Create method for two-step construction.
145 */
146 bool Create(wxWindow* parent, wxWindowID id,
147 const wxBitmap& label,
148 const wxPoint& pos = wxDefaultPosition,
149 const wxSize& size = wxDefaultSize,
150 long style = 0,
151 const wxValidator& val = wxDefaultValidator,
152 const wxString& name = wxCheckBoxNameStr);
153
154 /**
155 Gets the state of the toggle button.
156
157 @return Returns @true if it is pressed, @false otherwise.
158 */
159 virtual bool GetValue() const;
160
161 /**
162 Sets the toggle button to the given state.
163 This does not cause a @c EVT_TOGGLEBUTTON event to be emitted.
164
165 @param state
166 If @true, the button is pressed.
167 */
168 virtual void SetValue(bool state);
169 };
170