X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..30767dfe33da2b5b5cea6f3eaa88d5509c40c08b:/interface/wx/control.h?ds=inline diff --git a/interface/wx/control.h b/interface/wx/control.h index df89e6b455..a0a9fab111 100644 --- a/interface/wx/control.h +++ b/interface/wx/control.h @@ -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); };