| Irrlicht 3D Engine |

Public Member Functions
irr::gui::IGUITable Class Reference

Default list box GUI element. More...

`#include <IGUITable.h>`

Inheritance diagram for irr::gui::IGUITable:

List of all members.

## Public Member Functions

- IGUITable (IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle)
    constructor
- virtual void addColumn (const wchar_t *caption, s32 columnIndex=-1)=0
    Adds a column.
- virtual u32 addRow (u32 rowIndex)=0
    adds a row to the table
- virtual void clear ()=0
    clears the table, deletes all items in the table
- virtual void clearRows ()=0
    clears the table rows, but keeps the columns intact
- virtual s32 getActiveColumn () const =0
    Returns which header is currently active.
- virtual EGUI_ORDERING_MODE getActiveColumnOrdering () const =0
    Returns the ordering used by the currently active column.
- virtual void * getCellData (u32 rowIndex, u32 columnIndex) const =0
    Get the data of a cell.
- virtual const wchar_t * getCellText (u32 rowIndex, u32 columnIndex) const =0
    Get the text of a cell.
- virtual s32 getColumnCount () const =0
    Returns the number of columns in the table control.
- virtual u32 getColumnWidth (u32 columnIndex) const =0
    Get the width of a column.
- virtual s32 getDrawFlags () const =0
    Get the flags, as defined in EGUI_TABLE_DRAW_FLAGS, which influence the layout.
- virtual s32 getRowCount () const =0
    Get amount of rows in the tabcontrol.
- virtual s32 getSelected () const =0
    Returns which row is currently selected.
- virtual bool hasResizableColumns () const =0
    can columns be resized by dran 'n drop?
- virtual void orderRows (s32 columnIndex=-1, EGUI_ORDERING_MODE mode=EGOM_NONE)=0
    This tells the table to start ordering all the rows.
- virtual void removeColumn (u32 columnIndex)=0
    remove a column from the table
- virtual void removeRow (u32 rowIndex)=0
    Remove a row from the table.
- virtual bool setActiveColumn (s32 idx, bool doOrder=false)=0
    Makes a column active. This will trigger an ordering process.
- virtual void setCellColor (u32 rowIndex, u32 columnIndex, video::SColor color)=0
    Set the color of a cell text.
- virtual void setCellData (u32 rowIndex, u32 columnIndex, void *data)=0
    Set the data of a cell.
- virtual void setCellText (u32 rowIndex, u32 columnIndex, const core::stringw &text)=0
    Set the text of a cell.
- virtual void setCellText (u32 rowIndex, u32 columnIndex, const core::stringw &text, video::SColor color)=0
    Set the text of a cell, and set a color of this cell.
- virtual void setColumnOrdering (u32 columnIndex, EGUI_COLUMN_ORDERING mode)=0
    This tells the table control which ordering mode should be used when a column header is clicked.
- virtual void setColumnWidth (u32 columnIndex, u32 width)=0
    Set the width of a column.
- virtual void setDrawFlags (s32 flags)=0
    Set flags, as defined in EGUI_TABLE_DRAW_FLAGS, which influence the layout.
- virtual void setResizableColumns (bool resizable)=0
    columns can be resized by drag 'n drop
- virtual void setSelected (s32 index)=0
    set wich row is currently selected
- virtual void swapRows (u32 rowIndexA, u32 rowIndexB)=0
    Swap two row positions.

## Detailed Description

Default list box GUI element.

This element can create the following events of type EGUI_EVENT_TYPE:
  - EGET_TABLE_CHANGED
  - EGET_TABLE_SELECTED_AGAIN
  - EGET_TABLE_HEADER_CHANGED

Definition at line 89 of file IGUITable.h.

## Constructor & Destructor Documentation

irr::gui::IGUITable::IGUITable | ( | IGUIEnvironment * | environment,
|  | IGUIElement * | parent,
|  | s32 | id,
|  | core::rect< s32 > | rectangle
| ) |  | `[inline]`

constructor

Definition at line 93 of file IGUITable.h.

## Member Function Documentation

virtual void irr::gui::IGUITable::addColumn | ( | const wchar_t * | caption,
|  | s32 | columnIndex = `-1`
| ) |  | `[pure virtual]`

Adds a column.

If columnIndex is outside the current range, do push new colum at the end

virtual u32 irr::gui::IGUITable::addRow | ( | u32 | rowIndex | ) | `[pure virtual]`

adds a row to the table

Parameters:

  rowIndex | Zero based index of rows. The row will be inserted at this position, if a row already exist there, it will be placed after it. If the row is larger than the actual number of row by more than one, it won't be created. Note that if you create a row that's not at the end, there might be performance issues.

Returns:
  index of inserted row.

virtual void irr::gui::IGUITable::clear | ( |  | ) | `[pure virtual]`

clears the table, deletes all items in the table

virtual void irr::gui::IGUITable::clearRows | ( |  | ) | `[pure virtual]`

clears the table rows, but keeps the columns intact

