| 
    Wt
    4.0.0
    
   | 
 
A widget that represents a navigatable tree. More...
#include <Wt/WTree.h>

Public Types | |
| typedef std::set< WTreeNode * > | WTreeNodeSet | 
| Typedef for a set of WTreeNode's.  | |
  Public Types inherited from Wt::WObject | |
| typedef void(WObject::* | Method) () | 
| Typedef for a WObject method without arguments.  | |
Public Member Functions | |
| WTree () | |
| Creates a new tree.  | |
| void | setTreeRoot (std::unique_ptr< WTreeNode > root) | 
| Sets the tree root node.  More... | |
| WTreeNode * | treeRoot () const | 
| Returns the root node.  More... | |
| void | setSelectionMode (SelectionMode mode) | 
| Sets the selection mode.  More... | |
| SelectionMode | selectionMode () const | 
| Returns the selection mode.  | |
| const WTreeNodeSet & | selectedNodes () const | 
| Returns the set of selected tree nodes.  | |
| void | select (const WTreeNodeSet &nodes) | 
| Sets a selection of tree nodes.  | |
| void | select (WTreeNode *node, bool selected=true) | 
| Selects or unselect the given node.  | |
| bool | isSelected (WTreeNode *node) const | 
| Returns if the given node is currently selected.  | |
| void | clearSelection () | 
| Clears the current selection.  | |
| Signal & | itemSelectionChanged () | 
| Signal that is emitted when the selection changes.  | |
  Public Member Functions inherited from Wt::WCompositeWidget | |
