# WoopsiUI::ListData Class Reference

`#include <listdata.h>`

List of all members.

## Classes
struct | ListDataItem
## Public Member Functions
| ListData ()
virtual | ~ListData ()
virtual void | addItem (const char *text, const u32 value, const u16 normalTextColour, const u16 normalBackColour, const u16 selectedTextColour, const u16 selectedBackColour)
virtual void | removeItem (const s32 index)
virtual void | selectItem (const s32 index)
virtual void | deselectItem (const s32 index)
virtual void | removeAllItems ()
virtual const s32 | getSelectedIndex () const
virtual void | setSelectedIndex (const s32 index)
virtual const ListDataItem * | getSelectedItem () const
virtual void | setAllowMultipleSelections (const bool allowMultipleSelections)
virtual ListDataItem * | getItem (const s32 index)
virtual void | sort ()
virtual const s32 | getItemCount () const
virtual void | selectAllItems ()
virtual void | deselectAllItems ()
virtual void | setItemSelected (const s32 index, const bool selected)
virtual const bool | allowsMultipleSelections () const
virtual void | setSortInsertedItems (const bool sortInsertedItems)
void | addListDataEventHandler (ListDataEventHandler *eventHandler)
void | removeListDataEventHandler (ListDataEventHandler *eventHandler)
## Protected Member Functions
virtual void | quickSort (const s32 start, const s32 end)
virtual void | swapItems (const s32 index1, const s32 index2)
const s32 | getInsertionIndex (const char *text) const
void | raiseDataChangedEvent ()
void | raiseSelectionChangedEvent ()
## Protected Attributes
WoopsiArray< ListDataItem * > | _items
WoopsiArray < ListDataEventHandler * > | _listDataEventhandlers
bool | _allowMultipleSelections
bool | _sortInsertedItems

## Detailed Description

Class representing a data item within a list.

## Constructor & Destructor Documentation

WoopsiUI::ListData::ListData | ( |  | ) |

Constructor.

virtual WoopsiUI::ListData::~ListData | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual void WoopsiUI::ListData::addItem | ( | const char * | text,
|  | const u32 | value,
|  | const u16 | normalTextColour,
|  | const u16 | normalBackColour,
|  | const u16 | selectedTextColour,
|  | const u16 | selectedBackColour |
| ) |  |  | `[virtual]`

Add a new item.

Parameters:

  | text | Text to show in the option.
  | value | The value of the option.
  | normalTextColour | Colour to draw the text with when not selected.
  | normalBackColour | Colour to draw the background with when not selected.
  | selectedTextColour | Colour to draw the text with when selected.
  | selectedBackColour | Colour to draw the background with when selected.

void WoopsiUI::ListData::addListDataEventHandler | ( | ListDataEventHandler * | eventHandler | ) | `[inline]`

Add an event handler.

Parameters:

  | eventHandler | The event handler to add.

virtual const bool WoopsiUI::ListData::allowsMultipleSelections | ( |  | ) | const`[inline, virtual]`

Returns whether multiple selections are possible or not.

Returns:
  True if multiple selections are allowed.

virtual void WoopsiUI::ListData::deselectAllItems | ( |  | ) | `[virtual]`

Deselect all items.

virtual void WoopsiUI::ListData::deselectItem | ( | const s32 | index | ) | `[virtual]`

Select an item by its index. Does not deselect any other selected items.

Parameters:

  | index | The index of the item to select.

const s32 WoopsiUI::ListData::getInsertionIndex | ( | const char * | text | ) | const`[protected]`

Return the index that an item with the supplied text should be inserted at to maintain a sorted list of data.

Parameters:

  | text | The text of the item.

Returns:
  The index that the item should be imserted into at.

virtual ListDataItem* WoopsiUI::ListData::getItem | ( | const s32 | index | ) | `[inline, virtual]`

Get the specified item.

Returns:
  The specified item.

virtual const s32 WoopsiUI::ListData::getItemCount | ( |  | ) | const`[inline, virtual]`

Get the total number of items.

Returns:
  The number of items.

