]> git.saurik.com Git - wxWidgets.git/blame - interface/wx/checklst.h
Applied patch for #15189 - avoid crash when deleting focused cell (dghart)
[wxWidgets.git] / interface / wx / checklst.h
CommitLineData
23324ae1
FM
1/////////////////////////////////////////////////////////////////////////////
2// Name: checklst.h
e54c96f1 3// Purpose: interface of wxCheckListBox
23324ae1
FM
4// Author: wxWidgets team
5// RCS-ID: $Id$
526954c5 6// Licence: wxWindows licence
23324ae1
FM
7/////////////////////////////////////////////////////////////////////////////
8
9/**
10 @class wxCheckListBox
7c913512 11
bfac6166
BP
12 A wxCheckListBox is like a wxListBox, but allows items to be checked or
13 unchecked.
7c913512 14
23324ae1 15 When using this class under Windows wxWidgets must be compiled with
bfac6166 16 wxUSE_OWNER_DRAWN set to 1.
7c913512 17
3051a44a 18 @beginEventEmissionTable{wxCommandEvent}
8c6791e4 19 @event{EVT_CHECKLISTBOX(id, func)}
ce7fe42e 20 Process a @c wxEVT_CHECKLISTBOX event, when an item in
3051a44a
FM
21 the check list box is checked or unchecked. wxCommandEvent::GetInt()
22 will contain the index of the item that was checked or unchecked.
23 wxCommandEvent::IsChecked() is not valid! Use wxCheckListBox::IsChecked()
24 instead.
23324ae1 25 @endEventTable
7c913512 26
23324ae1
FM
27 @library{wxcore}
28 @category{ctrl}
ce154616 29 @appearance{checklistbox}
7c913512 30
e54c96f1 31 @see wxListBox, wxChoice, wxComboBox, wxListCtrl, wxCommandEvent
23324ae1
FM
32*/
33class wxCheckListBox : public wxListBox
34{
35public:
bfac6166
BP
36 /**
37 Default constructor.
38 */
39 wxCheckListBox();
40
23324ae1
FM
41 //@{
42 /**
43 Constructor, creating and showing a list box.
3c4f71cc 44
7c913512 45 @param parent
4cc4bfaf 46 Parent window. Must not be @NULL.
7c913512 47 @param id
4cc4bfaf 48 Window identifier. The value wxID_ANY indicates a default value.
7c913512 49 @param pos
4cc4bfaf 50 Window position.
dc1b07fd 51 If ::wxDefaultPosition is specified then a default position is chosen.
7c913512 52 @param size
dc1b07fd
FM
53 Window size.
54 If ::wxDefaultSize is specified then the window is sized appropriately.
7c913512 55 @param n
4cc4bfaf 56 Number of strings with which to initialise the control.
7c913512 57 @param choices
4cc4bfaf 58 An array of strings with which to initialise the control.
7c913512 59 @param style
4cc4bfaf 60 Window style. See wxCheckListBox.
7c913512 61 @param validator
4cc4bfaf 62 Window validator.
7c913512 63 @param name
4cc4bfaf 64 Window name.
1058f652
MB
65
66 @beginWxPerlOnly
67 Not supported by wxPerl.
68 @endWxPerlOnly
23324ae1 69 */
7c913512
FM
70 wxCheckListBox(wxWindow* parent, wxWindowID id,
71 const wxPoint& pos = wxDefaultPosition,
72 const wxSize& size = wxDefaultSize,
792255cc 73 int n = 0,
4cc4bfaf 74 const wxString choices[] = NULL,
7c913512
FM
75 long style = 0,
76 const wxValidator& validator = wxDefaultValidator,
77 const wxString& name = "listBox");
792255cc
VZ
78 /**
79 Constructor, creating and showing a list box.
80
81 @param parent
82 Parent window. Must not be @NULL.
83 @param id
84 Window identifier. The value wxID_ANY indicates a default value.
85 @param pos
86 Window position.
87 @param size
88 Window size. If wxDefaultSize is specified then the window is sized
89 appropriately.
90 @param choices
91 An array of strings with which to initialise the control.
92 @param style
93 Window style. See wxCheckListBox.
94 @param validator
95 Window validator.
96 @param name
97 Window name.
1058f652
MB
98
99 @beginWxPerlOnly
100 Use an array reference for the @a choices parameter.
101 @endWxPerlOnly
792255cc 102 */
7c913512
FM
103 wxCheckListBox(wxWindow* parent, wxWindowID id,
104 const wxPoint& pos,
105 const wxSize& size,
106 const wxArrayString& choices,
107 long style = 0,
108 const wxValidator& validator = wxDefaultValidator,
109 const wxString& name = "listBox");
23324ae1
FM
110 //@}
111
e9321277
RD
112 bool Create(wxWindow *parent,
113 wxWindowID id,
114 const wxPoint& pos = wxDefaultPosition,
115 const wxSize& size = wxDefaultSize,
116 int nStrings = 0,
117 const wxString choices[] = NULL,
118 long style = 0,
119 const wxValidator& validator = wxDefaultValidator,
120 const wxString& name = wxListBoxNameStr);
121
122 bool Create(wxWindow *parent,
123 wxWindowID id,
124 const wxPoint& pos,
125 const wxSize& size,
126 const wxArrayString& choices,
127 long style = 0,
128 const wxValidator& validator = wxDefaultValidator,
129 const wxString& name = wxListBoxNameStr);
130
23324ae1
FM
131 /**
132 Destructor, destroying the list box.
133 */
62a7da75 134 virtual ~wxCheckListBox();
23324ae1
FM
135
136 /**
bfac6166 137 Checks the given item. Note that calling this method does not result in
ce7fe42e 138 a @c wxEVT_CHECKLISTBOX event being emitted.
3c4f71cc 139
7c913512 140 @param item
4cc4bfaf 141 Index of item to check.
7c913512 142 @param check
4cc4bfaf 143 @true if the item is to be checked, @false otherwise.
23324ae1 144 */
62a7da75 145 void Check(unsigned int item, bool check = true);
bfac6166
BP
146
147 /**
148 Returns @true if the given item is checked, @false otherwise.
149
150 @param item
151 Index of item whose check status is to be returned.
152 */
153 bool IsChecked(unsigned int item) const;
ae72623b
VZ
154
155 /**
156 Return the indices of the checked items.
157
158 @param checkedItems
159 A reference to the array that is filled with the indices of the
160 checked items.
161 @return The number of checked items.
162
163 @see Check(), IsChecked()
164
165 @since 2.9.5
166 */
167 unsigned int GetCheckedItems(wxArrayInt& checkedItems) const;
23324ae1 168};
e54c96f1 169