void WTreeNode::descendantRemoved(WTreeNode *node) { WTreeNode *parent = parentNode(); if (parent) parent->descendantRemoved(node); }
void WTreeNode::setChildCountPolicy(ChildCountPolicy policy) { if (policy != Disabled && !childCountLabel_) { childCountLabel_ = new WText(); childCountLabel_->setMargin(WLength(7), Left); childCountLabel_->setStyleClass("Wt-childcount"); labelArea()->addWidget(childCountLabel_); } childCountPolicy_ = policy; if (childCountPolicy_ == Enabled) { WTreeNode *parent = parentNode(); if (parent && parent->isExpanded()) if (doPopulate()) update(); } if (childCountPolicy_ != Disabled) { for (unsigned i = 0; i < childNodes_.size(); ++i) childNodes_[i]->setChildCountPolicy(childCountPolicy_); } }
void WTreeNode::setChildCountPolicy(ChildCountPolicy policy) { if (policy != Disabled && !childCountLabel_) { childCountLabel_ = new WText(); childCountLabel_->setMargin(WLength(7), Left); // "treenodechildcount" is for backwards compatibility. childCountLabel_->setStyleClass("Wt-childcount treenodechildcount"); layout_->elementAt(0, 1)->addWidget(childCountLabel_); } childCountPolicy_ = policy; if (childCountPolicy_ == Enabled) { WTreeNode *parent = parentNode(); if (parent && parent->isExpanded()) if (doPopulate()) update(); } if (childCountPolicy_ != Disabled) { for (unsigned i = 0; i < childNodes_.size(); ++i) childNodes_[i]->setChildCountPolicy(childCountPolicy_); } }
void WTreeNode::setLoadPolicy(LoadPolicy loadPolicy) { loadPolicy_ = loadPolicy; switch (loadPolicy) { case PreLoading: loadChildren(); break; case NextLevelLoading: if (isExpanded()) { loadChildren(); loadGrandChildren(); } else { WTreeNode *parent = parentNode(); if (parent && parent->isExpanded()) loadChildren(); expandIcon_ ->icon1Clicked().connect(this, &WTreeNode::loadGrandChildren); } break; case LazyLoading: if (isExpanded()) loadChildren(); else { if (childCountPolicy_ == Enabled) { WTreeNode *parent = parentNode(); if (parent && parent->isExpanded()) doPopulate(); } expandIcon_->icon1Clicked().connect(this, &WTreeNode::expand); } } if (loadPolicy_ != LazyLoading) { for (unsigned i = 0; i < childNodes_.size(); ++i) childNodes_[i]->setLoadPolicy(loadPolicy_); } }