]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/control.h
extract AddColumnsItems() from ShowColumnsMenu() to make it possible to reuse it...
[wxWidgets.git] / interface / wx / control.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: control.h
e54c96f1 3// Purpose: interface of wxControl
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
5c87527c
FM
9/**
10 The different ellipsization modes supported by the
11 wxControl::Ellipsize function.
12*/
13enum wxEllipsizeMode
14{
15 wxELLIPSIZE_START,
16 wxELLIPSIZE_MIDDLE,
17 wxELLIPSIZE_END
18};
19
23324ae1
FM
20/**
21 @class wxControl
7c913512 22
cdbcf4c2 23 This is the base class for a control or "widget".
7c913512 24
23324ae1
FM
25 A control is generally a small window which processes user input and/or
26 displays one or more item of data.
7c913512 27
23324ae1
FM
28 @library{wxcore}
29 @category{ctrl}
7c913512 30
e54c96f1 31 @see wxValidator
23324ae1
FM
32*/
33class wxControl : public wxWindow
34{
35public:
36 /**
bd0812fe
BP
37 Simulates the effect of the user issuing a command to the item.
38
39 @see wxCommandEvent
23324ae1 40 */
b7e94bd7 41 virtual void Command(wxCommandEvent& event);
23324ae1 42
5c87527c
FM
43 /**
44 Replaces parts of the @a label string with ellipsis, if needed, so
45 that it doesn't exceed @a maxWidth.
46
47 @param label
48 The string to ellipsize
49 @param dc
50 The DC used to retrieve the character widths through the
51 wxDC::GetPartialTextExtents() function.
52 @param mode
53 The ellipsization modes. See ::wxEllipsizeMode.
54 @param maxWidth
55 The maximum width of the returned string in pixels.
56 */
57 static wxString Ellipsize(const wxString& label, const wxDC& dc,
58 wxEllipsizeMode mode, int maxWidth);
59
23324ae1
FM
60 /**
61 Returns the control's text.
bd0812fe
BP
62
63 @note The returned string contains mnemonics ("&" characters) if it has
64 any, use GetLabelText() if they are undesired.
23324ae1 65 */
328f5751 66 wxString GetLabel() const;
23324ae1 67
23324ae1 68 /**
bd0812fe 69 Returns the control's label without mnemonics.
23324ae1 70 */
4707b84c 71 wxString GetLabelText() const;
bd0812fe
BP
72
73 /**
4520d583 74 Returns the given @a label string without mnemonics ("&" characters).
bd0812fe
BP
75 */
76 static wxString GetLabelText(const wxString& label);
23324ae1 77
4520d583
FM
78 /**
79 Removes the mnemonics ("&" characters) from the given string.
80 */
81 static wxString RemoveMnemonics(const wxString& str);
82
23324ae1
FM
83 /**
84 Sets the item's text.
bd0812fe
BP
85
86 Any "&" characters in the @a label are special and indicate that the
4520d583 87 following character is a @e mnemonic for this control and can be used to
bd0812fe 88 activate it from the keyboard (typically by using @e Alt key in
4520d583
FM
89 combination with it).
90 To insert a literal ampersand character, you need to double it, i.e. use "&&".
23324ae1
FM
91 */
92 void SetLabel(const wxString& label);
93};
e54c96f1 94