5#ifndef NIRT_I_GUI_TABLE_HPP_INCLUDED
6#define NIRT_I_GUI_TABLE_HPP_INCLUDED
8#include <nirtcpp/core/engine/IGUIElement.hpp>
9#include <nirtcpp/core/engine/SColor.hpp>
67 const c8*
const GUIOrderingModeNames[] =
75 enum EGUI_TABLE_DRAW_FLAGS
98 virtual void addColumn(
const wchar_t* caption,
s32 columnIndex=-1) = 0;
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
Very simple string class with some useful features.
Definition irrString.hpp:94
Base class of all GUI elements.
Definition IGUIElement.hpp:24
virtual void draw()
Draws the element and its children.
Definition IGUIElement.hpp:331
GUI Environment. Used as factory and manager of all other GUI elements.
Definition IGUIEnvironment.hpp:73
Font interface.
Definition IGUIFont.hpp:40
Default list box GUI element.
Definition IGUITable.hpp:90
virtual s32 getActiveColumn() const =0
Returns which header is currently active.
IGUITable(IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle)
constructor
Definition IGUITable.hpp:93
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 IGUIFont * getOverrideFont(void) const =0
Gets the override font (if any)
virtual void swapRows(u32 rowIndexA, u32 rowIndexB)=0
Swap two row positions.
virtual void setOverrideFont(IGUIFont *font=0)=0
Sets another skin independent font.
virtual s32 getItemHeight() const =0
Get the height of items/rows.
virtual s32 getDrawFlags() const =0
Get the flags, as defined in EGUI_TABLE_DRAW_FLAGS, which influence the layout.
virtual void setSelected(s32 index)=0
set which row is currently selected
virtual u32 addRow(u32 rowIndex)=0
adds a row to the table
virtual void setCellText(u32 rowIndex, u32 columnIndex, const core::stringw &text)=0
Set the text of a cell.
virtual void setDrawBackground(bool draw)=0
Sets whether to draw the background.
virtual void removeColumn(u32 columnIndex)=0
remove a column from the table
virtual void setCellData(u32 rowIndex, u32 columnIndex, void *data)=0
Set the data of a cell.
virtual void removeRow(u32 rowIndex)=0
Remove a row from the table.
virtual void * getCellData(u32 rowIndex, u32 columnIndex) const =0
Get the data of a cell.
virtual void setCellColor(u32 rowIndex, u32 columnIndex, video::SColor color)=0
Set the color of a cell text.
virtual void setColumnWidth(u32 columnIndex, u32 width)=0
Set the width of a column.
virtual void addColumn(const wchar_t *caption, s32 columnIndex=-1)=0
Adds a column.
virtual u32 getColumnWidth(u32 columnIndex) const =0
Get the width of a column.
virtual IGUIFont * getActiveFont() const =0
Get the font which is used right now for drawing.
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 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 clear()=0
clears the table, deletes all items in the table
virtual IGUIScrollBar * getHorizontalScrollBar() const =0
Access the horizontal scrollbar.
virtual void setResizableColumns(bool resizable)=0
columns can be resized by drag 'n drop
virtual const wchar_t * getCellText(u32 rowIndex, u32 columnIndex) const =0
Get the text of a cell.
virtual s32 getSelected() const =0
Returns which row is currently selected.
virtual s32 getRowCount() const =0
Get amount of rows in the tabcontrol.
virtual IGUIScrollBar * getVerticalScrollBar() const =0
Access the vertical scrollbar.
virtual EGUI_ORDERING_MODE getActiveColumnOrdering() const =0
Returns the ordering used by the currently active column.
virtual bool setActiveColumn(s32 idx, bool doOrder=false)=0
Makes a column active. This will trigger an ordering process.
virtual void clearRows()=0
clears the table rows, but keeps the columns intact
virtual bool hasResizableColumns() const =0
can columns be resized by drag 'n drop?
virtual void setDrawFlags(s32 flags)=0
Set flags, as defined in EGUI_TABLE_DRAW_FLAGS, which influence the layout.
virtual bool isDrawBackgroundEnabled() const =0
Checks if background drawing is enabled.
virtual s32 getColumnCount() const =0
Returns the number of columns in the table control.
Class representing a 32 bit ARGB color.
Definition SColor.hpp:317
EGUI_COLUMN_ORDERING
modes for ordering used when a column header is clicked
Definition IGUITable.hpp:20
@ EGCO_CUSTOM
Send a EGET_TABLE_HEADER_CHANGED message when a column header is clicked.
Definition IGUITable.hpp:25
@ EGCO_ASCENDING
Sort it ascending by it's ascii value like: a,b,c,...
Definition IGUITable.hpp:28
@ EGCO_COUNT
Not used as mode, only to get maximum value for this enum.
Definition IGUITable.hpp:37
@ EGCO_NONE
Do not use ordering.
Definition IGUITable.hpp:22
@ EGCO_DESCENDING
Sort it descending by it's ascii value like: z,x,y,...
Definition IGUITable.hpp:31
@ EGCO_FLIP_ASCENDING_DESCENDING
Sort it ascending on first click, descending on next, etc.
Definition IGUITable.hpp:34
const c8 *const GUIColumnOrderingNames[]
Names for EGUI_COLUMN_ORDERING types.
Definition IGUITable.hpp:41
EGUI_ORDERING_MODE
Definition IGUITable.hpp:52
@ EGOM_DESCENDING
Elements are ordered from the largest to the smallest.
Definition IGUITable.hpp:60
@ EGOM_NONE
No element ordering.
Definition IGUITable.hpp:54
@ EGOM_COUNT
Definition IGUITable.hpp:64
@ EGOM_ASCENDING
Elements are ordered from the smallest to the largest.
Definition IGUITable.hpp:57
@ EGUIET_TABLE
A Table.
Definition EGUIElementTypes.hpp:77
As of Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
signed int s32
32 bit signed variable.
Definition irrTypes.hpp:72
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.hpp:64
char c8
8 bit character variable.
Definition irrTypes.hpp:37