void WWebWidget::removeChild(WWidget *w) { std::vector<WWidget *>::iterator i = std::find(children_.begin(), children_.end(), w); if (i != children_.end()) { DomElement *e = DomElement::getForUpdate(w, DomElement::DIV); e->removeFromParent(); childRemoveChanges_.push_back(e); w->webWidget()->parent_ = 0; children_.erase(i); } else { std::cerr << "child disappeared in widget ?" << std::endl; exit(1); } }
void WPushButton::getDomChanges(std::vector<DomElement *>& result, WApplication *app) { if (flags_.test(BIT_ICON_CHANGED) && flags_.test(BIT_ICON_RENDERED)) { DomElement *image = DomElement::getForUpdate("im" + formName(), DomElement_IMG); if (icon_.isNull()) { image->removeFromParent(); flags_.reset(BIT_ICON_RENDERED); } else image->setProperty(PropertySrc, icon_.resolveUrl(app)); result.push_back(image); flags_.reset(BIT_ICON_CHANGED); } WFormWidget::getDomChanges(result, app); }