]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/stattext.h
Phoenix needs to see the implementation of pure virtuals so it knows that this class...
[wxWidgets.git] / interface / wx / stattext.h
index 88c8d955ada752dc5fad6bf2c00f96c0d4fb5949..08fddf0b150cdc017ef6b6e7f4d3de1370186381 100644 (file)
@@ -3,43 +3,51 @@
 // Purpose:     interface of wxStaticText
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#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 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 text width exceeds the control width, replace the beginning
-           of the text with an ellipsis
+           If the labeltext width exceeds the control width, replace the beginning
+           of the label with an ellipsis; uses wxControl::Ellipsize.
     @style{wxST_ELLIPSIZE_MIDDLE}
-           Same as above, but replace the text in the middle of the control
-           with an ellipsis
+           If the label text width exceeds the control width, replace the middle
+           of the label with an ellipsis; uses wxControl::Ellipsize.
     @style{wxST_ELLIPSIZE_END}
-           Same as above, but replace the end of the text with an ellipsis
-    @style{wxST_MARKUP}
-           Support markup in the label; see SetLabel for more information
+           If the label text width exceeds the control width, replace the end
+           of the label with an ellipsis; uses wxControl::Ellipsize.
     @endStyleTable
 
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{statictext.png} -->
+    @appearance{statictext.png}
 
     @see wxStaticBitmap, wxStaticBox
 */
@@ -50,7 +58,7 @@ public:
         Default constructor.
     */
     wxStaticText();
-    
+
     /**
         Constructor, creating and showing a text control.
 
@@ -76,133 +84,28 @@ public:
                  const wxPoint& pos = wxDefaultPosition,
                  const wxSize& size = wxDefaultSize,
                  long style = 0,
-                 const wxString& name = "staticText");
+                 const wxString& name = wxStaticTextNameStr);
 
     /**
         Creation function, for two-step construction. For details see wxStaticText().
     */
-    bool Create(wxWindow* parent, wxWindowID id,
-                const wxString& label,
+    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.
-    */
-    wxString GetLabel() const;
-
-    //@{
-    /**
-        The first form returns the control's label without the mnemonics characters (if
-        any)
-        and without the markup (if the control has @c wxST_MARKUP style).
-        The second (static) version returns the given @a label string without the
-        mnemonics
-        characters (if any) and without the markup.
-    */
-    wxString GetLabelText();
-    const static wxString  GetLabelText(const wxString& label);
-    //@}
+                const wxSize& size = wxDefaultSize, long style = 0,
+                const wxString& name = wxStaticTextNameStr);
 
     /**
-        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 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 '
-
-        @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.
+        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.
     */
-    virtual void SetLabel(const wxString& label);
+    bool IsEllipsized() const;
 
     /**
         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
-        boundaries so it might not be the case if words are too long). If @e width
-        is negative, no wrapping is done. Note that this width is not
+        boundaries so it might not be the case if words are too long).
+
+        If @a width 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.