void WTreeNode::create() { setImplementation(layout_ = new WTable()); setStyleClass("Wt-tree"); layout_->setSelectable(false); if (WApplication::instance()->environment().agentIsOpera()) layout_->setAttributeValue("style", "table-layout: auto"); implementStateless(&WTreeNode::doExpand, &WTreeNode::undoDoExpand); implementStateless(&WTreeNode::doCollapse, &WTreeNode::undoDoCollapse); WApplication *app = WApplication::instance(); expandIcon_ = new WIconPair(WApplication::resourcesUrl() + "themes/" + app->cssTheme() + "/" + imagePlus_, WApplication::resourcesUrl() + "themes/" + app->cssTheme() + "/" + imageMin_); noExpandIcon_ = new WText(); noExpandIcon_->setStyleClass("Wt-noexpand"); layout_->rowAt(1)->hide(); if (labelText_) // "treenodelabel" is for backwards compatibility with Wt < 3.1.1 labelText_->setStyleClass("Wt-label treenodelabel"); childCountLabel_ = 0; layout_->elementAt(0, 0)->setStyleClass("Wt-trunk"); layout_->elementAt(0, 0)->addWidget(noExpandIcon_); if (labelIcon_) { layout_->elementAt(0, 1)->addWidget(labelIcon_); labelIcon_->setVerticalAlignment(AlignMiddle); } if (labelText_) layout_->elementAt(0, 1)->addWidget(labelText_); layout_->elementAt(0, 0)->setContentAlignment(AlignLeft | AlignTop); layout_->elementAt(0, 1)->setContentAlignment(AlignLeft | AlignMiddle); layout_->rowAt(0)->setStyleClass("Wt-node"); childrenLoaded_ = false; setLoadPolicy(LazyLoading); }
void WTreeNode::create() { setImplementation(layout_ = new WTable()); implementStateless(&WTreeNode::doExpand, &WTreeNode::undoDoExpand); implementStateless(&WTreeNode::doCollapse, &WTreeNode::undoDoCollapse); expandIcon_ = new WIconPair(imagePlus_[Last], imageMin_[Last]); noExpandIcon_ = new WImage(imageLine_[Last]); expandedContent_ = new WContainerWidget(); expandedContent_->hide(); if (labelText_) { labelText_->setStyleClass(L"treenodelabel"); childCountLabel_ = new WText(); childCountLabel_->setMargin(WLength(7), Left); childCountLabel_->setStyleClass(L"treenodechildcount"); } else childCountLabel_ = 0; layout_->elementAt(0, 0)->addWidget(noExpandIcon_); if (labelIcon_) { layout_->elementAt(0, 1)->addWidget(labelIcon_); labelIcon_->setVerticalAlignment(AlignMiddle); } if (labelText_) layout_->elementAt(0, 1)->addWidget(labelText_); if (childCountLabel_) layout_->elementAt(0, 1)->addWidget(childCountLabel_); layout_->elementAt(1, 1)->addWidget(expandedContent_); layout_->elementAt(0, 0)->setContentAlignment(AlignTop); layout_->elementAt(0, 1)->setContentAlignment(AlignMiddle); childrenLoaded_ = false; setLoadPolicy(LazyLoading); }
void WTreeNode::create() { setImplementation(layout_ = new WTemplate(tr("Wt.WTreeNode.template"))); setStyleClass("Wt-tree"); layout_->setSelectable(false); layout_->bindEmpty("cols-row"); layout_->bindEmpty("trunk-class"); implementStateless(&WTreeNode::doExpand, &WTreeNode::undoDoExpand); implementStateless(&WTreeNode::doCollapse, &WTreeNode::undoDoCollapse); WApplication *app = WApplication::instance(); /* * Children */ WContainerWidget *children = new WContainerWidget(); children->setList(true); children->hide(); layout_->bindWidget("children", children); /* * Expand icon */ if (WApplication::instance()->layoutDirection() == RightToLeft) expandIcon_ = new WIconPair(app->theme()->resourcesUrl() + imagePlusRtl_, app->theme()->resourcesUrl() + imageMinRtl_); else expandIcon_ = new WIconPair(app->theme()->resourcesUrl() + imagePlus_, app->theme()->resourcesUrl() + imageMin_); expandIcon_->setStyleClass("Wt-ctrl Wt-expand"); noExpandIcon_ = new WText(); noExpandIcon_->setStyleClass("Wt-ctrl Wt-noexpand"); layout_->bindWidget("expand", noExpandIcon_); addStyleClass("Wt-trunk"); /* * Label */ layout_->bindWidget("label-area", new WContainerWidget()); if (labelText_) labelText_->setStyleClass("Wt-label"); childCountLabel_ = 0; if (labelIcon_) { labelArea()->addWidget(labelIcon_); labelIcon_->setVerticalAlignment(AlignMiddle); } if (labelText_) labelArea()->addWidget(labelText_); childrenLoaded_ = false; setLoadPolicy(LazyLoading); }