2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: stattext.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxStaticText
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxStaticText
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
A static text control displays one or more lines of read-only text.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@beginStyleTable
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxALIGN_LEFT}
|
2008-03-08 08:52:38 -05:00
|
|
|
Align the text to the left
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxALIGN_RIGHT}
|
2008-03-08 08:52:38 -05:00
|
|
|
Align the text to the right
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxALIGN_CENTRE}
|
2008-03-08 08:52:38 -05:00
|
|
|
Center the text (horizontally)
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxST_NO_AUTORESIZE}
|
2008-03-08 08:52:38 -05:00
|
|
|
By default, the control will adjust its size to exactly fit to the
|
|
|
|
size of the text when SetLabel is called. If this style flag is
|
|
|
|
given, the control will not change its size (this style is
|
|
|
|
especially useful with controls which also have wxALIGN_RIGHT or
|
|
|
|
CENTER style because otherwise they won't make sense any longer
|
|
|
|
after a call to SetLabel)
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxST_ELLIPSIZE_START}
|
2008-03-08 08:52:38 -05:00
|
|
|
If the text width exceeds the control width, replace the beginning
|
|
|
|
of the text with an ellipsis
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxST_ELLIPSIZE_MIDDLE}
|
2008-03-08 08:52:38 -05:00
|
|
|
Same as above, but replace the text in the middle of the control
|
|
|
|
with an ellipsis
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxST_ELLIPSIZE_END}
|
2008-03-08 08:52:38 -05:00
|
|
|
Same as above, but replace the end of the text with an ellipsis
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxST_MARKUP}
|
2008-03-08 08:52:38 -05:00
|
|
|
Support markup in the label; see SetLabel for more information
|
|
|
|
@endStyleTable
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
|
|
|
@category{ctrl}
|
2008-05-02 00:52:42 -04:00
|
|
|
<!-- @appearance{statictext.png} -->
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-10 11:24:38 -04:00
|
|
|
@see wxStaticBitmap, wxStaticBox
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
class wxStaticText : public wxControl
|
|
|
|
{
|
|
|
|
public:
|
2008-05-29 10:10:52 -04:00
|
|
|
/**
|
|
|
|
Default constructor.
|
|
|
|
*/
|
|
|
|
wxStaticText();
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
|
|
|
Constructor, creating and showing a text control.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param parent
|
2008-03-09 08:33:59 -04:00
|
|
|
Parent window. Should not be @NULL.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param id
|
2008-03-09 08:33:59 -04:00
|
|
|
Control identifier. A value of -1 denotes a default value.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param label
|
2008-03-09 08:33:59 -04:00
|
|
|
Text label.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param pos
|
2008-03-09 08:33:59 -04:00
|
|
|
Window position.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param size
|
2008-03-09 08:33:59 -04:00
|
|
|
Window size.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param style
|
2008-03-09 08:33:59 -04:00
|
|
|
Window style. See wxStaticText.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param name
|
2008-03-09 08:33:59 -04:00
|
|
|
Window name.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-09 08:33:59 -04:00
|
|
|
@see Create()
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
wxStaticText(wxWindow* parent, wxWindowID id,
|
|
|
|
const wxString& label,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = 0,
|
|
|
|
const wxString& name = "staticText");
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Creation function, for two-step construction. For details see wxStaticText().
|
|
|
|
*/
|
|
|
|
bool Create(wxWindow* parent, wxWindowID id,
|
|
|
|
const wxString& label,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = 0,
|
|
|
|
const wxString& name = "staticText");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the contents of the control.
|
|
|
|
Note that the returned string contains both the mnemonics (@c characters),
|
|
|
|
if any, and markup tags, if any.
|
|
|
|
Use GetLabelText() if only the
|
|
|
|
label text is needed.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
wxString GetLabel() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
//@{
|
|
|
|
/**
|
|
|
|
The first form returns the control's label without the mnemonics characters (if
|
2008-03-08 09:43:31 -05:00
|
|
|
any)
|
2008-03-08 08:52:38 -05:00
|
|
|
and without the markup (if the control has @c wxST_MARKUP style).
|
2008-03-09 08:33:59 -04:00
|
|
|
The second (static) version returns the given @a label string without the
|
2008-03-08 09:43:31 -05:00
|
|
|
mnemonics
|
2008-03-08 08:52:38 -05:00
|
|
|
characters (if any) and without the markup.
|
|
|
|
*/
|
|
|
|
wxString GetLabelText();
|
2008-03-09 12:24:26 -04:00
|
|
|
const static wxString GetLabelText(const wxString& label);
|
2008-03-08 08:52:38 -05:00
|
|
|
//@}
|
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the static text label and updates the controls size to exactly fit the
|
|
|
|
label unless the control has wxST_NO_AUTORESIZE flag.
|
|
|
|
This function allows to set decorated static label text on platforms which
|
|
|
|
support it (currently only GTK+ 2). For the other platforms, the markup is
|
|
|
|
ignored.
|
|
|
|
The supported tags are:
|
2008-08-29 08:15:59 -04:00
|
|
|
<TABLE>
|
|
|
|
<TR>
|
|
|
|
<TD><b></TD>
|
|
|
|
<TD>bold text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><big></TD>
|
|
|
|
<TD>bigger text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><i></TD>
|
|
|
|
<TD>italic text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><s></TD>
|
|
|
|
<TD>strike-through text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><sub></TD>
|
|
|
|
<TD>subscript text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><sup></TD>
|
|
|
|
<TD>superscript text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><small></TD>
|
|
|
|
<TD>smaller text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><tt></TD>
|
|
|
|
<TD>monospaced text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><u></TD>
|
|
|
|
<TD>underlined text</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD><span></TD>
|
|
|
|
<TD>generic formatter tag; see Pango Markup for more information.</TD>
|
|
|
|
</TR>
|
|
|
|
</TABLE>
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
Note that the string must be well-formed (e.g. all tags must be correctly
|
|
|
|
closed)
|
|
|
|
otherwise it can be not shown correctly or at all.
|
|
|
|
Also note that you need to escape the following special characters:
|
2008-08-29 08:15:59 -04:00
|
|
|
<TABLE>
|
|
|
|
<TR>
|
|
|
|
<TD>@b Special character</TD>
|
|
|
|
<TD>@b Escape as</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD>@c &</TD>
|
|
|
|
<TD>@c &amp; or as &&</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD>@c '</TD>
|
|
|
|
<TD>@c &apos;</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD>@c "</TD>
|
|
|
|
<TD>@c &quot;</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD>@c <</TD>
|
|
|
|
<TD>@c &lt;</TD>
|
|
|
|
</TR>
|
|
|
|
<TR>
|
|
|
|
<TD>@c ></TD>
|
|
|
|
<TD>@c &gt;</TD>
|
|
|
|
</TR>
|
|
|
|
</TABLE>
|
|
|
|
|
|
|
|
The non-escaped ampersand @c & characters are interpreted as
|
2008-03-08 08:52:38 -05:00
|
|
|
mnemonics; see wxControl::SetLabel.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
Example:
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param label
|
2008-03-09 08:33:59 -04:00
|
|
|
The new label to set. It may contain newline characters and the markup tags
|
2008-03-08 08:52:38 -05:00
|
|
|
described above.
|
|
|
|
*/
|
|
|
|
virtual void SetLabel(const wxString& label);
|
|
|
|
|
|
|
|
/**
|
|
|
|
This functions wraps the controls label so that each of its lines becomes at
|
2008-03-09 08:33:59 -04:00
|
|
|
most @a width pixels wide if possible (the lines are broken at words
|
2008-03-08 08:52:38 -05:00
|
|
|
boundaries so it might not be the case if words are too long). If @e width
|
2008-05-12 08:47:59 -04:00
|
|
|
is negative, no wrapping is done. Note that this width is not
|
|
|
|
necessarily the total width of the control, since a few pixels for the
|
|
|
|
border (depending on the controls border style) may be added.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-04-21 06:34:23 -04:00
|
|
|
@since 2.6.2
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
void Wrap(int width);
|
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|