| WCompositeWidget () | |
| Creates a WCompositeWidget.  More... | |
| WCompositeWidget (std::unique_ptr< WWidget > implementation) | |
| Creates a WCompositeWidget with given implementation.  More... | |
| virtual std::vector< WWidget * > | children () const override | 
| Returns child widgets.  More... | |
| virtual std::unique_ptr< WWidget > | removeWidget (WWidget *widget) override | 
| Removes a child widget.  | |
| virtual void | setObjectName (const std::string &name) override | 
| Sets an object name.  More... | |
| virtual std::string | objectName () const override | 
| Returns the object name.  More... | |
| virtual const std::string | id () const override | 
| Returns the (unique) identifier for this object.  More... | |
| virtual void | setPositionScheme (PositionScheme scheme) override | 
| Sets the CSS position scheme.  More... | |
| virtual PositionScheme | positionScheme () const override | 
| Returns the CSS position scheme.  More... | |
| virtual void | setOffsets (const WLength &offset, WFlags< Side > sides=AllSides) override | 
| Sets CSS offsets for a non-statically positioned widget.  More... | |
| virtual WLength | offset (Side s) const override | 
| Returns a CSS offset.  More... | |
| virtual void | resize (const WLength &width, const WLength &height) override | 
| Resizes the widget.  More... | |
| virtual WLength | width () const override | 
| Returns the width.  More... | |
| virtual WLength | height () const override | 
| Returns the height.  More... | |
| virtual void | setMinimumSize (const WLength &width, const WLength &height) override | 
| Sets a minimum size.  More... | |
| virtual WLength | minimumWidth () const override | 
| Returns the minimum width.  More... | |
| virtual WLength | minimumHeight () const override | 
| Returns the minimum height.  More... | |
| virtual void | setMaximumSize (const WLength &width, const WLength &height) override | 
| Sets a maximum size.  More... | |
| virtual WLength | maximumWidth () const override | 
| Returns the maximum width.  More... | |
| virtual WLength | maximumHeight () const override | 
| Returns the maximum height.  More... | |
| virtual void | setLineHeight (const WLength &height) override | 
| Sets the CSS line height for contained text.  | |
| virtual WLength | lineHeight () const override | 
| Returns the CSS line height for contained text.  More... | |
| virtual void | setFloatSide (Side s) override | 
| Specifies a CSS float side.  More... | |
| virtual Side | floatSide () const override | 
| Returns the CSS float side.  More... | |
| virtual void | setClearSides (WFlags< Side > sides) override | 
| Sets the sides that should be cleared of floats.  More... | |
| virtual WFlags< Side > | clearSides () const override | 
| Returns the sides that should remain empty.  More... | |
| virtual void | setMargin (const WLength &margin, WFlags< Side > sides=AllSides) override | 
| Sets CSS margins around the widget.  More... | |
| virtual WLength | margin (Side side) const override | 
| Returns a CSS margin set.  More... | |
| virtual void | setHiddenKeepsGeometry (bool enabled) override | 
| Sets whether the widget keeps its geometry when hidden.  More... | |
| virtual bool | hiddenKeepsGeometry () const override | 
| Returns whether the widget keeps its geometry when hidden.  More... | |
| virtual void | setHidden (bool hidden, const WAnimation &animation=WAnimation()) override | 
| Hides or shows the widget.  More... | |
| virtual bool | isHidden () const override | 
| Returns whether the widget is set hidden.  More... | |
| virtual bool | isVisible () const override | 
| Returns whether the widget is visible.  More... | |
| virtual void | setDisabled (bool disabled) override | 
| Sets whether the widget is disabled.  More... | |
| virtual bool | isDisabled () const override | 
| Returns whether the widget is set disabled.  More... | |
| virtual bool | isEnabled () const override | 
| Returns whether the widget is enabled.  More... | |
| virtual void | setPopup (bool popup) override | 
| Lets the widget overlay over other sibling widgets.  More... | |
| virtual bool | isPopup () const override | 
| Returns whether the widget is overlayed.  More... | |
| virtual void | setInline (bool isInline) override | 
| Sets whether the widget is displayed inline or as a block.  More... | |
| virtual bool | isInline () const override | 
| Returns whether the widget is displayed inline or as block.  More... | |
| virtual void | setDecorationStyle (const WCssDecorationStyle &style) override | 
| Sets a CSS decoration style.  More... | |
| virtual WCssDecorationStyle & | decorationStyle () override | 
| Returns the decoration style of this widget.  More... | |
| virtual void | setStyleClass (const WString &styleClass) override | 
| Sets (one or more) CSS style classes.  More... | |
| virtual WString | styleClass () const override | 
| Returns the CSS style class.  More... | |
| virtual void | addStyleClass (const WString &styleClass, bool force=false) override | 
| Adds a CSS style class.  More... | |
| virtual void | removeStyleClass (const WString &styleClass, bool force=false) override | 
| Removes a CSS style class.  More... | |
| virtual bool | hasStyleClass (const WString &styleClass) const override | 
| Returns whether the widget has a style class.  | |
| virtual void | setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength::Auto) override | 
| Sets the vertical alignment.  More... | |
| virtual AlignmentFlag | verticalAlignment () const override | 
| Returns the vertical alignment.  More... | |
| virtual WLength | verticalAlignmentLength () const override | 
| Returns the fixed vertical alignment that was set.  More... | |
| virtual void | setToolTip (const WString &text, TextFormat textFormat=TextFormat::Plain) override | 
| Sets a tooltip.  More... | |
| virtual WString | toolTip () const override | 
| Returns the tooltip.  | |
| virtual void | setDeferredToolTip (bool enable, TextFormat textFormat=TextFormat::Plain) override | 
| Enable deferred tooltip.  More... | |
| virtual void | refresh () override | 
| Refresh the widget.  More... | |
| virtual void | setAttributeValue (const std::string &name, const WString &value) override | 
| Sets an attribute value.  More... | |
| virtual WString | attributeValue (const std::string &name) const override | 
| Returns an attribute value.  More... | |
| virtual void | setJavaScriptMember (const std::string &name, const std::string &value) override | 
| Sets a JavaScript member.  More... | |
| virtual std::string | javaScriptMember (const std::string &name) const override | 
| Returns the value of a JavaScript member.  More... | |
| virtual void | callJavaScriptMember (const std::string &name, const std::string &args) override | 
| Calls a JavaScript member.  More... | |
| virtual void | load () override | 
| Loads content just before the widget is used.  More... | |
| virtual bool | loaded () const override | 
| Returns whether this widget has been loaded.  More... | |
| virtual void | setCanReceiveFocus (bool enabled) override | 
| Sets whether the widget can receive focus.  More... | |
| virtual bool | canReceiveFocus () const override | 
| Returns whether the widget can receive focus.  More... | |
| virtual void | setFocus (bool focus) override | 
| Sets focus.  More... | |
| virtual bool | setFirstFocus () override | 
| Set focus on the widget's first descendant.  More... | |
| virtual bool | hasFocus () const override | 
| Returns whether the widget currently has the focus.  | |
| virtual void | setTabIndex (int index) override | 
| Sets the tab index.  More... | |
| virtual int | tabIndex () const override | 
| Returns the tab index.  More... | |
| virtual void | setId (const std::string &id) override | 
| Sets the CSS Id.  More... | |
| virtual WWidget * | find (const std::string &name) override | 
| Finds a descendent widget by name.  More... | |
| virtual WWidget * | findById (const std::string &name) override | 
| Finds a descendent widget by id.  | |
| virtual void | setSelectable (bool selectable) override | 
| Sets as selectable.  More... | |
| virtual void | doJavaScript (const std::string &js) override | 
| Executes the given JavaScript statements when the widget is rendered or updated.  More... | |
| virtual void | propagateSetEnabled (bool enabled) override | 
| Propagates that a widget was enabled or disabled through children.  More... | |
| virtual bool | scrollVisibilityEnabled () const finaloverride | 
| Returns whether scroll visibility detection is enabled for this widget.  More... | |
| virtual void | setScrollVisibilityEnabled (bool enabled) finaloverride | 
| Sets whether scroll visibility detection is enabled for this widget.  More... | |
| virtual int | scrollVisibilityMargin () const finaloverride | 
| Returns the margin around the viewport within which the widget is considered visible.  More... | |
| virtual void | setScrollVisibilityMargin (int margin) finaloverride | 
| Sets the margin around the viewport within which the widget is considered visible.  More... | |
| virtual Signal< bool > & | scrollVisibilityChanged () finaloverride | 
| Signal triggered when the scroll visibility of this widget changes.  More... | |
| virtual bool | isScrollVisible () const finaloverride | 
| Returns whether this widget is currently considered scroll visible.  More... | |
| virtual void | setThemeStyleEnabled (bool enabled) finaloverride | 
| Sets whether theme styling for a widget is enabled or disabled.  More... | |
| virtual bool | isThemeStyleEnabled () const finaloverride | 
| Returns whether this widget is currently styled by the chosen theme.  More... | |
  Public Member Functions inherited from Wt::WWidget | |
