// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
+/**
+ The different ellipsization modes supported by the
+ wxControl::Ellipsize function.
+*/
+enum wxEllipsizeMode
+{
+ wxELLIPSIZE_START,
+ wxELLIPSIZE_MIDDLE,
+ wxELLIPSIZE_END
+};
+
/**
@class wxControl
*/
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.
/**
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);
};