bool VCLabel::loadXML(const QDomElement* root) { Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCVCLabel) { qWarning() << Q_FUNC_INFO << "Label node not found"; return false; } /* Widget commons */ loadXMLCommon(root); /* Children */ QDomNode node = root->firstChild(); while (node.isNull() == false) { QDomElement tag = node.toElement(); if (tag.tagName() == KXMLQLCWindowState) { int x = 0, y = 0, w = 0, h = 0; bool visible = false; loadXMLWindowState(&tag, &x, &y, &w, &h, &visible); setGeometry(x, y, w, h); } else if (tag.tagName() == KXMLQLCVCWidgetAppearance) { loadXMLAppearance(&tag); } else { qWarning() << Q_FUNC_INFO << "Unknown label tag:" << tag.tagName(); } node = node.nextSibling(); } return true; }
bool VCMatrix::loadXML(const QDomElement *root) { QDomNode node; QDomElement tag; QString str; Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCVCMatrix) { qWarning() << Q_FUNC_INFO << "Matrix node not found"; return false; } /* Widget commons */ loadXMLCommon(root); /* Children */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCWindowState) { bool visible = false; int x = 0; int y = 0; int w = 0; int h = 0; loadXMLWindowState(&tag, &x, &y, &w, &h, &visible); setGeometry(x, y, w, h); } else if (tag.tagName() == KXMLQLCVCWidgetAppearance) { loadXMLAppearance(&tag); } else if (tag.tagName() == KXMLQLCVCMatrixFunction) { str = tag.attribute(KXMLQLCVCMatrixFunctionID); setFunction(str.toUInt()); if (tag.hasAttribute(KXMLQLCVCMatrixInstantApply)) setInstantChanges(true); } else if (tag.tagName() == KXMLQLCVCWidgetInput) { loadXMLInput(&tag); } else if(tag.tagName() == KXMLQLCVCMatrixControl) { VCMatrixControl *control = new VCMatrixControl(0xFF); if (control->loadXML(tag) == false) delete control; else addCustomControl(control); } else { qWarning() << Q_FUNC_INFO << "Unknown VCMatrix tag:" << tag.tagName(); } node = node.nextSibling(); } return true; }
bool VCXYPad::loadXML(const QDomElement* root) { bool visible = false; int x = 0; int y = 0; int w = 0; int h = 0; int xpos = 0; int ypos = 0; QDomNode node; QDomElement tag; QString str; Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCVCXYPad) { qWarning() << Q_FUNC_INFO << "XY Pad node not found"; return false; } /* Caption */ setCaption(root->attribute(KXMLQLCVCCaption)); /* Children */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCWindowState) { loadXMLWindowState(&tag, &x, &y, &w, &h, &visible); } else if (tag.tagName() == KXMLQLCVCAppearance) { loadXMLAppearance(&tag); } else if (tag.tagName() == KXMLQLCVCXYPadPosition) { str = tag.attribute(KXMLQLCVCXYPadPositionX); xpos = str.toInt(); str = tag.attribute(KXMLQLCVCXYPadPositionY); ypos = str.toInt(); } else if (tag.tagName() == KXMLQLCVCXYPadFixture) { VCXYPadFixture fxi(m_doc); if (fxi.loadXML(tag) == true) appendFixture(fxi); } else { qWarning() << Q_FUNC_INFO << "Unknown XY Pad tag:" << tag.tagName(); } node = node.nextSibling(); } /* First set window dimensions and AFTER that set the pointer's XY position */ setGeometry(x, y, w, h); setCurrentXYPosition(QPoint(xpos, ypos)); return true; }
bool VCFrame::loadXML(const QDomElement* root) { bool visible = false; int x = 0; int y = 0; int w = 0; int h = 0; QDomNode node; QDomElement tag; QString str; Q_ASSERT(root != NULL); if (root->tagName() != xmlTagName()) { qWarning() << Q_FUNC_INFO << "Frame node not found"; return false; } /* Caption */ setCaption(root->attribute(KXMLQLCVCCaption)); /* Children */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCWindowState) { loadXMLWindowState(&tag, &x, &y, &w, &h, &visible); setGeometry(x, y, w, h); } else if (tag.tagName() == KXMLQLCVCAppearance) { loadXMLAppearance(&tag); } else if (tag.tagName() == KXMLQLCVCFrame) { /* Create a new frame into its parent */ VCFrame* frame = new VCFrame(this, m_doc, m_outputMap, m_inputMap, m_masterTimer); if (frame->loadXML(&tag) == false) delete frame; else frame->show(); } else if (tag.tagName() == KXMLQLCVCLabel) { /* Create a new label into its parent */ VCLabel* label = new VCLabel(this, m_doc, m_outputMap, m_inputMap, m_masterTimer); if (label->loadXML(&tag) == false) delete label; else label->show(); } else if (tag.tagName() == KXMLQLCVCButton) { /* Create a new button into its parent */ VCButton* button = new VCButton(this, m_doc, m_outputMap, m_inputMap, m_masterTimer); if (button->loadXML(&tag) == false) delete button; else button->show(); } else if (tag.tagName() == KXMLQLCVCXYPad) { /* Create a new xy pad into its parent */ VCXYPad* xypad = new VCXYPad(this, m_doc, m_outputMap, m_inputMap, m_masterTimer); if (xypad->loadXML(&tag) == false) delete xypad; else xypad->show(); } else if (tag.tagName() == KXMLQLCVCSlider) { /* Create a new slider into its parent */ VCSlider* slider = new VCSlider(this, m_doc, m_outputMap, m_inputMap, m_masterTimer); if (slider->loadXML(&tag) == false) delete slider; else slider->show(); } else if (tag.tagName() == KXMLQLCVCSoloFrame) { /* Create a new frame into its parent */ VCSoloFrame* soloframe = new VCSoloFrame(this, m_doc, m_outputMap, m_inputMap, m_masterTimer); if (soloframe->loadXML(&tag) == false) delete soloframe; else soloframe->show(); } else if (tag.tagName() == KXMLQLCVCCueList) { /* Create a new cuelist into its parent */ VCCueList* cuelist = new VCCueList(this, m_doc, m_outputMap, m_inputMap, m_masterTimer); if (cuelist->loadXML(&tag) == false) delete cuelist; else cuelist->show(); } else { qWarning() << Q_FUNC_INFO << "Unknown frame tag:" << tag.tagName(); } node = node.nextSibling(); } return true; }
bool VCClock::loadXML(const QDomElement* root) { Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCVCClock) { qWarning() << Q_FUNC_INFO << "Clock node not found"; return false; } if (root->hasAttribute(KXMLQLCVCClockType)) { setClockType(stringToType(root->attribute(KXMLQLCVCClockType))); if (clockType() == Countdown) { int h = 0, m = 0, s = 0; if (root->hasAttribute(KXMLQLCVCClockHours)) h = root->attribute(KXMLQLCVCClockHours).toInt(); if (root->hasAttribute(KXMLQLCVCClockMinutes)) m = root->attribute(KXMLQLCVCClockMinutes).toInt(); if (root->hasAttribute(KXMLQLCVCClockSeconds)) s = root->attribute(KXMLQLCVCClockSeconds).toInt(); setCountdown(h, m ,s); } } /* Widget commons */ loadXMLCommon(root); /* Children */ QDomNode node = root->firstChild(); while (node.isNull() == false) { QDomElement tag = node.toElement(); if (tag.tagName() == KXMLQLCWindowState) { int x = 0, y = 0, w = 0, h = 0; bool visible = false; loadXMLWindowState(&tag, &x, &y, &w, &h, &visible); setGeometry(x, y, w, h); } else if (tag.tagName() == KXMLQLCVCWidgetAppearance) { loadXMLAppearance(&tag); } else if (tag.tagName() == KXMLQLCVCClockSchedule) { VCClockSchedule sch; if (sch.loadXML(&tag) == true) addSchedule(sch); } else { qWarning() << Q_FUNC_INFO << "Unknown clock tag:" << tag.tagName(); } node = node.nextSibling(); } return true; }
bool VCSlider::loadXML(const QDomElement* root) { bool visible = false; int x = 0; int y = 0; int w = 0; int h = 0; SliderMode sliderMode = Playback; QDomElement tag; QDomNode node; QString caption; QString str; Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCVCSlider) { qWarning() << Q_FUNC_INFO << "Slider node not found"; return false; } /* Caption */ caption = root->attribute(KXMLQLCVCCaption); if (root->attribute(KXMLQLCVCSliderInvertedAppearance) == "false") setInvertedAppearance(false); else setInvertedAppearance(true); /* Children */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCWindowState) { loadXMLWindowState(&tag, &x, &y, &w, &h, &visible); setGeometry(x, y, w, h); } else if (tag.tagName() == KXMLQLCVCWidgetAppearance) { loadXMLAppearance(&tag); } else if (tag.tagName() == KXMLQLCVCSliderMode) { sliderMode = stringToSliderMode(tag.text()); str = tag.attribute(KXMLQLCVCSliderValueDisplayStyle); setValueDisplayStyle(stringToValueDisplayStyle(str)); } else if (tag.tagName() == KXMLQLCVCSliderLevel) { loadXMLLevel(&tag); } else if (tag.tagName() == KXMLQLCVCWidgetInput) { loadXMLInput(&tag); } else if (tag.tagName() == KXMLQLCVCSliderPlayback) { loadXMLPlayback(&tag); } else { qWarning() << Q_FUNC_INFO << "Unknown slider tag:" << tag.tagName(); } node = node.nextSibling(); } /* Set the mode last, after everything else has been set */ setSliderMode(sliderMode); setCaption(caption); return true; }