void PosLen::read(Xml& xml, const char* name) { sn = -1; for (;;) { Xml::Token token = xml.parse(); const QString& tag = xml.s1(); switch (token) { case Xml::Error: case Xml::End: return; case Xml::TagStart: xml.unknown(name); break; case Xml::Attribut: if (tag == "tick") { setType(TICKS); setTick(xml.s2().toInt()); } else if (tag == "sample") { setType(FRAMES); setFrame(xml.s2().toInt()); } else if (tag == "len") { int n = xml.s2().toInt(); switch (type()) { case TICKS: setLenTick(n); break; case FRAMES: setLenFrame(n); break; } } else xml.unknown(name); break; case Xml::TagEnd: if (tag == name) return; default: break; } } }
void PosLen::read(XmlReader& e) { QString s; if (e.hasAttribute("tick")) { setType(TICKS); setTick(e.intAttribute("tick")); } if (e.hasAttribute("sample")) { setType(FRAMES); setFrame(e.intAttribute("sample")); } if (e.hasAttribute("len")) { int n = e.intAttribute("len"); if (type() == TICKS) setLenTick(n); else setLenFrame(n); } }
void PosLen::read(QDomNode node) { const QDomElement& e = node.toElement(); QString s; if (e.hasAttribute("tick")) { setType(TICKS); setTick(e.attribute("tick").toInt()); } if (e.hasAttribute("sample")) { setType(FRAMES); setFrame(e.attribute("sample").toInt()); } if (e.hasAttribute("len")) { int n = e.attribute("len").toInt(); if (type() == TICKS) setLenTick(n); else setLenFrame(n); } }
void PosLen::read(QDomNode node) { QDomElement e = node.toElement(); QString s; s = e.attribute("tick"); if (!s.isEmpty()) { setType(TICKS); setTick(s.toInt()); } s = e.attribute("sample"); if (!s.isEmpty()) { setType(FRAMES); setFrame(s.toInt()); } s = e.attribute("len"); if (!s.isEmpty()) { int n = s.toInt(); if (type() == TICKS) setLenTick(n); else setLenFrame(n); } }