| virtual | ~WWidget () | 
| Destructor.  More... | |
| WWidget * | parent () const | 
| Returns the parent widget.  | |
| std::unique_ptr< WWidget > | removeFromParent () | 
| Removes the widget from its parent.  More... | |
| void | setWidth (const WLength &width) | 
| Sets the width.  More... | |
| void | setHeight (const WLength &height) | 
| Sets the height.  More... | |
| virtual void | positionAt (const WWidget *widget, Orientation orientation=Orientation::Vertical) | 
| Positions a widget next to another widget.  More... | |
| virtual void | toggleStyleClass (const WString &styleClass, bool add, bool force=false) | 
| Toggles a CSS style class.  | |
| std::string | jsRef () const | 
| Returns a JavaScript expression to the corresponding DOM node.  More... | |
| void | setFocus () | 
| Sets focus.  More... | |
| virtual void | acceptDrops (const std::string &mimeType, const WString &hoverStyleClass=WString()) | 
| Sets a mime type to be accepted for dropping.  More... | |
| virtual void | stopAcceptDrops (const std::string &mimeType) | 
| Indicates that a mime type is no longer accepted for dropping.  More... | |
| virtual void | htmlText (std::ostream &out) | 
| Streams the (X)HTML representation.  More... | |
| bool | isRendered () const | 
| Returns whether the widget is rendered.  More... | |
| void | hide () | 
| Hides the widget.  More... | |
| void | animateHide (const WAnimation &animation) | 
| Hides the widget using an animation.  More... | |
| void | show () | 
| Shows the widget.  More... | |
| void | animateShow (const WAnimation &animation) | 
| Shows the widget using an animation.  More... | |
| void | enable () | 
| Enables the widget.  More... | |
| void | disable () | 
| Disable thes widget.  More... | |
| bool | layoutSizeAware () const | 
| Returns whether the widget is layout size aware.  More... | |
  Public Member Functions inherited from Wt::WObject | |
