// Purpose: interface of wxListBox
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
Always show a vertical scrollbar.
@style{wxLB_NEEDED_SB}
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.
@endStyleTable
@beginEventEmissionTable{wxCommandEvent}
@event{EVT_LISTBOX(id, func)}
- Process a wxEVT_COMMAND_LISTBOX_SELECTED event, when an item on the
+ 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
+ Process a @c wxEVT_COMMAND_LISTBOX_DOUBLECLICKED event, when the listbox
is double-clicked.
@endEventTable
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,
*/
void Deselect(int n);
+ virtual void SetSelection(int n);
+
+ virtual int GetSelection() const;
+
+ virtual bool SetStringSelection(const wxString& s, bool select);
+ virtual bool SetStringSelection(const wxString& s);
+
/**
Fill an array of ints with the positions of the currently selected items.
@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
*/
@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(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);
*/
virtual bool IsSelected(int n) const;
- /**
- Clears the list box and adds the given strings to it.
-
- @param n
- The number of strings to set.
- @param choices
- An array of strings to set.
- @param clientData
- Options array of client data pointers
- */
- void Set(unsigned int n, const wxString* choices, void *clientData);
-
- /**
- Clears the list box and adds the given strings to it.
- You may free the array from the calling program after this method
- has been called.
-
- @param choices
- An array of strings to set.
- @param clientData
- Options array of client data pointers
- */
- void Set(const wxArrayString& choices, void *clientData);
-
/**
Set the specified item to be the first visible item.
The string that should be visible.
*/
void SetFirstItem(const wxString& string);
+
+ /**
+ Ensure that the item with the given index is currently shown.
+
+ Scroll the listbox if necessary.
+
+ This method is currently only implemented in wxGTK and wxOSX and does
+ nothing in other ports.
+
+ @see SetFirstItem()
+ */
+ virtual void EnsureVisible(int n);
+
+ /**
+ Return true if the listbox has ::wxLB_SORT style.
+
+ This method is mostly meant for internal use only.
+ */
+ virtual bool IsSorted() const;
+
+
+ // NOTE: Phoenix needs to see the implementation of pure virtuals so it
+ // knows that this class is not abstract.
+ virtual unsigned int GetCount() const;
+ virtual wxString GetString(unsigned int n) const;
+ virtual void SetString(unsigned int n, const wxString& s);
+ virtual int FindString(const wxString& s, bool bCase = false) const;
};