Example #1
0
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);
  }
}
Example #2
0
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);
}