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.
WTreeNode * treeRoot () const
 Get the root node.
void setSelectionMode (SelectionMode mode)
 Set the selection mode.
SelectionMode selectionMode () const
 Get the selection mode.
const WTreeNodeSet & selectedNodes () 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.
Signal & itemSelectionChanged ()
 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 Tue Sep 1 17:51:17 2009 for Wt by doxygen 1.5.6