bool Function::loadXMLRunOrder(const QDomElement& root) { if (root.tagName() != KXMLQLCFunctionRunOrder) { qWarning() << Q_FUNC_INFO << "RunOrder node not found"; return false; } setRunOrder(stringToRunOrder(root.text())); return true; }
bool Function::copyFrom(const Function* function) { /* Don't copy the function's parent */ if (function == NULL) return false; setName(function->name()); setRunOrder(function->runOrder()); setDirection(function->direction()); setBus(function->busID()); return true; }
bool Function::loadXMLRunOrder(QXmlStreamReader &root) { if (root.name() != KXMLQLCFunctionRunOrder) { qWarning() << Q_FUNC_INFO << "RunOrder node not found"; return false; } QString str = root.readElementText(); if (str.isEmpty()) return false; setRunOrder(stringToRunOrder(str)); return true; }
// // Copy the contents of another chaser into this // If append == true, existing contents will not be cleared; new steps // will appear after existing steps // void Chaser::copyFrom(Chaser* ch, bool append) { assert(ch); Function::setName(ch->name()); setDirection(ch->direction()); setRunOrder(ch->runOrder()); if (append == false) { m_steps.clear(); } QValueList <t_function_id>::iterator it; for (it = ch->m_steps.begin(); it != ch->m_steps.end(); ++it) { m_steps.append(*it); } }
Video::Video(Doc* doc) : Function(doc, Function::Video) , m_doc(doc) , m_startTime(UINT_MAX) , m_color(147, 140, 20) , m_locked(false) , m_sourceUrl("") , m_videoDuration(0) , m_resolution(QSize(0,0)) , m_screen(0) , m_fullscreen(false) { setName(tr("New Video")); setRunOrder(Video::SingleShot); // Listen to member Function removals connect(doc, SIGNAL(functionRemoved(quint32)), this, SLOT(slotFunctionRemoved(quint32))); }
bool EFX::loadXML(const QDomElement* root) { QString str; QDomNode node; QDomElement tag; Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCFunction) { qWarning() << "Function node not found!"; return false; } /* Load EFX contents */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCBus) { /* Bus */ str = tag.attribute(KXMLQLCBusRole); setBus(tag.text().toInt()); } else if (tag.tagName() == KXMLQLCEFXFixture) { EFXFixture* ef = new EFXFixture(this); ef->loadXML(&tag); if (ef->fixture() != KNoID) { if (addFixture(ef) == false) delete ef; } } else if (tag.tagName() == KXMLQLCEFXPropagationMode) { /* Propagation mode */ setPropagationMode(stringToPropagationMode(tag.text())); } else if (tag.tagName() == KXMLQLCEFXAlgorithm) { /* Algorithm */ setAlgorithm(tag.text()); } else if (tag.tagName() == KXMLQLCFunctionDirection) { /* Direction */ setDirection(Function::stringToDirection(tag.text())); } else if (tag.tagName() == KXMLQLCFunctionRunOrder) { /* Run Order */ setRunOrder(Function::stringToRunOrder(tag.text())); } else if (tag.tagName() == KXMLQLCEFXWidth) { /* Width */ setWidth(tag.text().toInt()); } else if (tag.tagName() == KXMLQLCEFXHeight) { /* Height */ setHeight(tag.text().toInt()); } else if (tag.tagName() == KXMLQLCEFXRotation) { /* Rotation */ setRotation(tag.text().toInt()); } else if (tag.tagName() == KXMLQLCEFXStartScene) { /* Start scene */ setStartScene(tag.text().toInt()); if (tag.attribute(KXMLQLCFunctionEnabled) == KXMLQLCTrue) setStartSceneEnabled(true); else setStartSceneEnabled(false); } else if (tag.tagName() == KXMLQLCEFXStopScene) { /* Stop scene */ setStopScene(tag.text().toInt()); if (tag.attribute(KXMLQLCFunctionEnabled) == KXMLQLCTrue) setStopSceneEnabled(true); else setStopSceneEnabled(false); } else if (tag.tagName() == KXMLQLCEFXAxis) { /* Axes */ loadXMLAxis(&tag); } else { qWarning() << "Unknown EFX tag:" << tag.tagName(); } node = node.nextSibling(); } return true; }
bool Chaser::loadXML(QDomDocument* doc, QDomElement* root) { t_fixture_id step_fxi = KNoID; int step_number = 0; QString str; QDomNode node; QDomElement tag; Q_ASSERT(doc != NULL); Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCFunction) { qWarning("Function node not found!"); return false; } /* Load chaser contents */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCBus) { /* Bus */ str = tag.attribute(KXMLQLCBusRole); Q_ASSERT(str == KXMLQLCBusHold); Q_ASSERT(setBus(tag.text().toInt()) == true); } else if (tag.tagName() == KXMLQLCFunctionDirection) { /* Direction */ setDirection(Function::stringToDirection(tag.text())); } else if (tag.tagName() == KXMLQLCFunctionRunOrder) { /* Run Order */ setRunOrder(Function::stringToRunOrder(tag.text())); } else if (tag.tagName() == KXMLQLCFunctionStep) { step_number = tag.attribute(KXMLQLCFunctionNumber).toInt(); step_fxi = tag.text().toInt(); if (step_number > m_steps.size()) m_steps.append(step_fxi); else m_steps.insert(m_steps.at(step_number), step_fxi); } else { qWarning("Unknown chaser tag: %s", (const char*) tag.tagName()); } node = node.nextSibling(); } return true; }
bool Shuffle::loadXML(const QDomElement* root) { t_fixture_id step_fxi = KNoID; int step_number = 0; QDomNode node; QDomElement tag; m_steps.clear(); Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCFunction) { qDebug() << "Function node not found!"; return false; } /* Load chaser contents */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCBus) { /* Bus */ setBus(tag.text().toInt()); } else if (tag.tagName() == KXMLQLCFunctionDirection) { /* Direction */ setDirection(Function::stringToDirection(tag.text())); } else if (tag.tagName() == KXMLQLCFunctionRunOrder) { /* Run Order */ setRunOrder(Function::stringToRunOrder(tag.text())); } else if (tag.tagName() == KXMLQLCFunctionStep) { step_number = tag.attribute(KXMLQLCFunctionNumber).toInt(); step_fxi = tag.text().toInt(); if (step_number >= m_steps.size()) addStep(step_fxi); else m_steps.insert(step_number, new SceneState(step_fxi)); } else { qDebug() << "Unknown chaser tag:" << tag.tagName(); } node = node.nextSibling(); } //always add a blackout state to the end! BlackoutState *b = new BlackoutState(); m_steps.append(b); return true; }
bool Chaser::loadXML(const QDomElement* root) { QDomNode node; QDomElement tag; Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCFunction) { qDebug() << "Function node not found!"; return false; } if (root->attribute(KXMLQLCFunctionType) != typeToString(Function::Chaser)) { qWarning("Function is not a chaser!"); return false; } /* Load chaser contents */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCBus) { /* Bus */ setBus(tag.text().toUInt()); } else if (tag.tagName() == KXMLQLCFunctionDirection) { /* Direction */ setDirection(Function::stringToDirection(tag.text())); } else if (tag.tagName() == KXMLQLCFunctionRunOrder) { /* Run Order */ setRunOrder(Function::stringToRunOrder(tag.text())); } else if (tag.tagName() == KXMLQLCFunctionStep) { t_function_id fid = -1; int num = 0; num = tag.attribute(KXMLQLCFunctionNumber).toInt(); fid = tag.text().toInt(); /* Don't check for the member function's existence, because it might not have been loaded yet. */ if (num >= m_steps.size()) m_steps.append(fid); else m_steps.insert(num, fid); } else { qDebug() << "Unknown chaser tag:" << tag.tagName(); } node = node.nextSibling(); } return true; }