Crazy Eddie's GUI System
0.8.4
|
Base class for the multi column list widget. More...
Classes | |
struct | ListRow |
Struct used internally to represent a row in the list and also to ease sorting of the rows. More... | |
Public Types | |
enum | SelectionMode { RowSingle, RowMultiple, CellSingle, CellMultiple, NominatedColumnSingle, NominatedColumnMultiple, ColumnSingle, ColumnMultiple, NominatedRowSingle, NominatedRowMultiple } |
Enumerated values for the selection modes possible with a Multi-column list. | |
Public Member Functions | |
bool | isUserSortControlEnabled (void) const |
Return whether user manipulation of the sort column and direction are enabled. | |
bool | isUserColumnSizingEnabled (void) const |
Return whether the user may size column segments. | |
bool | isUserColumnDraggingEnabled (void) const |
Return whether the user may modify the order of the columns. | |
uint | getColumnCount (void) const |
Return the number of columns in the multi-column list. | |
uint | getRowCount (void) const |
Return the number of rows in the multi-column list. | |
uint | getSortColumn (void) const |
Return the zero based index of the current sort column. There must be at least one column to successfully call this method. | |
uint | getSortColumnID (void) const |
uint | getColumnWithID (uint col_id) const |
Return the zero based column index of the column with the specified ID. | |
uint | getColumnWithHeaderText (const String &text) const |
Return the zero based index of the column whos header text matches the specified text. | |
UDim | getTotalColumnHeadersWidth (void) const |
Return the total width of all column headers. | |
UDim | getColumnHeaderWidth (uint col_idx) const |
Return the width of the specified column header (and therefore the column itself). | |
ListHeaderSegment::SortDirection | getSortDirection (void) const |
Return the currently set sort direction. | |
ListHeaderSegment & | getHeaderSegmentForColumn (uint col_idx) const |
Return the ListHeaderSegment object for the specified column. | |
uint | getItemRowIndex (const ListboxItem *item) const |
Return the zero based index of the Row that contains item. | |
uint | getItemColumnIndex (const ListboxItem *item) const |
Return the current zero based index of the column that contains item. | |
MCLGridRef | getItemGridReference (const ListboxItem *item) const |
Return the grid reference for item. | |
ListboxItem * | getItemAtGridReference (const MCLGridRef &grid_ref) const |
Return a pointer to the ListboxItem at the specified grid reference. | |
bool | isListboxItemInColumn (const ListboxItem *item, uint col_idx) const |
return whether ListboxItem item is attached to the column at index col_idx. | |
bool | isListboxItemInRow (const ListboxItem *item, uint row_idx) const |
return whether ListboxItem item is attached to the row at index row_idx. | |
bool | isListboxItemInList (const ListboxItem *item) const |
return whether ListboxItem item is attached to the list box. | |
ListboxItem * | findColumnItemWithText (const String &text, uint col_idx, const ListboxItem *start_item) const |
Return the ListboxItem in column col_idx that has the text string text. | |
ListboxItem * | findRowItemWithText (const String &text, uint row_idx, const ListboxItem *start_item) const |
Return the ListboxItem in row row_idx that has the text string text. | |
ListboxItem * | findListItemWithText (const String &text, const ListboxItem *start_item) const |
Return the ListboxItem that has the text string text. | |
ListboxItem * | getFirstSelectedItem (void) const |
Return a pointer to the first selected ListboxItem attached to this list box. | |
ListboxItem * | getNextSelected (const ListboxItem *start_item) const |
Return a pointer to the next selected ListboxItem after start_item. | |
uint | getSelectedCount (void) const |
Return the number of selected ListboxItems attached to this list box. | |
bool | isItemSelected (const MCLGridRef &grid_ref) const |
Return whether the ListboxItem at grid_ref is selected. | |
uint | getNominatedSelectionColumnID (void) const |
Return the ID of the currently set nominated selection column to be used when in one of the NominatedColumn* selection modes. There must be at least one column to successfully call this method. | |
uint | getNominatedSelectionColumn (void) const |
Return the index of the currently set nominated selection column to be used when in one of the NominatedColumn* selection modes. | |
uint | getNominatedSelectionRow (void) const |
Return the index of the currently set nominated selection row to be used when in one of the NominatedRow* selection modes. | |
MultiColumnList::SelectionMode | getSelectionMode (void) const |
Return the currently set selection mode. | |
bool | isVertScrollbarAlwaysShown (void) const |
Return whether the vertical scroll bar is always shown. | |
bool | isHorzScrollbarAlwaysShown (void) const |
Return whether the horizontal scroll bar is always shown. | |
uint | getColumnID (uint col_idx) const |
Return the ID code assigned to the requested column. | |
uint | getRowID (uint row_idx) const |
Return the ID code assigned to the requested row. | |
uint | getRowWithID (uint row_id) const |
Return the zero based row index of the row with the specified ID. | |
Rectf | getListRenderArea (void) const |
Return a Rect object describing, in un-clipped pixels, the window relative area that is to be used for rendering list items. | |
Scrollbar * | getVertScrollbar () const |
Return a pointer to the vertical scrollbar component widget for this MultiColumnList. | |
Scrollbar * | getHorzScrollbar () const |
Return a pointer to the horizontal scrollbar component widget for this MultiColumnList. | |
ListHeader * | getListHeader () const |
Return a pointer to the list header component widget for this MultiColumnList. | |
float | getTotalRowsHeight (void) const |
Return the sum of all row heights in pixels. | |
float | getWidestColumnItemWidth (uint col_idx) const |
Return the pixel width of the widest item in the given column. | |
float | getHighestRowItemHeight (uint row_idx) const |
Return, in pixels, the height of the highest item in the given row. | |
bool | getAutoSizeColumnUsesHeader () const |
Get whether or not column auto-sizing (autoSizeColumnHeader()) will use the list header segment size. | |
virtual void | initialiseComponents (void) |
Initialise the Window based object ready for use. | |
void | resetList (void) |
Remove all items from the list. | |
void | addColumn (const String &text, uint col_id, const UDim &width) |
Add a column to the list box. | |
void | addColumn (const String &value) |
void | insertColumn (const String &text, uint col_id, const UDim &width, uint position) |
Insert a new column in the list. | |
void | removeColumn (uint col_idx) |
Removes a column from the list box. This will cause any ListboxItem using the autoDelete option in the column to be deleted. | |
void | removeColumnWithID (uint col_id) |
Removes a column from the list box. This will cause any ListboxItem using the autoDelete option in the column to be deleted. | |
void | moveColumn (uint col_idx, uint position) |
Move the column at index col_idx so it is at index position. | |
void | moveColumnWithID (uint col_id, uint position) |
Move the column with ID col_id so it is at index position. | |
uint | addRow (uint row_id=0) |
Add an empty row to the list box. | |
uint | addRow (ListboxItem *item, uint col_id, uint row_id=0) |
Add a row to the list box, and set the item in the column with ID col_id to item. | |
uint | insertRow (uint row_idx, uint row_id=0) |
Insert an empty row into the list box. | |
uint | insertRow (ListboxItem *item, uint col_id, uint row_idx, uint row_id=0) |
Insert a row into the list box, and set the item in the column with ID col_id to item. | |
void | removeRow (uint row_idx) |
Remove the list box row with index row_idx. Any ListboxItem in row row_idx using autoDelete mode will be deleted. | |
void | setItem (ListboxItem *item, const MCLGridRef &position) |
Set the ListboxItem for grid reference position. | |
void | setItem (ListboxItem *item, uint col_id, uint row_idx) |
Set the ListboxItem for the column with ID col_id in row row_idx. | |
void | setSelectionMode (MultiColumnList::SelectionMode sel_mode) |
Set the selection mode for the list box. | |
void | setNominatedSelectionColumnID (uint col_id) |
Set the column to be used for the NominatedColumn* selection modes. | |
void | setNominatedSelectionColumn (uint col_idx) |
Set the column to be used for the NominatedColumn* selection modes. | |
void | setNominatedSelectionRow (uint row_idx) |
Set the row to be used for the NominatedRow* selection modes. | |
void | setSortDirection (ListHeaderSegment::SortDirection direction) |
Set the sort direction to be used. | |
void | setSortColumn (uint col_idx) |
Set the column to be used as the sort key. | |
void | setSortColumnByID (uint col_id) |
Set the column to be used as the sort key. | |
void | setShowVertScrollbar (bool setting) |
Set whether the vertical scroll bar should always be shown, or just when needed. | |
void | setShowHorzScrollbar (bool setting) |
Set whether the horizontal scroll bar should always be shown, or just when needed. | |
void | clearAllSelections (void) |
Removed the selected state from any currently selected ListboxItem attached to the list. | |
void | setItemSelectState (ListboxItem *item, bool state) |
Sets or clears the selected state of the given ListboxItem which must be attached to the list. | |
void | setItemSelectState (const MCLGridRef &grid_ref, bool state) |
Sets or clears the selected state of the ListboxItem at the given grid reference. | |
void | handleUpdatedItemData (void) |
Inform the list box that one or more attached ListboxItems have been externally modified, and the list should re-sync its internal state and refresh the display as needed. | |
void | setColumnHeaderWidth (uint col_idx, const UDim &width) |
Set the width of the specified column header (and therefore the column itself). | |
void | setUserSortControlEnabled (bool setting) |
Set whether user manipulation of the sort column and direction are enabled. | |
void | setUserColumnSizingEnabled (bool setting) |
Set whether the user may size column segments. | |
void | setUserColumnDraggingEnabled (bool setting) |
Set whether the user may modify the order of the columns. | |
void | autoSizeColumnHeader (uint col_idx) |
Automatically determines the "best fit" size for the specified column and sets the column width to the same. | |
void | setRowID (uint row_idx, uint row_id) |
Set the ID code assigned to a given row. | |
void | ensureItemIsVisible (const ListboxItem *item) |
Ensure the specified item is made visible within the multi-column listbox. | |
void | ensureItemIsVisible (const MCLGridRef &grid_ref) |
Ensure the item at the specified grid coordinate is visible within the multi-column listbox. | |
void | ensureItemRowIsVisible (const ListboxItem *item) |
Ensure that the row of the item is visible within the multi-column listbox. | |
void | ensureItemColumnIsVisible (const ListboxItem *item) |
Ensure that the column of item is visible within the multi-column listbox. | |
void | ensureRowIsVisible (uint row_idx) |
Ensure that the row with index row_idx is visible within the multi-column listbox. | |
void | ensureColumnIsVisible (uint column_idx) |
Ensure that the column with ID column_idx is visible within the multi-column listbox. | |
void | setAutoSizeColumnUsesHeader (bool include_header) |
Instruct column auto-sizing (autoSizeColumnHeader()) to also use the list header segment size. | |
MultiColumnList (const String &type, const String &name) | |
Constructor for the Multi-column list base class. | |
virtual | ~MultiColumnList (void) |
Destructor for the multi-column list base class. | |
Static Public Attributes | |
static const String | EventNamespace |
Namespace for global events. | |
static const String | WidgetTypeName |
Window factory name. | |
static const String | EventSelectionModeChanged |
static const String | EventNominatedSelectColumnChanged |
static const String | EventNominatedSelectRowChanged |
static const String | EventVertScrollbarModeChanged |
static const String | EventHorzScrollbarModeChanged |
static const String | EventSelectionChanged |
static const String | EventListContentsChanged |
static const String | EventSortColumnChanged |
static const String | EventSortDirectionChanged |
static const String | EventListColumnSized |
static const String | EventListColumnMoved |
static const String | VertScrollbarName |
Widget name for the vertical scrollbar component. | |
static const String | HorzScrollbarName |
Widget name for the horizontal scrollbar component. | |
static const String | ListHeaderName |
Widget name for the list header component. | |
Protected Types | |
typedef std::vector< ListRow CEGUI_VECTOR_ALLOC(ListRow)> | ListItemGrid |
Protected Member Functions | |
void | configureScrollbars (void) |
Return a Rect object describing, in un-clipped pixels, the window relative area that is to be used for rendering list items. | |
bool | selectRange (const MCLGridRef &start, const MCLGridRef &end) |
select all strings between positions start and end. (inclusive). Returns true if something was modified. | |
bool | clearAllSelections_impl (void) |
Clear the selected state for all items (implementation) | |
ListboxItem * | getItemAtPoint (const Vector2f &pt) const |
Return the ListboxItem under the given window local pixel co-ordinate. | |
bool | setItemSelectState_impl (const MCLGridRef grid_ref, bool state) |
Set select state for the given item. This appropriately selects other items depending upon the select mode. Returns true if something is changed, else false. | |
void | setSelectForItemsInRow (uint row_idx, bool state) |
Set select state for all items in the given row. | |
void | setSelectForItemsInColumn (uint col_idx, bool state) |
Set select state for all items in the given column. | |
void | moveColumn_impl (uint col_idx, uint position) |
Move the column at index col_idx so it is at index position. Implementation version which does not move the header segment (since that may have already happened). | |
bool | resetList_impl (void) |
Remove all items from the list. | |
virtual bool | validateWindowRenderer (const WindowRenderer *renderer) const |
Function used in checking if a WindowRenderer is valid for this window. | |
int | writePropertiesXML (XMLSerializer &xml_stream) const |
void | resortList () |
Causes the internal list to be (re)sorted. | |
virtual void | onSelectionModeChanged (WindowEventArgs &e) |
Handler called when the selection mode of the list box changes. | |
virtual void | onNominatedSelectColumnChanged (WindowEventArgs &e) |
Handler called when the nominated selection column changes. | |
virtual void | onNominatedSelectRowChanged (WindowEventArgs &e) |
Handler called when the nominated selection row changes. | |
virtual void | onVertScrollbarModeChanged (WindowEventArgs &e) |
Handler called when the vertical scroll bar 'force' mode is changed. | |
virtual void | onHorzScrollbarModeChanged (WindowEventArgs &e) |
Handler called when the horizontal scroll bar 'force' mode is changed. | |
virtual void | onSelectionChanged (WindowEventArgs &e) |
Handler called when the current selection changes. | |
virtual void | onListContentsChanged (WindowEventArgs &e) |
Handler called when the list contents is changed. | |
virtual void | onSortColumnChanged (WindowEventArgs &e) |
Handler called when the sort column changes. | |
virtual void | onSortDirectionChanged (WindowEventArgs &e) |
Handler called when the sort direction changes. | |
virtual void | onListColumnSized (WindowEventArgs &e) |
Handler called when a column is sized. | |
virtual void | onListColumnMoved (WindowEventArgs &e) |
Handler called when the column order is changed. | |
virtual void | onFontChanged (WindowEventArgs &e) |
Handler called when the window's font is changed. | |
virtual void | onSized (ElementEventArgs &e) |
Handler called when the window's size changes. | |
virtual void | onMouseButtonDown (MouseEventArgs &e) |
Handler called when a mouse button has been depressed within this window's area. | |
virtual void | onMouseWheel (MouseEventArgs &e) |
Handler called when the mouse wheel (z-axis) position changes within this window's area. | |
bool | handleHeaderScroll (const EventArgs &e) |
bool | handleHeaderSegMove (const EventArgs &e) |
bool | handleColumnSizeChange (const EventArgs &e) |
bool | handleHorzScrollbar (const EventArgs &e) |
bool | handleVertScrollbar (const EventArgs &e) |
bool | handleSortColumnChange (const EventArgs &e) |
bool | handleSortDirectionChange (const EventArgs &e) |
bool | handleHeaderSegDblClick (const EventArgs &e) |
Static Protected Member Functions | |
static bool | pred_descend (const ListRow &a, const ListRow &b) |
std algorithm predicate used for sorting in descending order | |
Protected Attributes | |
bool | d_forceVertScroll |
true if vertical scrollbar should always be displayed | |
bool | d_forceHorzScroll |
true if horizontal scrollbar should always be displayed | |
SelectionMode | d_selectMode |
Holds selection mode (represented by settings below). | |
uint | d_nominatedSelectCol |
Nominated column for single column selection. | |
uint | d_nominatedSelectRow |
Nominated row for single row selection. | |
bool | d_multiSelect |
Allow multiple selections. | |
bool | d_fullRowSelect |
All items in a row are selected. | |
bool | d_fullColSelect |
All items in a column are selected. | |
bool | d_useNominatedRow |
true if we use a nominated row to select. | |
bool | d_useNominatedCol |
true if we use a nominated col to select. | |
ListboxItem * | d_lastSelected |
holds pointer to the last selected item (used in range selections) | |
uint | d_columnCount |
keeps track of the number of columns. | |
ListItemGrid | d_grid |
Holds the list box data. | |
bool | d_autoSizeColumnUsesHeader |
whether header size will be considered when auto-sizing columns. | |
Friends | |
class | MultiColumnListWindowRenderer |
Base class for the multi column list widget.
void CEGUI::MultiColumnList::addColumn | ( | const String & | text, |
uint | col_id, | ||
const UDim & | width | ||
) |
uint CEGUI::MultiColumnList::addRow | ( | uint | row_id = 0 | ) |
Add an empty row to the list box.
row_id | ID code to be assigned to the new row. |
uint CEGUI::MultiColumnList::addRow | ( | ListboxItem * | item, |
uint | col_id, | ||
uint | row_id = 0 |
||
) |
Add a row to the list box, and set the item in the column with ID col_id to item.
item | Pointer to a ListboxItem to be used as the initial contents for the column with ID col_id. |
col_id | ID code of the column whos initial item is to be set to item. |
row_id | ID code to be assigned to the new row. |
InvalidRequestException | thrown if no column with the specified ID is attached to the list box. |
void CEGUI::MultiColumnList::autoSizeColumnHeader | ( | uint | col_idx | ) |
Automatically determines the "best fit" size for the specified column and sets the column width to the same.
col_idx | Zero based index of the column to be sized. |
InvalidRequestException | thrown if col_idx is out of range. |
void CEGUI::MultiColumnList::clearAllSelections | ( | void | ) |
Removed the selected state from any currently selected ListboxItem attached to the list.
bool CEGUI::MultiColumnList::clearAllSelections_impl | ( | void | ) | [protected] |
Clear the selected state for all items (implementation)
void CEGUI::MultiColumnList::configureScrollbars | ( | void | ) | [protected] |
Return a Rect object describing, in un-clipped pixels, the window relative area that is to be used for rendering list items.
display required integrated scroll bars according to current state of the list box and update their values.
void CEGUI::MultiColumnList::ensureColumnIsVisible | ( | uint | column_idx | ) |
Ensure that the column with ID column_idx is visible within the multi-column listbox.
column_idx | column_idx is the zero-based index of the column to be made visible. |
void CEGUI::MultiColumnList::ensureItemColumnIsVisible | ( | const ListboxItem * | item | ) |
Ensure that the column of item is visible within the multi-column listbox.
item | Pointer to the ListboxItem whose column is to be made visible in the multi-column listbox. |
void CEGUI::MultiColumnList::ensureItemIsVisible | ( | const ListboxItem * | item | ) |
Ensure the specified item is made visible within the multi-column listbox.
item | Pointer to the ListboxItem to be made visible in the multi-column listbox. |
InvalidRequestException | thrown if item is not attached to this multicolumnlist. |
void CEGUI::MultiColumnList::ensureItemIsVisible | ( | const MCLGridRef & | grid_ref | ) |
Ensure the item at the specified grid coordinate is visible within the multi-column listbox.
grid_ref | MCLGridRef object holding the grid coordinate that is to be made visible. |
void CEGUI::MultiColumnList::ensureItemRowIsVisible | ( | const ListboxItem * | item | ) |
Ensure that the row of the item is visible within the multi-column listbox.
item | Pointer to the ListboxItem whose row is to be made visible in the multi-column listbox. |
void CEGUI::MultiColumnList::ensureRowIsVisible | ( | uint | row_idx | ) |
Ensure that the row with index row_idx is visible within the multi-column listbox.
row_id | row_idx is the zero-based index of the row to be made visible. |
ListboxItem* CEGUI::MultiColumnList::findColumnItemWithText | ( | const String & | text, |
uint | col_idx, | ||
const ListboxItem * | start_item | ||
) | const |
Return the ListboxItem in column col_idx that has the text string text.
text | String object containing the text to be searched for. |
col_idx | Zero based index of the column to be searched. |
start_item | Pointer to the ListboxItem where the exclusive search is to start, or NULL to search from the top of the column. |
InvalidRequestException | thrown if start_item is not attached to the list box, or if col_idx is out of range. |
ListboxItem* CEGUI::MultiColumnList::findListItemWithText | ( | const String & | text, |
const ListboxItem * | start_item | ||
) | const |
Return the ListboxItem that has the text string text.
text | String object containing the text to be searched for. |
start_item | Pointer to the ListboxItem where the exclusive search is to start, or NULL to search the whole list box. |
InvalidRequestException | thrown if start_item is not attached to the list box. |
ListboxItem* CEGUI::MultiColumnList::findRowItemWithText | ( | const String & | text, |
uint | row_idx, | ||
const ListboxItem * | start_item | ||
) | const |
Return the ListboxItem in row row_idx that has the text string text.
text | String object containing the text to be searched for. |
row_idx | Zero based index of the row to be searched. |
start_item | Pointer to the ListboxItem where the exclusive search is to start, or NULL to search from the start of the row. |
InvalidRequestException | thrown if start_item is not attached to the list box, or if row_idx is out of range. |
bool CEGUI::MultiColumnList::getAutoSizeColumnUsesHeader | ( | ) | const |
Get whether or not column auto-sizing (autoSizeColumnHeader()) will use the list header segment size.
uint CEGUI::MultiColumnList::getColumnCount | ( | void | ) | const |
Return the number of columns in the multi-column list.
UDim CEGUI::MultiColumnList::getColumnHeaderWidth | ( | uint | col_idx | ) | const |
Return the width of the specified column header (and therefore the column itself).
col_idx | Zero based column index of the column whos width is to be returned. |
InvalidRequestException | thrown if column is out of range. |
uint CEGUI::MultiColumnList::getColumnID | ( | uint | col_idx | ) | const |
Return the ID code assigned to the requested column.
col_idx | Zero based index of the column whos ID code is to be returned. |
InvalidRequestException | thrown if col_idx is out of range |
uint CEGUI::MultiColumnList::getColumnWithHeaderText | ( | const String & | text | ) | const |
Return the zero based index of the column whos header text matches the specified text.
text | String object containing the text to be searched for. |
InvalidRequestException | thrown if no columns header has the requested text. |
uint CEGUI::MultiColumnList::getColumnWithID | ( | uint | col_id | ) | const |
Return the zero based column index of the column with the specified ID.
col_id | ID code of the column whos index is to be returned. |
InvalidRequestException | thrown if no attached column has the requested ID. |
ListboxItem* CEGUI::MultiColumnList::getFirstSelectedItem | ( | void | ) | const |
Return a pointer to the first selected ListboxItem attached to this list box.
ListHeaderSegment& CEGUI::MultiColumnList::getHeaderSegmentForColumn | ( | uint | col_idx | ) | const |
Return the ListHeaderSegment object for the specified column.
col_idx | zero based index of the column whos ListHeaderSegment is to be returned. |
InvalidRequestException | thrown if col_idx is out of range. |
Return a pointer to the horizontal scrollbar component widget for this MultiColumnList.
UnknownObjectException | Thrown if the horizontal Scrollbar component does not exist. |
ListboxItem* CEGUI::MultiColumnList::getItemAtGridReference | ( | const MCLGridRef & | grid_ref | ) | const |
Return a pointer to the ListboxItem at the specified grid reference.
grid_ref | MCLGridRef object that describes the position of the ListboxItem to be returned. |
InvalidRequestException | thrown if grid_ref is invalid for this list box. |
ListboxItem* CEGUI::MultiColumnList::getItemAtPoint | ( | const Vector2f & | pt | ) | const [protected] |
Return the ListboxItem under the given window local pixel co-ordinate.
uint CEGUI::MultiColumnList::getItemColumnIndex | ( | const ListboxItem * | item | ) | const |
Return the current zero based index of the column that contains item.
item | Pointer to the ListboxItem that the column index is to returned for. |
InvalidRequestException | thrown if item is not attached to the list box. |
MCLGridRef CEGUI::MultiColumnList::getItemGridReference | ( | const ListboxItem * | item | ) | const |
Return the grid reference for item.
item | Pointer to the ListboxItem whos current grid reference is to be returned. |
InvalidRequestException | thrown if item is not attached to the list box. |
uint CEGUI::MultiColumnList::getItemRowIndex | ( | const ListboxItem * | item | ) | const |
Return the zero based index of the Row that contains item.
item | Pointer to the ListboxItem that the row index is to returned for. |
InvalidRequestException | thrown if item is not attached to the list box. |
ListHeader* CEGUI::MultiColumnList::getListHeader | ( | ) | const |
Return a pointer to the list header component widget for this MultiColumnList.
UnknownObjectException | Thrown if the list header component does not exist. |
Rectf CEGUI::MultiColumnList::getListRenderArea | ( | void | ) | const |
ListboxItem* CEGUI::MultiColumnList::getNextSelected | ( | const ListboxItem * | start_item | ) | const |
Return a pointer to the next selected ListboxItem after start_item.
start_item | Pointer to the ListboxItem where the exclusive search is to start, or NULL to search the whole list box. |
InvalidRequestException | thrown if start_item is not attached to the list box. |
uint CEGUI::MultiColumnList::getNominatedSelectionColumn | ( | void | ) | const |
Return the index of the currently set nominated selection column to be used when in one of the NominatedColumn* selection modes.
uint CEGUI::MultiColumnList::getNominatedSelectionColumnID | ( | void | ) | const |
Return the ID of the currently set nominated selection column to be used when in one of the NominatedColumn* selection modes. There must be at least one column to successfully call this method.
uint CEGUI::MultiColumnList::getNominatedSelectionRow | ( | void | ) | const |
Return the index of the currently set nominated selection row to be used when in one of the NominatedRow* selection modes.
uint CEGUI::MultiColumnList::getRowCount | ( | void | ) | const |
Return the number of rows in the multi-column list.
uint CEGUI::MultiColumnList::getRowID | ( | uint | row_idx | ) | const |
Return the ID code assigned to the requested row.
row_idx | Zero based index of the row who's ID code is to be returned. |
InvalidRequestException | thrown if row_idx is out of range |
uint CEGUI::MultiColumnList::getRowWithID | ( | uint | row_id | ) | const |
Return the zero based row index of the row with the specified ID.
row_id | ID code of the row who's index is to be returned. |
InvalidRequestException | thrown if no row has the requested ID. |
uint CEGUI::MultiColumnList::getSelectedCount | ( | void | ) | const |
Return the number of selected ListboxItems attached to this list box.
return uint value equal to the number of ListboxItems attached to this list box that are currently selected.
Return the currently set selection mode.
uint CEGUI::MultiColumnList::getSortColumn | ( | void | ) | const |
Return the zero based index of the current sort column. There must be at least one column to successfully call this method.
InvalidRequestException | thrown if there are no columns in this multi column list. |
Return the currently set sort direction.
UDim CEGUI::MultiColumnList::getTotalColumnHeadersWidth | ( | void | ) | const |
Return the total width of all column headers.
Return a pointer to the vertical scrollbar component widget for this MultiColumnList.
UnknownObjectException | Thrown if the vertical Scrollbar component does not exist. |
void CEGUI::MultiColumnList::handleUpdatedItemData | ( | void | ) |
Inform the list box that one or more attached ListboxItems have been externally modified, and the list should re-sync its internal state and refresh the display as needed.
virtual void CEGUI::MultiColumnList::initialiseComponents | ( | void | ) | [virtual] |
Initialise the Window based object ready for use.
Reimplemented from CEGUI::Window.
void CEGUI::MultiColumnList::insertColumn | ( | const String & | text, |
uint | col_id, | ||
const UDim & | width, | ||
uint | position | ||
) |
Insert a new column in the list.
text | String object containing the text label for the column header. |
col_id | ID code to be assigned to the column header. |
width | UDim describing the initial width to be set for the column. |
position | Zero based index where the column is to be inserted. If this is greater than the current number of columns, the new column is inserted at the end. |
uint CEGUI::MultiColumnList::insertRow | ( | uint | row_idx, |
uint | row_id = 0 |
||
) |
Insert an empty row into the list box.
row_idx | Zero based index where the row should be inserted. If this is greater than the current number of rows, the row is appended to the list. |
row_id | ID code to be assigned to the new row. |
uint CEGUI::MultiColumnList::insertRow | ( | ListboxItem * | item, |
uint | col_id, | ||
uint | row_idx, | ||
uint | row_id = 0 |
||
) |
Insert a row into the list box, and set the item in the column with ID col_id to item.
item | Pointer to a ListboxItem to be used as the initial contents for the column with ID col_id. |
col_id | ID code of the column whos initial item is to be set to item. |
row_idx | Zero based index where the row should be inserted. If this is greater than the current number of rows, the row is appended to the list. |
row_id | ID code to be assigned to the new row. |
InvalidRequestException | thrown if no column with the specified ID is attached to the list box. |
bool CEGUI::MultiColumnList::isHorzScrollbarAlwaysShown | ( | void | ) | const |
Return whether the horizontal scroll bar is always shown.
bool CEGUI::MultiColumnList::isItemSelected | ( | const MCLGridRef & | grid_ref | ) | const |
Return whether the ListboxItem at grid_ref is selected.
grid_ref | MCLGridRef object describing the grid reference that is to be examined. |
InvalidRequestException | thrown if grid_ref contains an invalid grid position. |
bool CEGUI::MultiColumnList::isListboxItemInColumn | ( | const ListboxItem * | item, |
uint | col_idx | ||
) | const |
return whether ListboxItem item is attached to the column at index col_idx.
item | Pointer to the ListboxItem to look for. |
col_idx | Zero based index of the column that is to be searched. |
InvalidRequestException | thrown if col_idx is out of range. |
bool CEGUI::MultiColumnList::isListboxItemInList | ( | const ListboxItem * | item | ) | const |
return whether ListboxItem item is attached to the list box.
item | Pointer to the ListboxItem to look for. |
bool CEGUI::MultiColumnList::isListboxItemInRow | ( | const ListboxItem * | item, |
uint | row_idx | ||
) | const |
return whether ListboxItem item is attached to the row at index row_idx.
item | Pointer to the ListboxItem to look for. |
row_idx | Zero based index of the row that is to be searched. |
InvalidRequestException | thrown if row_idx is out of range. |
bool CEGUI::MultiColumnList::isUserColumnDraggingEnabled | ( | void | ) | const |
Return whether the user may modify the order of the columns.
bool CEGUI::MultiColumnList::isUserColumnSizingEnabled | ( | void | ) | const |
Return whether the user may size column segments.
bool CEGUI::MultiColumnList::isUserSortControlEnabled | ( | void | ) | const |
Return whether user manipulation of the sort column and direction are enabled.
bool CEGUI::MultiColumnList::isVertScrollbarAlwaysShown | ( | void | ) | const |
Return whether the vertical scroll bar is always shown.
void CEGUI::MultiColumnList::moveColumn | ( | uint | col_idx, |
uint | position | ||
) |
Move the column at index col_idx so it is at index position.
col_idx | Zero based index of the column to be moved. |
position | Zero based index of the new position for the column. |
InvalidRequestException | thrown if col_idx is invalid. |
void CEGUI::MultiColumnList::moveColumn_impl | ( | uint | col_idx, |
uint | position | ||
) | [protected] |
Move the column at index col_idx so it is at index position. Implementation version which does not move the header segment (since that may have already happened).
InvalidRequestException | thrown if col_idx is invalid. |
void CEGUI::MultiColumnList::moveColumnWithID | ( | uint | col_id, |
uint | position | ||
) |
Move the column with ID col_id so it is at index position.
col_id | ID code of the column to be moved. |
position | Zero based index of the new position for the column. |
InvalidRequestException | thrown if no column with col_id is available on this list box. |
virtual void CEGUI::MultiColumnList::onFontChanged | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Handler called when the window's font is changed.
e | WindowEventArgs object whose 'window' pointer field is set to the window that triggered the event. For this event the trigger window is always 'this'. |
Reimplemented from CEGUI::Window.
virtual void CEGUI::MultiColumnList::onMouseButtonDown | ( | MouseEventArgs & | e | ) | [protected, virtual] |
Handler called when a mouse button has been depressed within this window's area.
e | MouseEventArgs object. All fields are valid. |
Reimplemented from CEGUI::Window.
virtual void CEGUI::MultiColumnList::onMouseWheel | ( | MouseEventArgs & | e | ) | [protected, virtual] |
Handler called when the mouse wheel (z-axis) position changes within this window's area.
e | MouseEventArgs object. All fields are valid. |
Reimplemented from CEGUI::Window.
virtual void CEGUI::MultiColumnList::onSized | ( | ElementEventArgs & | e | ) | [protected, virtual] |
Handler called when the window's size changes.
e | WindowEventArgs object whose 'window' pointer field is set to the window that triggered the event. For this event the trigger window is always 'this'. |
Reimplemented from CEGUI::Window.
void CEGUI::MultiColumnList::removeColumn | ( | uint | col_idx | ) |
Removes a column from the list box. This will cause any ListboxItem using the autoDelete option in the column to be deleted.
col_idx | Zero based index of the column to be removed. |
InvalidRequestException | thrown if col_idx is invalid. |
void CEGUI::MultiColumnList::removeColumnWithID | ( | uint | col_id | ) |
Removes a column from the list box. This will cause any ListboxItem using the autoDelete option in the column to be deleted.
col_id | ID code of the column to be deleted. |
InvalidRequestException | thrown if no column with col_id is available on this list box. |
void CEGUI::MultiColumnList::removeRow | ( | uint | row_idx | ) |
Remove the list box row with index row_idx. Any ListboxItem in row row_idx using autoDelete mode will be deleted.
row_idx | Zero based index of the row to be removed. |
InvalidRequestException | thrown if row_idx is invalid. |
void CEGUI::MultiColumnList::resetList | ( | void | ) |
Remove all items from the list.
Note that this will cause 'AutoDelete' items to be deleted.
bool CEGUI::MultiColumnList::resetList_impl | ( | void | ) | [protected] |
Remove all items from the list.
void CEGUI::MultiColumnList::setAutoSizeColumnUsesHeader | ( | bool | include_header | ) |
Instruct column auto-sizing (autoSizeColumnHeader()) to also use the list header segment size.
include_header | Whether method autoSizeColumnHeader() also should use the size of the column header segment. |
void CEGUI::MultiColumnList::setColumnHeaderWidth | ( | uint | col_idx, |
const UDim & | width | ||
) |
Set the width of the specified column header (and therefore the column itself).
col_idx | Zero based column index of the column whos width is to be set. |
width | UDim value specifying the new width for the column. |
InvalidRequestException | thrown if column is out of range. |
void CEGUI::MultiColumnList::setItem | ( | ListboxItem * | item, |
const MCLGridRef & | position | ||
) |
Set the ListboxItem for grid reference position.
item | Pointer to the ListboxItem to be set at position. |
position | MCLGridRef describing the grid reference of the item to be set. |
InvalidRequestException | thrown if position contains an invalid grid reference. |
void CEGUI::MultiColumnList::setItem | ( | ListboxItem * | item, |
uint | col_id, | ||
uint | row_idx | ||
) |
Set the ListboxItem for the column with ID col_id in row row_idx.
item | Pointer to the ListboxItem to be set into the list. |
col_id | ID code of the column to receive item. |
row_idx | Zero based index of the row to receive item. |
InvalidRequestException | thrown if no column with ID col_id exists, or of row_idx is out of range. |
void CEGUI::MultiColumnList::setItemSelectState | ( | ListboxItem * | item, |
bool | state | ||
) |
Sets or clears the selected state of the given ListboxItem which must be attached to the list.
item | Pointer to the attached ListboxItem to be affected. |
state |
|
InvalidRequestException | thrown if item is not attached to the list box. |
void CEGUI::MultiColumnList::setItemSelectState | ( | const MCLGridRef & | grid_ref, |
bool | state | ||
) |
Sets or clears the selected state of the ListboxItem at the given grid reference.
grid_ref | MCLGridRef object describing the position of the item to be affected. |
state |
|
InvalidRequestException | thrown if grid_ref is invalid for this list box. |
void CEGUI::MultiColumnList::setNominatedSelectionColumn | ( | uint | col_idx | ) |
Set the column to be used for the NominatedColumn* selection modes.
col_idx | zero based index of the column to be used in NominatedColumn* selection modes. |
InvalidRequestException | thrown if col_idx is out of range. |
void CEGUI::MultiColumnList::setNominatedSelectionColumnID | ( | uint | col_id | ) |
Set the column to be used for the NominatedColumn* selection modes.
col_id | ID code of the column to be used in NominatedColumn* selection modes. |
InvalidRequestException | thrown if no column has ID code col_id. |
void CEGUI::MultiColumnList::setNominatedSelectionRow | ( | uint | row_idx | ) |
Set the row to be used for the NominatedRow* selection modes.
row_idx | zero based index of the row to be used in NominatedRow* selection modes. |
InvalidRequestException | thrown if row_idx is out of range. |
void CEGUI::MultiColumnList::setRowID | ( | uint | row_idx, |
uint | row_id | ||
) |
Set the ID code assigned to a given row.
row_idx | Zero based index of the row who's ID code is to be set. |
row_id | ID code to be assigned to the row at the requested index. |
InvalidRequestException | thrown if row_idx is out of range |
void CEGUI::MultiColumnList::setSelectionMode | ( | MultiColumnList::SelectionMode | sel_mode | ) |
Set the selection mode for the list box.
sel_mode | One of the MultiColumnList::SelectionMode enumerated values specifying the selection mode to be used. |
InvalidRequestException | thrown if the value specified for sel_mode is invalid. |
void CEGUI::MultiColumnList::setShowHorzScrollbar | ( | bool | setting | ) |
Set whether the horizontal scroll bar should always be shown, or just when needed.
setting |
|
void CEGUI::MultiColumnList::setShowVertScrollbar | ( | bool | setting | ) |
Set whether the vertical scroll bar should always be shown, or just when needed.
setting |
|
void CEGUI::MultiColumnList::setSortColumn | ( | uint | col_idx | ) |
Set the column to be used as the sort key.
col_idx | Zero based index of the column to use as the key when sorting the list items. |
InvalidRequestException | thrown if col_idx is out of range. |
void CEGUI::MultiColumnList::setSortColumnByID | ( | uint | col_id | ) |
Set the column to be used as the sort key.
col_id | ID code of the column to use as the key when sorting the list items. |
InvalidRequestException | thrown if col_id is invalid for this list box. |
void CEGUI::MultiColumnList::setSortDirection | ( | ListHeaderSegment::SortDirection | direction | ) |
Set the sort direction to be used.
direction | One of the ListHeaderSegment::SortDirection enumerated values specifying the sort direction to be used. |
void CEGUI::MultiColumnList::setUserColumnDraggingEnabled | ( | bool | setting | ) |
Set whether the user may modify the order of the columns.
setting |
|
void CEGUI::MultiColumnList::setUserColumnSizingEnabled | ( | bool | setting | ) |
Set whether the user may size column segments.
setting |
|
void CEGUI::MultiColumnList::setUserSortControlEnabled | ( | bool | setting | ) |
Set whether user manipulation of the sort column and direction are enabled.
setting |
|
virtual bool CEGUI::MultiColumnList::validateWindowRenderer | ( | const WindowRenderer * | renderer | ) | const [protected, virtual] |
Function used in checking if a WindowRenderer is valid for this window.
renderer | Window renderer that will be checked (it can be null!) |
Reimplemented from CEGUI::Window.
const String CEGUI::MultiColumnList::EventHorzScrollbarModeChanged [static] |
Event fired when the horizontal scroll bar 'force' setting changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose horizontal scroll bar mode has been changed.
const String CEGUI::MultiColumnList::EventListColumnMoved [static] |
Event fired when the column order changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList for which the order of columns has been changed.
const String CEGUI::MultiColumnList::EventListColumnSized [static] |
Event fired when the width of a column in the list changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList for which a column width has changed.
const String CEGUI::MultiColumnList::EventListContentsChanged [static] |
Event fired when the contents of the list box changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose contents has changed.
const String CEGUI::MultiColumnList::EventNominatedSelectColumnChanged [static] |
Event fired when the nominated select column changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose nominated selection column has been changed.
const String CEGUI::MultiColumnList::EventNominatedSelectRowChanged [static] |
Event fired when the nominated select row changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose nominated selection row has been changed.
const String CEGUI::MultiColumnList::EventSelectionChanged [static] |
Event fired when the current selection(s) within the list box changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose current selection has changed.
const String CEGUI::MultiColumnList::EventSelectionModeChanged [static] |
Event fired when the selection mode for the list box changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose selection mode has been changed.
const String CEGUI::MultiColumnList::EventSortColumnChanged [static] |
Event fired when the sort column changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose sort column has been changed.
const String CEGUI::MultiColumnList::EventSortDirectionChanged [static] |
Event fired when the sort direction changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose sort direction has been changed.
const String CEGUI::MultiColumnList::EventVertScrollbarModeChanged [static] |
Event fired when the vertical scroll bar 'force' setting changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the MultiColumnList whose vertical scroll bar mode has been changed.