XRC: make wxStaticText's wrap property a dimension.
[wxWidgets.git] / interface / wx / anybutton.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: anybutton.h
3 // Purpose: interface of wxAnyButton
4 // Author: wxWidgets team
5 // Licence: wxWindows licence
6 /////////////////////////////////////////////////////////////////////////////
7
8 #define wxBU_LEFT 0x0040
9 #define wxBU_TOP 0x0080
10 #define wxBU_RIGHT 0x0100
11 #define wxBU_BOTTOM 0x0200
12 #define wxBU_ALIGN_MASK ( wxBU_LEFT | wxBU_TOP | wxBU_RIGHT | wxBU_BOTTOM )
13
14 #define wxBU_EXACTFIT 0x0001
15 #define wxBU_NOTEXT 0x0002
16 #define wxBU_AUTODRAW 0x0004
17
18
19 /**
20 @class wxAnyButton
21
22 A class for common button functionality used as the base for the
23 various button classes.
24 */
25 class wxAnyButton : public wxControl
26 {
27 public:
28 wxAnyButton();
29 ~wxAnyButton();
30
31 /**
32 Return the bitmap shown by the button.
33
34 The returned bitmap may be invalid only if the button doesn't show any
35 images.
36
37 @see SetBitmap()
38
39 @since 2.9.1
40 */
41 wxBitmap GetBitmap() const;
42
43 /**
44 Returns the bitmap used when the mouse is over the button, which may be
45 invalid.
46
47 @see SetBitmapCurrent()
48
49 @since 2.9.1 (available as wxBitmapButton::GetBitmapHover() in previous
50 versions)
51 */
52 wxBitmap GetBitmapCurrent() const;
53
54 /**
55 Returns the bitmap for the disabled state, which may be invalid.
56
57 @see SetBitmapDisabled()
58
59 @since 2.9.1 (available in wxBitmapButton only in previous versions)
60 */
61 wxBitmap GetBitmapDisabled() const;
62
63 /**
64 Returns the bitmap for the focused state, which may be invalid.
65
66 @see SetBitmapFocus()
67
68 @since 2.9.1 (available in wxBitmapButton only in previous versions)
69 */
70 wxBitmap GetBitmapFocus() const;
71
72 /**
73 Returns the bitmap for the normal state.
74
75 This is exactly the same as GetBitmap() but uses a name
76 backwards-compatible with wxBitmapButton.
77
78 @see SetBitmap(), SetBitmapLabel()
79
80 @since 2.9.1 (available in wxBitmapButton only in previous versions)
81 */
82 wxBitmap GetBitmapLabel() const;
83
84 /**
85 Returns the bitmap for the pressed state, which may be invalid.
86
87 @see SetBitmapPressed()
88
89 @since 2.9.1 (available as wxBitmapButton::GetBitmapSelected() in
90 previous versions)
91 */
92 wxBitmap GetBitmapPressed() const;
93
94
95 /**
96 Sets the bitmap to display in the button.
97
98 The bitmap is displayed together with the button label. This method
99 sets up a single bitmap which is used in all button states, use
100 SetBitmapDisabled(), SetBitmapPressed(), SetBitmapCurrent() or
101 SetBitmapFocus() to change the individual images used in different
102 states.
103
104 @param bitmap
105 The bitmap to display in the button. Under wxGTK the bitmap can be
106 invalid to remove the currently displayed bitmap, however this is
107 not supported in wxMSW currently.
108 @param dir
109 The position of the bitmap inside the button. By default it is
110 positioned to the left of the text, near to the left button border.
111 Other possible values include wxRIGHT, wxTOP and wxBOTTOM.
112
113 @see SetBitmapPosition(), SetBitmapMargins()
114
115 @since 2.9.1
116 */
117 void SetBitmap(const wxBitmap& bitmap, wxDirection dir = wxLEFT);
118
119 /**
120 Sets the bitmap to be shown when the mouse is over the button.
121
122 @see GetBitmapCurrent()
123
124 @since 2.9.1 (available as wxBitmapButton::SetBitmapHover() in previous
125 versions)
126 */
127 void SetBitmapCurrent(const wxBitmap& bitmap);
128
129 /**
130 Sets the bitmap for the disabled button appearance.
131
132 @see GetBitmapDisabled(), SetBitmapLabel(),
133 SetBitmapPressed(), SetBitmapFocus()
134
135 @since 2.9.1 (available in wxBitmapButton only in previous versions)
136 */
137 void SetBitmapDisabled(const wxBitmap& bitmap);
138
139 /**
140 Sets the bitmap for the button appearance when it has the keyboard
141 focus.
142
143 @see GetBitmapFocus(), SetBitmapLabel(),
144 SetBitmapPressed(), SetBitmapDisabled()
145
146 @since 2.9.1 (available in wxBitmapButton only in previous versions)
147 */
148 void SetBitmapFocus(const wxBitmap& bitmap);
149
150 /**
151 Sets the bitmap label for the button.
152
153 @remarks This is the bitmap used for the unselected state, and for all
154 other states if no other bitmaps are provided.
155
156 @see SetBitmap(), GetBitmapLabel()
157
158 @since 2.9.1 (available in wxBitmapButton only in previous versions)
159 */
160 void SetBitmapLabel(const wxBitmap& bitmap);
161
162 /**
163 Sets the bitmap for the selected (depressed) button appearance.
164
165 @since 2.9.1 (available as wxBitmapButton::SetBitmapSelected() in
166 previous versions)
167 */
168 void SetBitmapPressed(const wxBitmap& bitmap);
169
170
171 /**
172 Get the margins between the bitmap and the text of the button.
173
174 @see SetBitmapMargins()
175
176 @since 2.9.1
177 */
178 wxSize GetBitmapMargins();
179
180 /**
181 Set the margins between the bitmap and the text of the button.
182
183 This method is currently only implemented under MSW. If it is not
184 called, default margin is used around the bitmap.
185
186 @see SetBitmap(), SetBitmapPosition()
187
188 @since 2.9.1
189 */
190 //@{
191 void SetBitmapMargins(wxCoord x, wxCoord y);
192 void SetBitmapMargins(const wxSize& sz);
193 //@}
194
195 /**
196 Set the position at which the bitmap is displayed.
197
198 This method should only be called if the button does have an associated
199 bitmap.
200
201 @since 2.9.1
202
203 @param dir
204 Direction in which the bitmap should be positioned, one of wxLEFT,
205 wxRIGHT, wxTOP or wxBOTTOM.
206 */
207 void SetBitmapPosition(wxDirection dir);
208 };
209