]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/choice.h
generate a size event from ShowWithEffect() for consistency with Show()
[wxWidgets.git] / interface / wx / choice.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: choice.h
e54c96f1 3// Purpose: interface of wxChoice
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
6// Licence: wxWindows license
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxChoice
7c913512 11
23324ae1 12 A choice item is used to select one of a list of strings. Unlike a
bfac6166 13 wxListBox, only the selection is visible until the user pulls down the
23324ae1 14 menu of choices.
7c913512 15
23324ae1 16 @beginStyleTable
8c6791e4 17 @style{wxCB_SORT}
23324ae1
FM
18 Sorts the entries alphabetically.
19 @endStyleTable
7c913512 20
1f1d2182 21 @beginEventTable{wxCommandEvent}
8c6791e4 22 @event{EVT_CHOICE(id, func)}
23324ae1
FM
23 Process a wxEVT_COMMAND_CHOICE_SELECTED event, when an item on the
24 list is selected.
25 @endEventTable
7c913512 26
23324ae1
FM
27 @library{wxcore}
28 @category{ctrl}
bfac6166 29 <!-- @appearance{choice.png} -->
7c913512 30
e54c96f1 31 @see wxListBox, wxComboBox, wxCommandEvent
23324ae1
FM
32*/
33class wxChoice : public wxControlWithItems
34{
35public:
bfac6166
BP
36 /**
37 Default constructor.
38
39 @see Create(), wxValidator
40 */
41 wxChoice();
42
23324ae1
FM
43 //@{
44 /**
45 Constructor, creating and showing a choice.
3c4f71cc 46
7c913512 47 @param parent
4cc4bfaf 48 Parent window. Must not be @NULL.
7c913512 49 @param id
4cc4bfaf 50 Window identifier. The value wxID_ANY indicates a default value.
7c913512 51 @param pos
4cc4bfaf 52 Window position.
7c913512 53 @param size
bfac6166 54 Window size. If wxDefaultSize is specified then the choice is sized
4cc4bfaf 55 appropriately.
7c913512 56 @param n
4cc4bfaf 57 Number of strings with which to initialise the choice control.
7c913512 58 @param choices
4cc4bfaf 59 An array of strings with which to initialise the choice control.
7c913512 60 @param style
4cc4bfaf 61 Window style. See wxChoice.
7c913512 62 @param validator
4cc4bfaf 63 Window validator.
7c913512 64 @param name
4cc4bfaf 65 Window name.
3c4f71cc 66
4cc4bfaf 67 @see Create(), wxValidator
bfac6166
BP
68
69 @beginWxPythonOnly
70
71 The wxChoice constructor in wxPython reduces the @a n and @a choices
72 arguments to a single argument, which is a list of strings.
73
74 @endWxPythonOnly
23324ae1 75 */
4cc4bfaf 76 wxChoice(wxWindow* parent, wxWindowID id,
7c913512
FM
77 const wxPoint& pos,
78 const wxSize& size, int n,
79 const wxString choices[],
80 long style = 0,
81 const wxValidator& validator = wxDefaultValidator,
82 const wxString& name = "choice");
4cc4bfaf 83 wxChoice(wxWindow* parent, wxWindowID id,
7c913512
FM
84 const wxPoint& pos,
85 const wxSize& size,
86 const wxArrayString& choices,
87 long style = 0,
88 const wxValidator& validator = wxDefaultValidator,
89 const wxString& name = "choice");
23324ae1
FM
90 //@}
91
92 /**
93 Destructor, destroying the choice item.
94 */
95 ~wxChoice();
96
97 //@{
98 /**
99 Creates the choice for two-step construction. See wxChoice().
100 */
4cc4bfaf 101 bool Create(wxWindow* parent, wxWindowID id, const wxPoint& pos,
23324ae1
FM
102 const wxSize& size, int n,
103 const wxString choices[],
104 long style = 0,
105 const wxValidator& validator = wxDefaultValidator,
106 const wxString& name = "choice");
4cc4bfaf 107 bool Create(wxWindow* parent, wxWindowID id,
7c913512
FM
108 const wxPoint& pos,
109 const wxSize& size,
110 const wxArrayString& choices,
111 long style = 0,
112 const wxValidator& validator = wxDefaultValidator,
113 const wxString& name = "choice");
23324ae1
FM
114 //@}
115
116 /**
117 Gets the number of columns in this choice item.
3c4f71cc 118
3f16e52c
RR
119 @remarks This is implemented for GTK and Motif only and always
120 returns 1 for the other platforms.
23324ae1 121 */
328f5751 122 int GetColumns() const;
23324ae1
FM
123
124 /**
bfac6166
BP
125 Unlike wxControlWithItems::GetSelection() which only returns the
126 accepted selection value, i.e. the selection in the control once the
127 user closes the dropdown list, this function returns the current
128 selection. That is, while the dropdown list is shown, it returns the
129 currently selected item in it. When it is not shown, its result is the
130 same as for the other function.
131
1e24c2af
VS
132 @since 2.6.2.
133 In older versions, wxControlWithItems::GetSelection() itself
134 behaved like this.
23324ae1 135 */
328f5751 136 int GetCurrentSelection() const;
23324ae1
FM
137
138 /**
139 Sets the number of columns in this choice item.
3c4f71cc 140
7c913512 141 @param n
4cc4bfaf 142 Number of columns.
bfac6166 143
3f16e52c
RR
144 @remarks This is implemented for GTK and Motif only and doesn’t do
145 anything under other platforms.
23324ae1
FM
146 */
147 void SetColumns(int n = 1);
148};
e54c96f1 149