bool QLCFixtureDef::loadXML(QXmlStreamReader& doc) { bool retval = false; if (doc.readNextStartElement() == false) return false; if (doc.name() == KXMLQLCFixtureDef) { while (doc.readNextStartElement()) { if (doc.name() == KXMLQLCCreator) { loadCreator(doc); } else if (doc.name() == KXMLQLCFixtureDefManufacturer) { setManufacturer(doc.readElementText()); } else if (doc.name() == KXMLQLCFixtureDefModel) { setModel(doc.readElementText()); } else if (doc.name() == KXMLQLCFixtureDefType) { setType(doc.readElementText()); } else if (doc.name() == KXMLQLCChannel) { QLCChannel* ch = new QLCChannel(); if (ch->loadXML(doc) == true) { /* Loading succeeded */ if (addChannel(ch) == false) { /* Channel already exists */ delete ch; } } else { /* Loading failed */ delete ch; } } else if (doc.name() == KXMLQLCFixtureMode) { QLCFixtureMode* mode = new QLCFixtureMode(this); if (mode->loadXML(doc) == true) { /* Loading succeeded */ if (addMode(mode) == false) { /* Mode already exists */ delete mode; } } else { /* Loading failed */ delete mode; } } else { qWarning() << Q_FUNC_INFO << "Unknown Fixture tag: " << doc.name(); doc.skipCurrentElement(); } } retval = true; } else { qWarning() << Q_FUNC_INFO << "Fixture node not found"; retval = false; } if (retval == true) m_isLoaded = true; return retval; }
bool QLCFixtureDef::loadXML(const QDomDocument& doc) { bool retval = false; QDomElement root = doc.documentElement(); if (root.tagName() == KXMLQLCFixtureDef) { QDomNode node = root.firstChild(); while (node.isNull() == false) { QDomElement tag = node.toElement(); if (tag.tagName() == KXMLQLCCreator) { loadCreator(tag); } else if (tag.tagName() == KXMLQLCFixtureDefManufacturer) { setManufacturer(tag.text()); } else if (tag.tagName() == KXMLQLCFixtureDefModel) { setModel(tag.text()); } else if (tag.tagName() == KXMLQLCFixtureDefType) { setType(tag.text()); } else if (tag.tagName() == KXMLQLCChannel) { QLCChannel* ch = new QLCChannel(); if (ch->loadXML(tag) == true) { /* Loading succeeded */ if (addChannel(ch) == false) { /* Channel already exists */ delete ch; } } else { /* Loading failed */ delete ch; } } else if (tag.tagName() == KXMLQLCFixtureMode) { QLCFixtureMode* mode = new QLCFixtureMode(this); if (mode->loadXML(tag) == true) { /* Loading succeeded */ if (addMode(mode) == false) { /* Mode already exists */ delete mode; } } else { /* Loading failed */ delete mode; } } else { qWarning() << Q_FUNC_INFO << "Unknown Fixture tag: " << tag.tagName(); } node = node.nextSibling(); } retval = true; } else { qWarning() << Q_FUNC_INFO << "Fixture node not found"; retval = false; } return retval; }