virtual const s32 WoopsiUI::ListData::getSelectedIndex | ( |  | ) | const`[virtual]`

Get the selected index. Returns -1 if nothing is selected. If more than one item is selected, the index of the first selected item is returned.

Returns:
  The selected index.

virtual const ListDataItem* WoopsiUI::ListData::getSelectedItem | ( |  | ) | const`[virtual]`

Get the selected item. Returns NULL if nothing is selected.

Returns:
  The selected option.

virtual void WoopsiUI::ListData::quickSort | ( | const s32 | start,
|  | const s32 | end |
| ) |  |  | `[protected, virtual]`

Quick sort the items alphabetically by the text of the items.

Parameters:

  | start | The index to start sorting at.
  | end | The index to stop sorting at.

void WoopsiUI::ListData::raiseDataChangedEvent | ( |  | ) | `[protected]`

Raise a data changed event.

void WoopsiUI::ListData::raiseSelectionChangedEvent | ( |  | ) | `[protected]`

Raise a selection changed event.

virtual void WoopsiUI::ListData::removeAllItems | ( |  | ) | `[virtual]`

Remove all items.

virtual void WoopsiUI::ListData::removeItem | ( | const s32 | index | ) | `[virtual]`

Remove an item by its index..

Parameters:

  | index | The index of the option to remove.

void WoopsiUI::ListData::removeListDataEventHandler | ( | ListDataEventHandler * | eventHandler | ) |

Remove an event handler.

Parameters:

  | eventHandler | The event handler to remove.

virtual void WoopsiUI::ListData::selectAllItems | ( |  | ) | `[virtual]`

Select all items. Does nothing if the list does not allow multiple selections.

virtual void WoopsiUI::ListData::selectItem | ( | const s32 | index | ) | `[virtual]`

Select an item by its index. Does not deselect any other selected items.

Parameters:

  | index | The index of the item to select.

virtual void WoopsiUI::ListData::setAllowMultipleSelections | ( | const bool | allowMultipleSelections | ) | `[inline, virtual]`

Sets whether multiple selections are possible or not.

Parameters:

  | allowMultipleSelections | True to allow multiple selections.

virtual void WoopsiUI::ListData::setItemSelected | ( | const s32 | index,
|  | const bool | selected |
| ) |  |  | `[virtual]`

Select or deselect an item by its index. Does not deselect any other selected items. Set index to -1 to select nothing.

Parameters:

  | index | The index of the item to select.
  | selected | True to select the item, false to deselect it.

virtual void WoopsiUI::ListData::setSelectedIndex | ( | const s32 | index | ) | `[virtual]`

Sets the selected index. Specify -1 to select nothing. Resets any other selected items to deselected.

Parameters:

  | index | The selected index.

virtual void WoopsiUI::ListData::setSortInsertedItems | ( | const bool | sortInsertedItems | ) | `[inline, virtual]`

Sets whether or not items added to the list are automatically sorted on insert or not.

Parameters:

  | sortInsertedItems | True to enable sort on insertion.

virtual void WoopsiUI::ListData::sort | ( |  | ) | `[virtual]`

Sort the items alphabetically by the text of the items.

virtual void WoopsiUI::ListData::swapItems | ( | const s32 | index1,
|  | const s32 | index2 |
| ) |  |  | `[protected, virtual]`

Swap the locations of two items in the array.

Parameters:

  | index1 | The index of the first item to swap.
  | index2 | The index of the second item to swap.

## Member Data Documentation

bool WoopsiUI::ListData::_allowMultipleSelections`[protected]`

If true, multiple options can be selected.

WoopsiArray<ListDataItem*> WoopsiUI::ListData::_items`[protected]`

Collection of list data items.

WoopsiArray<ListDataEventHandler*> WoopsiUI::ListData::_listDataEventhandlers`[protected]`

Collection of event handlers.

bool WoopsiUI::ListData::_sortInsertedItems`[protected]`

Automatically sorts items on insertion if true.

The documentation for this class was generated from the following file:

- C:/Documents and Settings/Administrator/Desktop/woopsi-src-0.40/Woopsi/libwoopsi/include/listdata.h