]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/control.h
fix documentation for wxList and wxNode; doxygen see them as templates and the @class...
[wxWidgets.git] / interface / wx / control.h
index df89e6b455af89b521bb0c629bdcecaaae08187f..a0a9fab11111de86acf56c891627e2a8156b8f5c 100644 (file)
@@ -6,6 +6,17 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
+/**
+    The different ellipsization modes supported by the
+    wxControl::Ellipsize function.
+*/
+enum wxEllipsizeMode
+{
+    wxELLIPSIZE_START,
+    wxELLIPSIZE_MIDDLE,
+    wxELLIPSIZE_END
+};
+
 /**
     @class wxControl
 
@@ -27,7 +38,24 @@ public:
 
         @see wxCommandEvent
     */
-    void Command(wxCommandEvent& event);
+    virtual void Command(wxCommandEvent& event);
+
+    /**
+        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 control's text.
@@ -40,21 +68,26 @@ public:
     /**
         Returns the control's label without mnemonics.
     */
-    const wxString GetLabelText();
+    wxString GetLabelText() const;
 
     /**
-        Returns the given @a label string without mnemonics.
+        Returns the given @a label string without mnemonics ("&" characters).
     */
     static wxString GetLabelText(const wxString& label);
 
+    /**
+        Removes the mnemonics ("&" characters) from the given string.
+    */
+    static wxString RemoveMnemonics(const wxString& str);
+
     /**
         Sets the item's text.
 
         Any "&" characters in the @a label are special and indicate that the
-        following character is a mnemonic for this control and can be used to
+        following character is a @e mnemonic for this control and can be used to
         activate it from the keyboard (typically by using @e Alt key in
-        combination with it). To insert a literal ampersand character, you need
-        to double it, i.e. use "&&".
+        combination with it).
+        To insert a literal ampersand character, you need to double it, i.e. use "&&".
     */
     void SetLabel(const wxString& label);
 };