8#include <Wt/WTableCell.h>
11#include <Wt/WCssDecorationStyle.h>
19 "icons/line-last.gif" };
21 "icons/nav-plus-line-last.gif" };
23 "icons/nav-minus-line-last.gif" };
61 labelIcon_->setVerticalAlignment(AlignmentFlag::Middle);
66 layout_->elementAt(0, 0)->setContentAlignment(AlignmentFlag::Top);
67 layout_->elementAt(0, 1)->setContentAlignment(AlignmentFlag::Middle);
84 node->parentNode_ =
this;
95 node->parentNode_ =
nullptr;
105 node->adjustExpandIcon();
169 node->undoCollapse();
185 ->decorationStyle().setBackgroundImage(
"");
187 ->decorationStyle().setBackgroundImage(
"");
190 ->decorationStyle().setBackgroundImage(
"icons/line-trunk.gif",
191 Orientation::Vertical);
193 ->decorationStyle().setBackgroundImage(
"icons/line-trunk.gif",
194 Orientation::Vertical);
Wt::Auth::Dbo::UserDatabase< AuthInfo > UserDatabase
An icon pair (identical to WIconPair)
EventSignal< WMouseEvent > * icon2Clicked
Signal emitted when clicked while in state 1 (icon 2 is shown).
WImage * icon1() const
Get the first icon image.
void setState(int num)
Set which icon should be visible.
WImage * icon2() const
Get the second icon image.
EventSignal< WMouseEvent > * icon1Clicked
Signal emitted when clicked while in state 0 (icon 1 is shown).
Example implementation of a single tree list node.
void undoCollapse()
Undo function for prelearning collapse()
void removeChildNode(TreeNode *node, int index)
Removes a child node.
std::vector< TreeNode * > childNodes_
List of child nodes.
void undoExpand()
Undo function for prelearning expand()
void childNodesChanged()
Rerender when children have changed.
static std::string imageLine_[]
IconPair * expandIcon_
The icon for expanding or collapsing.
bool wasCollapsed_
Was collapsed (for undo of prelearned collapse() and expand() slots.
WTable * layout_
Layout (2x2 table).
static std::string imagePlus_[]
TreeNode(const std::string labelText, TextFormat labelFormat, std::unique_ptr< IconPair > labelIcon)
Construct a tree node with the given label.
void collapse()
Collapses this node.
bool isLastChildNode() const
Returns if is the last child within its parent (is rendered differently)
WContainerWidget * expandedContent_
The container in which the children are managed.
ImageIndex
Two sets of images, for a normal node, and for the last node.
WText * childCountLabel_
The children count '(x)' for x children.
static std::string imageMin_[]
void expand()
Expands this node.
void addChildNode(std::unique_ptr< TreeNode > node)
Adds a child node.
TreeNode * parentNode_
The parent node.
void adjustExpandIcon()
Adjust the expand icon.
IconPair * labelIcon_
The icon next to the label.
WImage * noExpandIcon_
The single image shown instead of the expand/collapse icon when no children.