void WFileUpload::getDomChanges(std::vector<DomElement *>& result, WApplication *app) { if (flags_.test(BIT_ENABLE_AJAX)) { DomElement *plainE = DomElement::getForUpdate(this, DomElement_INPUT); DomElement *ajaxE = createDomElement(app); plainE->replaceWith(ajaxE); result.push_back(plainE); } else WWebWidget::getDomChanges(result, app); }
void WLineEdit::getDomChanges(std::vector<DomElement *>& result, WApplication *app) { if (app->environment().agentIsIE() && flags_.test(BIT_ECHO_MODE_CHANGED)) { DomElement *e = DomElement::getForUpdate(this, domElementType()); DomElement *d = createDomElement(app); e->replaceWith(d); result.push_back(e); } else WFormWidget::getDomChanges(result, app); }
void WTable::getDomChanges(std::vector<DomElement *>& result, WApplication *app) { DomElement *e = DomElement::getForUpdate(this, domElementType()); if (!isStubbed() && flags_.test(BIT_GRID_CHANGED)) { DomElement *newE = createDomElement(app); e->replaceWith(newE); } else { if (rowsChanged_) { for (std::set<WTableRow *>::iterator i = rowsChanged_->begin(); i != rowsChanged_->end(); ++i) { DomElement *e2 = DomElement::getForUpdate(*i, DomElement_TR); (*i)->updateDom(*e2, false); result.push_back(e2); } delete rowsChanged_; rowsChanged_ = 0; } if (rowsAdded_) { DomElement *etb = DomElement::getForUpdate(id() + "tb", DomElement_TBODY); for (unsigned i = 0; i < static_cast<unsigned>(rowsAdded_); ++i) { DomElement *tr = createRowDomElement(rowCount() - rowsAdded_ + i, true, app); etb->addChild(tr); } result.push_back(etb); rowsAdded_ = 0; } if (flags_.test(BIT_COLUMNS_CHANGED)) { for (unsigned i = 0; i < columns_.size(); ++i) { DomElement *e2 = DomElement::getForUpdate(columns_[i], DomElement_COL); columns_[i]->updateDom(*e2, false); result.push_back(e2); } flags_.reset(BIT_COLUMNS_CHANGED); } updateDom(*e, false); } result.push_back(e); }
void WTable::getDomChanges(std::vector<DomElement *>& result) { if (renderState() == RenderUpdate) { DomElement *e = DomElement::getForUpdate(this, DomElement::TABLE); if (gridChanged_) { DomElement *newE = createDomElement(); e->replaceWith(newE); } else { updateDom(*e, false); } result.push_back(e); } }
void WWebWidget::getSDomChanges(std::vector<DomElement *>& result) { if (stubbed_) { if (wApp && wApp->loading()) { /* this is during collection of static slots */ getDomChanges(result); } else { DomElement *stub = DomElement::getForUpdate(this, DomElement::SPAN); DomElement *realElement = createDomElement(); stub->replaceWith(realElement); result.push_back(stub); stubbed_ = false; } } else { for (unsigned i = 0; i < childRemoveChanges_.size(); ++i) result.push_back(childRemoveChanges_[i]); childRemoveChanges_.clear(); getDomChanges(result); } }