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