bool Chaser::saveXML(QXmlStreamWriter *doc) { Q_ASSERT(doc != NULL); /* Function tag */ doc->writeStartElement(KXMLQLCFunction); /* Common attributes */ saveXMLCommon(doc); /* Speed */ saveXMLSpeed(doc); /* Direction */ saveXMLDirection(doc); /* Run order */ saveXMLRunOrder(doc); /* Speed modes */ doc->writeStartElement(KXMLQLCChaserSpeedModes); doc->writeAttribute(KXMLQLCFunctionSpeedFadeIn, speedModeToString(fadeInMode())); doc->writeAttribute(KXMLQLCFunctionSpeedFadeOut, speedModeToString(fadeOutMode())); doc->writeAttribute(KXMLQLCFunctionSpeedDuration, speedModeToString(durationMode())); doc->writeEndElement(); /* Steps */ for (int i = 0; i < m_steps.count(); i++) m_steps.at(i).saveXML(doc, i, false); /* End the <Function> tag */ doc->writeEndElement(); return true; }
bool Chaser::saveXML(QDomDocument* doc, QDomElement* wksp_root) { QDomElement root; //QDomText text; //QString str; Q_ASSERT(doc != NULL); Q_ASSERT(wksp_root != NULL); /* Function tag */ root = doc->createElement(KXMLQLCFunction); wksp_root->appendChild(root); /* Common attributes */ saveXMLCommon(&root); /* Speed */ saveXMLSpeed(doc, &root); /* Direction */ saveXMLDirection(doc, &root); /* Run order */ saveXMLRunOrder(doc, &root); /* Speed modes */ QDomElement spd = doc->createElement(KXMLQLCChaserSpeedModes); spd.setAttribute(KXMLQLCFunctionSpeedFadeIn, speedModeToString(fadeInMode())); spd.setAttribute(KXMLQLCFunctionSpeedFadeOut, speedModeToString(fadeOutMode())); spd.setAttribute(KXMLQLCFunctionSpeedDuration, speedModeToString(durationMode())); root.appendChild(spd); if (m_isSequence == true) { QDomElement seq = doc->createElement(KXMLQLCChaserSequenceTag); seq.setAttribute(KXMLQLCChaserSequenceBoundScene, m_boundSceneID); seq.setAttribute(KXMLQLCChaserSequenceStartTime, m_startTime); seq.setAttribute(KXMLQLCChaserSequenceColor, m_color.name()); if (isLocked()) seq.setAttribute(KXMLQLCChaserSequenceLocked, m_locked); root.appendChild(seq); } /* Steps */ int stepNumber = 0; QListIterator <ChaserStep> it(m_steps); while (it.hasNext() == true) { ChaserStep step(it.next()); step.saveXML(doc, &root, stepNumber++, m_isSequence); } return true; }
bool Chaser::saveXML(QXmlStreamWriter *doc) { Q_ASSERT(doc != NULL); /* Function tag */ doc->writeStartElement(KXMLQLCFunction); /* Common attributes */ saveXMLCommon(doc); /* Speed */ saveXMLSpeed(doc); /* Direction */ saveXMLDirection(doc); /* Run order */ saveXMLRunOrder(doc); /* Speed modes */ doc->writeStartElement(KXMLQLCChaserSpeedModes); doc->writeAttribute(KXMLQLCFunctionSpeedFadeIn, speedModeToString(fadeInMode())); doc->writeAttribute(KXMLQLCFunctionSpeedFadeOut, speedModeToString(fadeOutMode())); doc->writeAttribute(KXMLQLCFunctionSpeedDuration, speedModeToString(durationMode())); doc->writeEndElement(); if (m_isSequence == true) { doc->writeStartElement(KXMLQLCChaserSequenceTag); doc->writeAttribute(KXMLQLCChaserSequenceBoundScene, QString::number(m_boundSceneID)); doc->writeEndElement(); } /* Steps */ int stepNumber = 0; QListIterator <ChaserStep> it(m_steps); while (it.hasNext() == true) { ChaserStep step(it.next()); step.saveXML(doc, stepNumber++, m_isSequence); } /* End the <Function> tag */ doc->writeEndElement(); return true; }