Wt::WTree Class Reference

A widget that represents a navigatable tree. More...

#include <Wt/WTree>

Inheritance diagram for Wt::WTree:

Inheritance graph
[legend]

List of all members.

Public Types

typedef std::set< WTreeNode * > WTreeNodeSet
 Typedef for a set of WTreeNode's.

Public Member Functions

 WTree (WContainerWidget *parent=0)
 Create a new tree.
void setTreeRoot (WTreeNode *root)
 Set the tree root node.
WTreeNodetreeRoot () const
 Get the root node.
void setSelectionMode (SelectionMode mode)
 Set the selection mode.
SelectionMode selectionMode () const
 Get the selection mode.
const WTreeNodeSetselectedNodes () const
 Get the set of selected tree nodes.
void select (const WTreeNodeSet &nodes)
 Set a selection of tree nodes.
void select (WTreeNode *node, bool selected=true)
 Select or unselect the given node.
bool isSelected (WTreeNode *node) const
 Return if the given node is currently selected.
void clearSelection ()
 Clear the current selection.
SignalitemSelectionChanged ()
 Signal that is emitted when the selection changes.


Detailed Description

A widget that represents a navigatable tree.

WTree provides a tree widget, and coordinates selection functionality.

Unlike the MVC-based WTreeView, 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 tree is implemented as a hierarchy of WTreeNode widgets.

Selection is rendered by calling WTreeNode::renderSelected(bool). Only tree nodes that are selectable may participate in the selection.

Usage example:

 Wt::WIconPair *folderIcon = new Wt::WIconPair("icons/yellow-folder-closed.png",
                                               "icons/yellow-folder-open.png", false);

 Wt::WTree *tree = new Wt::WTree();
 tree->setSelectionMode(Wt::SingleSelection);

 Wt::WTreeNode *root = new Wt::WTreeNode("Tree root", folderIcon);
 root->setStyleClass("example-tree");
 tree->setTreeRoot(root);
 root->label()->setTextFormat(Wt::PlainText);
 root->setImagePack("resources/");
 root->setLoadPolicy(Wt::WTreeNode::NextLevelLoading);
 root->addChildNode(new Wt::WTreeNode("one"));
 root->addChildNode(new Wt::WTreeNode("two"));

 Wt::WTreeNode *three = new Wt::WTreeNode("three");
 three->addChildNode(new WTreeNode("three: one"));
 three->addChildNode(new WTreeNode("three: two"));
 root->addChildNode(three);

 root->expand();

See also:
WTreeNode, WTreeTable, WTreeView

Member Function Documentation

void Wt::WTree::setTreeRoot ( WTreeNode root  ) 

Set the tree root node.

See also:
treeRoot()

WTreeNode* Wt::WTree::treeRoot (  )  const [inline]

Get the root node.

See also:
setTreeRoot(WTreeNode *)

void Wt::WTree::setSelectionMode ( SelectionMode  mode  ) 

Set the selection mode.

The default selection mode is Wt::NoSelection.


Generated on Mon Mar 9 08:27:52 2009 for Wt by doxygen 1.5.6