// Purpose: interface of wxListBox
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
@beginStyleTable
@style{wxLB_SINGLE}
- Single-selection list.
+ Single-selection list.
@style{wxLB_MULTIPLE}
- Multiple-selection list: the user can toggle multiple items on and off.
- This is the same as wxLB_EXTENDED in wxGTK2 port.
+ Multiple-selection list: the user can toggle multiple items on and off.
+ This is the same as wxLB_EXTENDED in wxGTK2 port.
@style{wxLB_EXTENDED}
- Extended-selection list: the user can extend the selection by using
- @c SHIFT or @c CTRL keys together with the cursor movement keys or
- the mouse.
+ Extended-selection list: the user can extend the selection by using
+ @c SHIFT or @c CTRL keys together with the cursor movement keys or
+ the mouse.
@style{wxLB_HSCROLL}
- Create horizontal scrollbar if contents are too wide (Windows only).
+ Create horizontal scrollbar if contents are too wide (Windows only).
@style{wxLB_ALWAYS_SB}
- Always show a vertical scrollbar.
+ Always show a vertical scrollbar.
@style{wxLB_NEEDED_SB}
- Only create a vertical scrollbar if needed.
+ Only create a vertical scrollbar if needed.
+ @style{wxLB_NO_SB}
+ Don't create vertical scrollbar (wxMSW only).
@style{wxLB_SORT}
- The listbox contents are sorted in alphabetical order.
+ The listbox contents are sorted in alphabetical order.
@endStyleTable
Note that @c wxLB_SINGLE, @c wxLB_MULTIPLE and @c wxLB_EXTENDED styles are
mutually exclusive and you can specify at most one of them (single selection
is the default). See also @ref overview_windowstyles.
- @beginEventTable{wxCommandEvent}
+ @beginEventEmissionTable{wxCommandEvent}
@event{EVT_LISTBOX(id, func)}
- Process a wxEVT_COMMAND_LISTBOX_SELECTED event, when an item on the
- list is selected or the selection changes.
+ Process a @c wxEVT_COMMAND_LISTBOX_SELECTED event, when an item on the
+ list is selected or the selection changes.
@event{EVT_LISTBOX_DCLICK(id, func)}
- Process a wxEVT_COMMAND_LISTBOXDOUBLECLICKED event, when the listbox
- is double-clicked.
+ Process a @c wxEVT_COMMAND_LISTBOX_DOUBLECLICKED event, when the listbox
+ is double-clicked.
@endEventTable
@library{wxcore}
The ID of this control. A value of @c wxID_ANY indicates a default value.
@param pos
The initial position.
+ If ::wxDefaultPosition is specified then a default position is chosen.
@param size
The initial size.
- If wxDefaultSize is specified then the window is sized appropriately.
+ If ::wxDefaultSize is specified then the window is sized appropriately.
@param n
Number of strings with which to initialise the control.
@param choices
The validator for this control.
@param name
The name of this class.
+
+ @beginWxPerlOnly
+ Not supported by wxPerl.
+ @endWxPerlOnly
*/
wxListBox(wxWindow* parent, wxWindowID id,
See the other wxListBox() constructor; the only difference is that
this overload takes a wxArrayString instead of a pointer to an array
of wxString.
+
+ @beginWxPerlOnly
+ Use an array reference for the @a choices parameter.
+ @endWxPerlOnly
*/
wxListBox(wxWindow* parent, wxWindowID id,
Creates the listbox for two-step construction.
See wxListBox() for further details.
*/
- bool Create(wxWindow* parent, wxWindowID id,
+ bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- int n,
- const wxString choices[] = NULL,
+ int n = 0, const wxString choices[] = NULL,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "listBox");
- bool Create(wxWindow* parent, wxWindowID id,
+ const wxString& name = wxListBoxNameStr);
+ bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos,
const wxSize& size,
const wxArrayString& choices,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "listBox");
+ const wxString& name = wxListBoxNameStr);
//@}
/**
@remarks Use this with a multiple selection listbox.
+ @beginWxPerlOnly
+ In wxPerl this method takes no parameters and return the
+ selected items as a list.
+ @endWxPerlOnly
+
@see wxControlWithItems::GetSelection, wxControlWithItems::GetStringSelection,
wxControlWithItems::SetSelection
*/
*/
int HitTest(const wxPoint& point) const;
+ /**
+ @overload
+ */
+ int HitTest(int x, int y) const;
+
/**
Insert the given number of strings before the specified position.
@param pos
Position before which to insert the items: if pos is 0 the
items will be inserted in the beginning of the listbox
+
+ @beginWxPerlOnly
+ Not supported by wxPerl.
+ @endWxPerlOnly
*/
- void InsertItems(int nItems, const wxString *items,
+ void InsertItems(unsigned int nItems, const wxString *items,
unsigned int pos);
/**
@param pos
Position before which to insert the items: if pos is @c 0 the
items will be inserted in the beginning of the listbox
+
+ @beginWxPerlOnly
+ Use an array reference for the @a items parameter.
+ @endWxPerlOnly
*/
void InsertItems(const wxArrayString& items,
unsigned int pos);
@param clientData
Options array of client data pointers
*/
- void Set(int n, const wxString* choices, void **clientData = NULL);
+ void Set(unsigned int n, const wxString* choices, void *clientData);
/**
Clears the list box and adds the given strings to it.
@param clientData
Options array of client data pointers
*/
- void Set(const wxArrayString& choices, void **clientData = NULL);
+ void Set(const wxArrayString& choices, void *clientData);
/**
Set the specified item to be the first visible item.