]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/stattext.h
added a @todo about references to old wx functions
[wxWidgets.git] / interface / wx / stattext.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: stattext.h
e54c96f1 3// Purpose: interface of wxStaticText
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxStaticText
7c913512 11
23324ae1 12 A static text control displays one or more lines of read-only text.
7c913512 13
23324ae1 14 @beginStyleTable
8c6791e4 15 @style{wxALIGN_LEFT}
23324ae1 16 Align the text to the left
8c6791e4 17 @style{wxALIGN_RIGHT}
23324ae1 18 Align the text to the right
8c6791e4 19 @style{wxALIGN_CENTRE}
23324ae1 20 Center the text (horizontally)
8c6791e4 21 @style{wxST_NO_AUTORESIZE}
23324ae1
FM
22 By default, the control will adjust its size to exactly fit to the
23 size of the text when SetLabel is called. If this style flag is
24 given, the control will not change its size (this style is
25 especially useful with controls which also have wxALIGN_RIGHT or
26 CENTER style because otherwise they won't make sense any longer
27 after a call to SetLabel)
8c6791e4 28 @style{wxST_ELLIPSIZE_START}
23324ae1
FM
29 If the text width exceeds the control width, replace the beginning
30 of the text with an ellipsis
8c6791e4 31 @style{wxST_ELLIPSIZE_MIDDLE}
23324ae1
FM
32 Same as above, but replace the text in the middle of the control
33 with an ellipsis
8c6791e4 34 @style{wxST_ELLIPSIZE_END}
23324ae1 35 Same as above, but replace the end of the text with an ellipsis
8c6791e4 36 @style{wxST_MARKUP}
23324ae1
FM
37 Support markup in the label; see SetLabel for more information
38 @endStyleTable
7c913512 39
23324ae1
FM
40 @library{wxcore}
41 @category{ctrl}
7e59b885 42 @appearance{statictext.png}
7c913512 43
e54c96f1 44 @see wxStaticBitmap, wxStaticBox
23324ae1
FM
45*/
46class wxStaticText : public wxControl
47{
48public:
671600d8
RR
49 /**
50 Default constructor.
51 */
52 wxStaticText();
4701dc09 53
23324ae1
FM
54 /**
55 Constructor, creating and showing a text control.
3c4f71cc 56
7c913512 57 @param parent
4cc4bfaf 58 Parent window. Should not be @NULL.
7c913512 59 @param id
4cc4bfaf 60 Control identifier. A value of -1 denotes a default value.
7c913512 61 @param label
4cc4bfaf 62 Text label.
7c913512 63 @param pos
4cc4bfaf 64 Window position.
7c913512 65 @param size
4cc4bfaf 66 Window size.
7c913512 67 @param style
4cc4bfaf 68 Window style. See wxStaticText.
7c913512 69 @param name
4cc4bfaf 70 Window name.
3c4f71cc 71
4cc4bfaf 72 @see Create()
23324ae1 73 */
7c913512
FM
74 wxStaticText(wxWindow* parent, wxWindowID id,
75 const wxString& label,
76 const wxPoint& pos = wxDefaultPosition,
77 const wxSize& size = wxDefaultSize,
78 long style = 0,
11e3af6e 79 const wxString& name = wxStaticTextNameStr);
23324ae1
FM
80
81 /**
82 Creation function, for two-step construction. For details see wxStaticText().
83 */
43c48e1e 84 bool Create(wxWindow* parent, wxWindowID id, const wxString& label,
23324ae1 85 const wxPoint& pos = wxDefaultPosition,
43c48e1e
FM
86 const wxSize& size = wxDefaultSize, long style = 0,
87 const wxString& name = wxStaticTextNameStr);
23324ae1
FM
88
89 /**
90 Returns the contents of the control.
4701dc09
FM
91
92 Note that the returned string contains both the mnemonics (@& characters),
23324ae1 93 if any, and markup tags, if any.
4701dc09 94 Use GetLabelText() if only the label text is needed.
23324ae1 95 */
328f5751 96 wxString GetLabel() const;
23324ae1 97
23324ae1 98 /**
4701dc09
FM
99 This method returns the control's label without the mnemonics characters
100 (if any) and without the markup (if the control has @c wxST_MARKUP style).
101 */
102 wxString GetLabelText() const;
103
104 /**
105 This overload returns the given @a label string without the
106 mnemonics characters (if any) and without the markup.
23324ae1 107 */
4701dc09 108 static wxString GetLabelText(const wxString& label);
23324ae1
FM
109
110 /**
111 Sets the static text label and updates the controls size to exactly fit the
112 label unless the control has wxST_NO_AUTORESIZE flag.
4701dc09 113
23324ae1
FM
114 This function allows to set decorated static label text on platforms which
115 support it (currently only GTK+ 2). For the other platforms, the markup is
116 ignored.
4701dc09 117
23324ae1 118 The supported tags are:
3f5506cf
RR
119 <TABLE>
120 <TR>
121 <TD>&lt;b&gt;</TD>
122 <TD>bold text</TD>
123 </TR>
124 <TR>
125 <TD>&lt;big&gt;</TD>
126 <TD>bigger text</TD>
127 </TR>
128 <TR>
129 <TD>&lt;i&gt;</TD>
130 <TD>italic text</TD>
131 </TR>
132 <TR>
133 <TD>&lt;s&gt;</TD>
134 <TD>strike-through text</TD>
135 </TR>
136 <TR>
137 <TD>&lt;sub&gt;</TD>
138 <TD>subscript text</TD>
139 </TR>
140 <TR>
141 <TD>&lt;sup&gt;</TD>
142 <TD>superscript text</TD>
143 </TR>
144 <TR>
145 <TD>&lt;small&gt;</TD>
146 <TD>smaller text</TD>
147 </TR>
148 <TR>
149 <TD>&lt;tt&gt;</TD>
150 <TD>monospaced text</TD>
151 </TR>
152 <TR>
153 <TD>&lt;u&gt;</TD>
154 <TD>underlined text</TD>
155 </TR>
156 <TR>
157 <TD>&lt;span&gt;</TD>
4701dc09
FM
158 <TD>generic formatter tag; see Pango Markup
159 (http://library.gnome.org/devel/pango/unstable/PangoMarkupFormat.html)
160 for more information.</TD>
3f5506cf
RR
161 </TR>
162 </TABLE>
3c4f71cc 163
23324ae1 164 Note that the string must be well-formed (e.g. all tags must be correctly
4701dc09 165 closed) otherwise it can be not shown correctly or at all.
23324ae1 166 Also note that you need to escape the following special characters:
4701dc09 167
3f5506cf
RR
168 <TABLE>
169 <TR>
170 <TD>@b Special character</TD>
171 <TD>@b Escape as</TD>
172 </TR>
173 <TR>
174 <TD>@c &amp;</TD>
175 <TD>@c &amp;amp; or as &amp;&amp;</TD>
176 </TR>
177 <TR>
178 <TD>@c &apos;</TD>
179 <TD>@c &amp;apos;</TD>
180 </TR>
181 <TR>
182 <TD>@c &quot;</TD>
183 <TD>@c &amp;quot;</TD>
184 </TR>
185 <TR>
186 <TD>@c &lt;</TD>
187 <TD>@c &amp;lt;</TD>
188 </TR>
189 <TR>
190 <TD>@c &gt;</TD>
191 <TD>@c &amp;gt;</TD>
192 </TR>
193 </TABLE>
4701dc09 194
3f5506cf 195 The non-escaped ampersand @c &amp; characters are interpreted as
23324ae1 196 mnemonics; see wxControl::SetLabel.
3c4f71cc 197
23324ae1 198 Example:
3c4f71cc 199
7c913512 200 @param label
4701dc09
FM
201 The new label to set.
202 It may contain newline characters and the markup tags described above.
23324ae1
FM
203 */
204 virtual void SetLabel(const wxString& label);
205
206 /**
207 This functions wraps the controls label so that each of its lines becomes at
4cc4bfaf 208 most @a width pixels wide if possible (the lines are broken at words
4701dc09
FM
209 boundaries so it might not be the case if words are too long).
210
211 If @a width is negative, no wrapping is done. Note that this width is not
cd3eb0f7
SN
212 necessarily the total width of the control, since a few pixels for the
213 border (depending on the controls border style) may be added.
3c4f71cc 214
1e24c2af 215 @since 2.6.2
23324ae1
FM
216 */
217 void Wrap(int width);
218};
e54c96f1 219