Version: 3.2.5
wxItemContainerImmutable Class Referenceabstract

#include <wx/ctrlsub.h>

+ Inheritance diagram for wxItemContainerImmutable:

Detailed Description

wxItemContainer defines an interface which is implemented by all controls which have string subitems each of which may be selected.

It is decomposed in wxItemContainerImmutable which omits all methods adding/removing items and is used by wxRadioBox and wxItemContainer itself.

Note that this is not a control, it's a mixin interface that classes have to derive from in addition to wxControl or wxWindow.

Examples: wxListBox, wxCheckListBox, wxChoice and wxComboBox (which implements an extended interface deriving from this one)

Library:  wxCore
Category:  Controls
See also
wxControlWithItems, wxItemContainer

Public Member Functions

 wxItemContainerImmutable ()
 Constructor. More...
 
virtual unsigned int GetCount () const =0
 Returns the number of items in the control. More...
 
bool IsEmpty () const
 Returns true if the control is empty or false if it has some items. More...
 
virtual wxString GetString (unsigned int n) const =0
 Returns the label of the item with the given index. More...
 
wxArrayString GetStrings () const
 Returns the array of the labels of all items in the control. More...
 
virtual void SetString (unsigned int n, const wxString &string)=0
 Sets the label for the given item. More...
 
virtual int FindString (const wxString &string, bool caseSensitive=false) const
 Finds an item whose label matches the given string. More...
 
Selection
virtual void SetSelection (int n)=0
 Sets the selection to the given item n or removes the selection entirely if n == wxNOT_FOUND. More...
 
virtual int GetSelection () const =0
 Returns the index of the selected item or wxNOT_FOUND if no item is selected. More...
 
bool SetStringSelection (const wxString &string)
 Selects the item with the specified string in the control. More...
 
virtual wxString GetStringSelection () const
 Returns the label of the selected item or an empty string if no item is selected. More...
 
void Select (int n)
 This is the same as SetSelection() and exists only because it is slightly more natural for controls which support multiple selection. More...
 

Constructor & Destructor Documentation

◆ wxItemContainerImmutable()

wxItemContainerImmutable::wxItemContainerImmutable ( )

Constructor.

Member Function Documentation

◆ FindString()

virtual int wxItemContainerImmutable::FindString ( const wxString string,
bool  caseSensitive = false 
) const
virtual

Finds an item whose label matches the given string.

Parameters
stringString to find.
caseSensitiveWhether search is case sensitive (default is not).
Returns
The zero-based position of the item, or wxNOT_FOUND if the string was not found.

Reimplemented in wxRadioBox, wxListBox, wxComboBox, and wxChoice.

◆ GetCount()

virtual unsigned int wxItemContainerImmutable::GetCount ( ) const
pure virtual

Returns the number of items in the control.

See also
IsEmpty()

Implemented in wxRadioBox, wxListBox, wxComboBox, and wxChoice.

◆ GetSelection()

virtual int wxItemContainerImmutable::GetSelection ( ) const
pure virtual

Returns the index of the selected item or wxNOT_FOUND if no item is selected.

Returns
The position of the current selection.
See also
SetSelection(), GetStringSelection()

Implemented in wxRadioBox, wxListBox, wxComboBox, and wxChoice.

◆ GetString()

virtual wxString wxItemContainerImmutable::GetString ( unsigned int  n) const
pure virtual

Returns the label of the item with the given index.

The index must be valid, i.e. less than the value returned by GetCount(), otherwise an assert is triggered. Notably, this function can't be called if the control is empty.

Parameters
nThe zero-based index.
Returns
The label of the item.

Implemented in wxRadioBox, wxListBox, wxComboBox, and wxChoice.

◆ GetStrings()

wxArrayString wxItemContainerImmutable::GetStrings ( ) const

Returns the array of the labels of all items in the control.

◆ GetStringSelection()

virtual wxString wxItemContainerImmutable::GetStringSelection ( ) const
virtual

Returns the label of the selected item or an empty string if no item is selected.

See also
GetSelection()

Reimplemented in wxComboBox.

◆ IsEmpty()

bool wxItemContainerImmutable::IsEmpty ( ) const

Returns true if the control is empty or false if it has some items.

See also
GetCount()

◆ Select()

void wxItemContainerImmutable::Select ( int  n)

This is the same as SetSelection() and exists only because it is slightly more natural for controls which support multiple selection.

◆ SetSelection()

virtual void wxItemContainerImmutable::SetSelection ( int  n)
pure virtual

Sets the selection to the given item n or removes the selection entirely if n == wxNOT_FOUND.

Note that this does not cause any command events to be emitted nor does it deselect any other items in the controls which support multiple selections.

Parameters
nThe string position to select, starting from zero.
See also
SetString(), SetStringSelection()

Implemented in wxRadioBox, wxListBox, wxComboBox, and wxChoice.

◆ SetString()

virtual void wxItemContainerImmutable::SetString ( unsigned int  n,
const wxString string 
)
pure virtual

Sets the label for the given item.

Parameters
nThe zero-based item index.
stringThe label to set.

Implemented in wxChoice, wxComboBox, wxRadioBox, and wxListBox.

◆ SetStringSelection()

bool wxItemContainerImmutable::SetStringSelection ( const wxString string)

Selects the item with the specified string in the control.

This method doesn't cause any command events to be emitted.

Notice that this method is case-insensitive, i.e. the string is compared with all the elements of the control case-insensitively and the first matching entry is selected, even if it doesn't have exactly the same case as this string and there is an exact match afterwards.

Parameters
stringThe string to select.
Returns
true if the specified string has been selected, false if it wasn't found in the control.