Wt::WTreeTable Class Reference

A table with a navigatable tree in the first column. More...

#include <Wt/WTreeTable>

Inheritance diagram for Wt::WTreeTable:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 WTreeTable (WContainerWidget *parent=0)
 Construct a new WTreeTable.
void addColumn (const WString &header, const WLength &width)
 Add a column.
int numColumns () const
 The number of columns in this table.
void setTreeRoot (WTreeTableNode *root, const WString &header)
 Set the tree root.
WTreeTableNodetreeRoot ()
 Get the tree root.
void setTree (WTree *tree, const WString &header)
 Set the tree which provides the data for the tree table.
WTreetree () const
 Get the tree that provides the data this table.
WLength columnWidth (int column) const
 Get the column width for the given column.
WTextheader (int column) const
 Get the header for the given column.
WWidgetheaderWidget () const
 Get the header widget.


Detailed Description

A table with a navigatable tree in the first column.

A WTreeTable implements a tree table, where additional data associated is associated with tree items, which are organized in columns.

Unlike the MVC-based WTreeView widget, the tree renders a widget hierarchy, rather than a hierarhical standard model. This provides extra flexibility (as any widget can be used as contents), at the cost of server-side, client-side and bandwidth resources (especially for large tree tables).

The actual data is organized and provided by WTreeTableNode widgets.

To use the tree table, you must first use addColumn() to specify the additional data columns. Then, you must set the tree root using setTreeRoot() and bind additional information (text or other widgets) in each node using WTreeTableNode::setColumnWidget().

To apply a style to the table header hou should use CSS in conjunction with the style class ("header") that is set for the header row. Alternatively, you may access the header directly using headerWidget(). To apply a different style to each column header, you can access each column header widget using header(int), e.g. to set a style class.

The table cannot be given a height using CSS style rules, instead you must use layout managers, or use resize().

See also:
WTreeTableNode

WTreeView


Constructor & Destructor Documentation

Wt::WTreeTable::WTreeTable ( WContainerWidget parent = 0  ) 

Construct a new WTreeTable.

The treeRoot() is 0. The table should first be properly dimensioned using addColumn() calls, and then data using setTreeRoot().


Member Function Documentation

void Wt::WTreeTable::addColumn ( const WString header,
const WLength width 
)

Add a column.

Add a column, by specifying a header and a column width.

int Wt::WTreeTable::numColumns (  )  const [inline]

The number of columns in this table.

Returns the number of columns in the table, including in the count the first column which contains the tree.

void Wt::WTreeTable::setTreeRoot ( WTreeTableNode root,
const WString header 
)

Set the tree root.

Sets the data for the tree table, and specify the header for the first column.

See also:
treeRoot(), setTree(WTree *tree, const WString&)

void Wt::WTreeTable::setTree ( WTree tree,
const WString header 
)

Set the tree which provides the data for the tree table.

See also:
setTreeRoot(WTreeTableNode *, const WString&).

WTree* Wt::WTreeTable::tree (  )  const [inline]

Get the tree that provides the data this table.

See also:
setTree(WTree *tree, const WString&).

WLength Wt::WTreeTable::columnWidth ( int  column  )  const [inline]

Get the column width for the given column.

The width of the first column (with index 0), containing the tree, is implied by the width set for the table minus the width of all other columns.

See also:
addColumn(const WString&, const WLength&)

WText * Wt::WTreeTable::header ( int  column  )  const

Get the header for the given column.

See also:
addColumn(const WString&, const WLength&)


Generated on Mon Jan 26 14:14:11 2009 for Wt by doxygen 1.5.6