X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4520d5836a52526c64e5b9469e6acee2221476d2..50d4763f1710f6e45ac6af7112d1ce9effe93bc4:/interface/wx/stattext.h diff --git a/interface/wx/stattext.h b/interface/wx/stattext.h index aa5097f25b..08fddf0b15 100644 --- a/interface/wx/stattext.h +++ b/interface/wx/stattext.h @@ -3,56 +3,46 @@ // Purpose: interface of wxStaticText // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -/** - The different ellipsization modes supported by wxStaticText and by - wxStaticText::Ellipsize function. - - @note - The members of this enum are used both as window styles for wxStaticText - and both as enumeration values for wxStaticText::Ellipsize static function. -*/ -enum wxEllipsizeMode -{ - wxST_ELLIPSIZE_START = 0x0004, - wxST_ELLIPSIZE_MIDDLE = 0x0008, - wxST_ELLIPSIZE_END = 0x0010 -}; +#define wxST_NO_AUTORESIZE 0x0001 +#define wxST_ELLIPSIZE_START 0x0004 +#define wxST_ELLIPSIZE_MIDDLE 0x0008 +#define wxST_ELLIPSIZE_END 0x0010 /** @class wxStaticText A static text control displays one or more lines of read-only text. - wxStaticText supports the three classic text alignments, label ellipsization - and formatting markup. + wxStaticText supports the three classic text alignments, label + ellipsization i.e. replacing parts of the text with the ellipsis ("...") if + the label doesn't fit into the provided space and also formatting markup + with wxControl::SetLabelMarkup(). @beginStyleTable @style{wxALIGN_LEFT} - Align the text to the left + Align the text to the left. @style{wxALIGN_RIGHT} - Align the text to the right + Align the text to the right. @style{wxALIGN_CENTRE} - Center the text (horizontally) + Center the text (horizontally). @style{wxST_NO_AUTORESIZE} 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 + 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) + especially useful with controls which also have the @c wxALIGN_RIGHT or + the @c wxALIGN_CENTRE style because otherwise they won't make sense any + longer after a call to SetLabel()). @style{wxST_ELLIPSIZE_START} If the labeltext width exceeds the control width, replace the beginning - of the label with an ellipsis + of the label with an ellipsis; uses wxControl::Ellipsize. @style{wxST_ELLIPSIZE_MIDDLE} If the label text width exceeds the control width, replace the middle - of the label with an ellipsis + of the label with an ellipsis; uses wxControl::Ellipsize. @style{wxST_ELLIPSIZE_END} If the label text width exceeds the control width, replace the end - of the label with an ellipsis - @style{wxST_MARKUP} - Support markup in the label; see SetLabel() for more information + of the label with an ellipsis; uses wxControl::Ellipsize. @endStyleTable @library{wxcore} @@ -104,161 +94,12 @@ public: const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxStaticTextNameStr); - /** - Escapes all the symbols of @a str that have a special meaning (<>"'&) for - wxStaticText objects with the @c wxST_MARKUP style. - Those symbols are replaced the corresponding entities (< > " ' &). - */ - static wxString EscapeMarkup(const wxString& str); - - /** - Replaces parts of the @a label string with ellipsis, if needed, so - that it doesn't exceed @a maxWidth. - - @param label - The string to ellipsize - @param dc - The DC used to retrieve the character widths through the - wxDC::GetPartialTextExtents() function. - @param mode - The ellipsization modes. See ::wxEllipsizeMode. - @param maxWidth - The maximum width of the returned string in pixels. - */ - static wxString Ellipsize(const wxString& label, const wxDC& dc, - wxEllipsizeMode mode, int maxWidth); - - /** - Returns the contents of the control. - - Note that the returned string contains both the mnemonics (@& characters), - if any, and markup tags, if any. - Use GetLabelText() if only the label text is needed. - */ - wxString GetLabel() const; - - /** - This method returns the control's label without the mnemonics characters - (if any) and without the markup (if the control has @c wxST_MARKUP style). - */ - wxString GetLabelText() const; - - /** - This overload returns the given @a label string without the - mnemonics characters (if any) and without the markup. - */ - static wxString GetLabelText(const wxString& label); - /** Returns @true if the window styles for this control contains one of the @c wxST_ELLIPSIZE_START, @c wxST_ELLIPSIZE_MIDDLE or @c wxST_ELLIPSIZE_END styles. */ bool IsEllipsized() const; - /** - Removes the markup accepted by wxStaticText when the @c wxST_MARKUP style is used, - and then returns the cleaned string. - - See SetLabel() for more info about the markup. - */ - static wxString RemoveMarkup(const wxString& str); - - /** - 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: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<b>bold text
<big>bigger text
<i>italic text
<s>strike-through text
<sub>subscript text
<sup>superscript text
<small>smaller text
<tt>monospaced text
<u>underlined text
<span>generic formatter tag; see Pango Markup - (http://library.gnome.org/devel/pango/unstable/PangoMarkupFormat.html) - for more information.
- - 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: - - - - - - - - - - - - - - - - - - - - - - - - - - -
@b Special character@b Escape as
@c &@c &amp; or as &&
@c '@c &apos;
@c "@c &quot;
@c <@c &lt;
@c >@c &gt;
- - The non-escaped ampersand @c & characters are interpreted as - mnemonics; see wxControl::SetLabel. - - Example: - - @param label - The new label to set. - It may contain newline characters and the markup tags described above. - */ - virtual void SetLabel(const wxString& label); - /** This functions wraps the controls label so that each of its lines becomes at most @a width pixels wide if possible (the lines are broken at words