/*! Renders the \a map as XML document. */ bool TActionController::renderXml(const QVariantMap &map) { QDomDocument doc; QDomElement root = doc.createElement("map"); doc.appendChild(root); root.appendChild(createDomElement("map", map, doc)); return renderXml(doc); }
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); }
/*! Renders the list of variants \a list as XML document. */ bool TActionController::renderXml(const QVariantList &list) { QDomDocument doc; QDomElement root = doc.createElement("list"); doc.appendChild(root); for (QListIterator<QVariant> it(list); it.hasNext(); ) { QVariantMap map = it.next().toMap(); root.appendChild(createDomElement("map", map, doc)); } return renderXml(doc); }
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); } }
bool Object::write(QString filePath) { QFile* file = new QFile(filePath); if (!file->open(QFile::WriteOnly | QFile::Text)) { //QMessageBox::warning(this, "Warning", "Cannot write file"); qDebug() << "Object - Cannot write file" << filePath; return false; } QTextStream out(file); QDomDocument doc("PencilDocument"); QDomElement root = createDomElement(doc); doc.appendChild(root); int IndentSize = 2; qDebug() << "--- Starting to write XML file..."; doc.save(out, IndentSize); file->close(); qDebug() << "--- Writing XML file done."; return true; }
bool MainWindow2::saveObject( QString strSavedFilename ) { QString filePath = strSavedFilename; bool savingTheOLDWAY = filePath.endsWith( PFF_OLD_EXTENSION ); QFileInfo fileInfo( filePath ); if ( fileInfo.isDir() ) return false; QString tmpFilePath; if ( !savingTheOLDWAY ) {// create temporary directory for compressing files tmpFilePath = QDir::tempPath() + "/" + fileInfo.completeBaseName() + PFF_TMP_COMPRESS_EXT; QFileInfo tmpDataInfo( tmpFilePath ); if ( !tmpDataInfo.exists() ) { QDir dir( QDir::tempPath() ); // --the directory where filePath is or will be saved dir.mkpath( tmpFilePath ); // --creates a directory with the same name +".data" } } else { tmpFilePath = fileInfo.absolutePath(); } QString dataLayersDir; if ( savingTheOLDWAY ) { dataLayersDir = filePath + "." + PFF_LAYERS_DIR; } else { dataLayersDir = tmpFilePath + "/" + PFF_LAYERS_DIR; } QFileInfo dataInfo( dataLayersDir ); if ( !dataInfo.exists() ) { QDir dir( tmpFilePath ); // the directory where filePath is or will be saved dir.mkpath( dataLayersDir ); // creates a directory with the same name +".data" } //savedName = filePath; this->setWindowTitle( filePath ); QProgressDialog progress( tr("Saving document..."), tr("Abort"), 0, 100, this ); progress.setWindowModality( Qt::WindowModal ); progress.show(); int progressValue = 0; // save data int nLayers = m_object->getLayerCount(); qDebug( "Layer Count=%d", nLayers ); for ( int i = 0; i < nLayers; i++ ) { Layer* layer = m_object->getLayer( i ); qDebug() << "Saving Layer " << i << "(" << layer->name << ")"; progressValue = (i * 100) / nLayers; progress.setValue( progressValue ); if ( layer->type() == Layer::BITMAP ) ((LayerBitmap*)layer)->saveImages( dataLayersDir, i ); if ( layer->type() == Layer::VECTOR ) ((LayerVector*)layer)->saveImages( dataLayersDir, i ); if ( layer->type() == Layer::SOUND ) ((LayerSound*)layer)->saveImages( dataLayersDir, i ); } // save palette m_object->savePalette( dataLayersDir ); // -------- save main XML file ----------- QString mainXMLfile; if ( !savingTheOLDWAY ) { mainXMLfile = tmpFilePath + "/" + PFF_XML_FILE_NAME; } else { mainXMLfile = filePath; } QFile* file = new QFile( mainXMLfile ); if ( !file->open( QFile::WriteOnly | QFile::Text ) ) { //QMessageBox::warning(this, "Warning", "Cannot write file"); return false; } QTextStream out( file ); QDomDocument doc( "PencilDocument" ); QDomElement root = doc.createElement( "document" ); doc.appendChild( root ); // save editor information QDomElement editorElement = createDomElement( doc ); root.appendChild( editorElement ); qDebug( "Save Editor Node." ); // save object QDomElement objectElement = m_object->createDomElement( doc ); root.appendChild( objectElement ); qDebug( "Save Object Node." ); int IndentSize = 2; doc.save( out, IndentSize ); // ----------------------------------- if ( !savingTheOLDWAY ) { qDebug() << "Now compressing data to PFF - PCLX ..."; JlCompress::compressDir( filePath, tmpFilePath ); removePFFTmpDirectory( tmpFilePath ); // --removing temporary files qDebug() << "Compressed. File saved."; } progress.setValue( 100 ); m_object->modified = false; m_pTimeLine->updateContent(); m_object->setFilePath( strSavedFilename ); m_recentFileMenu->addRecentFile( strSavedFilename ); m_recentFileMenu->saveToDisk(); return true; }
bool MainWindow2::saveObject(QString strSavedFilename) { QString filePath = strSavedFilename; QFileInfo fileInfo(filePath); if (fileInfo.isDir()) return false; QFileInfo dataInfo(filePath+".data"); if (!dataInfo.exists()) { QDir dir(fileInfo.absolutePath()); // the directory where filePath is or will be saved dir.mkpath(filePath+".data"); // creates a directory with the same name +".data" } //savedName = filePath; this->setWindowTitle( filePath ); QProgressDialog progress("Saving document...", "Abort", 0, 100, this); progress.setWindowModality(Qt::WindowModal); progress.show(); int progressValue = 0; // save data int nLayers = m_object->getLayerCount(); qDebug("Layer Count=%d", nLayers); for (int i = 0; i < nLayers; i++) { Layer* layer = m_object->getLayer(i); qDebug() << "Saving Layer " << i << "(" <<layer->name << ")"; progressValue = (i * 100) / nLayers; progress.setValue(progressValue); if (layer->type == Layer::BITMAP) ((LayerBitmap*)layer)->saveImages(filePath+".data", i); if (layer->type == Layer::VECTOR) ((LayerVector*)layer)->saveImages(filePath+".data", i); if (layer->type == Layer::SOUND) ((LayerSound*)layer)->saveImages(filePath+".data", i); } // save palette m_object->savePalette(filePath+".data"); // -------- save main XML file ----------- QFile* file = new QFile(filePath); if (!file->open(QFile::WriteOnly | QFile::Text)) { //QMessageBox::warning(this, "Warning", "Cannot write file"); return false; } QTextStream out(file); QDomDocument doc("PencilDocument"); QDomElement root = doc.createElement("document"); doc.appendChild(root); // save editor information QDomElement editorElement = createDomElement(doc); root.appendChild(editorElement); qDebug("Save Editor Node."); // save object QDomElement objectElement = m_object->createDomElement(doc); root.appendChild(objectElement); qDebug("Save Object Node."); int IndentSize = 2; doc.save(out, IndentSize); // ----------------------------------- progress.setValue(100); m_object->modified = false; m_pTimeLine->updateContent(); m_object->strCurrentFilePath = strSavedFilename; return true; }
DomElement *WContainerWidget::createDomElement(WApplication *app) { return createDomElement(app, true); }