virtual s32 irr::gui::IGUITable::getActiveColumn | ( |  | ) | const`[pure virtual]`

Returns which header is currently active.

virtual EGUI_ORDERING_MODE irr::gui::IGUITable::getActiveColumnOrdering | ( |  | ) | const`[pure virtual]`

Returns the ordering used by the currently active column.

virtual void* irr::gui::IGUITable::getCellData | ( | u32 | rowIndex,
|  | u32 | columnIndex
| ) |  | const`[pure virtual]`

Get the data of a cell.

virtual const wchar_t* irr::gui::IGUITable::getCellText | ( | u32 | rowIndex,
|  | u32 | columnIndex
| ) |  | const`[pure virtual]`

Get the text of a cell.

virtual s32 irr::gui::IGUITable::getColumnCount | ( |  | ) | const`[pure virtual]`

Returns the number of columns in the table control.

virtual u32 irr::gui::IGUITable::getColumnWidth | ( | u32 | columnIndex | ) | const`[pure virtual]`

Get the width of a column.

virtual s32 irr::gui::IGUITable::getDrawFlags | ( |  | ) | const`[pure virtual]`

Get the flags, as defined in EGUI_TABLE_DRAW_FLAGS, which influence the layout.

virtual s32 irr::gui::IGUITable::getRowCount | ( |  | ) | const`[pure virtual]`

Get amount of rows in the tabcontrol.

virtual s32 irr::gui::IGUITable::getSelected | ( |  | ) | const`[pure virtual]`

Returns which row is currently selected.

virtual bool irr::gui::IGUITable::hasResizableColumns | ( |  | ) | const`[pure virtual]`

can columns be resized by dran 'n drop?

virtual void irr::gui::IGUITable::orderRows | ( | s32 | columnIndex = `-1`,
|  | EGUI_ORDERING_MODE | mode = `EGOM_NONE`
| ) |  | `[pure virtual]`

This tells the table to start ordering all the rows.

You need to explicitly tell the table to re order the rows when a new row is added or the cells data is changed. This makes the system more flexible and doesn't make you pay the cost of ordering when adding a lot of rows.

Parameters:

  columnIndex,: | When set to -1 the active column is used.
  mode | Ordering mode of the rows.

virtual void irr::gui::IGUITable::removeColumn | ( | u32 | columnIndex | ) | `[pure virtual]`

remove a column from the table

virtual void irr::gui::IGUITable::removeRow | ( | u32 | rowIndex | ) | `[pure virtual]`

Remove a row from the table.

virtual bool irr::gui::IGUITable::setActiveColumn | ( | s32 | idx,
|  | bool | doOrder = `false`
| ) |  | `[pure virtual]`

Makes a column active. This will trigger an ordering process.

Parameters:

  idx,: | The id of the column to make active.
  doOrder,: | Do also the ordering which depending on mode for active column

Returns:
  True if successful.

virtual void irr::gui::IGUITable::setCellColor | ( | u32 | rowIndex,
|  | u32 | columnIndex,
|  | video::SColor | color
| ) |  | `[pure virtual]`

Set the color of a cell text.

virtual void irr::gui::IGUITable::setCellData | ( | u32 | rowIndex,
|  | u32 | columnIndex,
|  | void * | data
| ) |  | `[pure virtual]`

Set the data of a cell.

virtual void irr::gui::IGUITable::setCellText | ( | u32 | rowIndex,
|  | u32 | columnIndex,
|  | const core::stringw & | text
| ) |  | `[pure virtual]`

Set the text of a cell.

virtual void irr::gui::IGUITable::setCellText | ( | u32 | rowIndex,
|  | u32 | columnIndex,
|  | const core::stringw & | text,
|  | video::SColor | color
| ) |  | `[pure virtual]`

Set the text of a cell, and set a color of this cell.

virtual void irr::gui::IGUITable::setColumnOrdering | ( | u32 | columnIndex,
|  | EGUI_COLUMN_ORDERING | mode
| ) |  | `[pure virtual]`

This tells the table control which ordering mode should be used when a column header is clicked.

Parameters:

  columnIndex | The index of the column header.
  mode,: | One of the modes defined in EGUI_COLUMN_ORDERING

virtual void irr::gui::IGUITable::setColumnWidth | ( | u32 | columnIndex,
|  | u32 | width
| ) |  | `[pure virtual]`

Set the width of a column.

virtual void irr::gui::IGUITable::setDrawFlags | ( | s32 | flags | ) | `[pure virtual]`

Set flags, as defined in EGUI_TABLE_DRAW_FLAGS, which influence the layout.

virtual void irr::gui::IGUITable::setResizableColumns | ( | bool | resizable | ) | `[pure virtual]`

columns can be resized by drag 'n drop

virtual void irr::gui::IGUITable::setSelected | ( | s32 | index | ) | `[pure virtual]`

set wich row is currently selected

virtual void irr::gui::IGUITable::swapRows | ( | u32 | rowIndexA,
|  | u32 | rowIndexB
| ) |  | `[pure virtual]`

Swap two row positions.

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

- IGUITable.h