| void | addChild (std::unique_ptr< WObject > child) | 
| Add a child WObject whose lifetime is determined by this WObject.  | |
| template<typename Child > | |
| Child * | addChild (std::unique_ptr< Child > child) | 
| Add a child WObject, returning a raw pointer.  More... | |
| std::unique_ptr< WObject > | removeChild (WObject *child) | 
| Remove a child WObject, so its lifetime is no longer determined by this WObject.  | |
| void | resetLearnedSlots () | 
| Resets learned stateless slot implementations.  More... | |
| template<class T > | |
| void | resetLearnedSlot (void(T::*method)()) | 
| Resets a learned stateless slot implementation.  More... | |
| template<class T > | |
| WStatelessSlot * | implementStateless (void(T::*method)()) | 
| Declares a slot to be stateless and learn client-side behaviour on first invocation.  More... | |
| template<class T > | |
| WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)()) | 
| Declares a slot to be stateless and learn client-side behaviour in advance.  More... | |
| void | isNotStateless () | 
| Marks the current function as not stateless.  More... | |
| template<class T > | |
| WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode) | 
| Provides a JavaScript implementation for a method.  More... | |
  Public Member Functions inherited from Wt::Core::observable | |
| observable () | |
| Default constructor.  | |
| virtual | ~observable () | 
| Destructor.  More... | |
| template<typename... Args, typename C > | |
| auto | bindSafe (void(C::*method)(Args...)) | 
| Protects a method call against object destruction.  More... | |
| template<typename... Args, typename C > | |
| auto | bindSafe (void(C::*method)(Args...) const) const | 
| Protects a const method call against object destruction.  More... | |
| template<typename Function > | |
| auto | bindSafe (const Function &function) | 
| Protects a function against object destruction.  More... | |
Additional Inherited Members | |
  Static Public Member Functions inherited from Wt::WWidget | |
| static WString | tr (const char *key) | 
| Short hand for WString::tr()  More... | |
  Protected Member Functions inherited from Wt::WCompositeWidget | |
| virtual void | enableAjax () override | 
| Progresses to an Ajax-enabled widget.  More... | |
| void | setImplementation (std::unique_ptr< WWidget > widget) | 
| Set the implementation widget.  More... | |
| WWidget * | implementation () | 
| Method::Get the implementation widget.  More... | |
| virtual int | boxPadding (Orientation orientation) const override | 
| Returns the widget's built-in padding.  More... | |
| virtual int | boxBorder (Orientation orientation) const override | 
| Returns the widget's built-in border width.  More... | |
| virtual void | render (WFlags< RenderFlag > flags) override | 
| Renders the widget.  More... | |
  Protected Member Functions inherited from Wt::WWidget | |
| void | setLayoutSizeAware (bool sizeAware) | 
| Sets the widget to be aware of its size set by a layout manager.  More... | |
| virtual void | layoutSizeChanged (int width, int height) | 
| Virtual method that indicates a size change.  More... | |
| WWidget () | |
| Creates a widget.  | |
| virtual void | dropEvent (WDropEvent dropEvent) | 
| Handles a drop event.  More... | |
| void | scheduleRender (WFlags< RepaintFlag > flags=None) | 
| Schedules rerendering of the widget.  More... | |
| virtual WStatelessSlot * | getStateless (Method method) override | 
| On-demand stateless slot implementation.  More... | |
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:
A screenshot of the tree:
 
An example WTree (default)  |  
An example WTree (polished)  | 
| void Wt::WTree::setSelectionMode | ( | SelectionMode | mode | ) | 
Sets the selection mode.
The default selection mode is Wt::SelectionMode::None.
| void Wt::WTree::setTreeRoot | ( | std::unique_ptr< WTreeNode > | root | ) | 
Sets the tree root node.
The initial value is 0. 
| WTreeNode* Wt::WTree::treeRoot | ( | ) | const | 
Returns the root node.
 1.8.11