bool Volta::setProperty(P_ID propertyId, const QVariant& val) { switch (propertyId) { case P_ID::VOLTA_TYPE: setVoltaType(Type(val.toInt())); break; case P_ID::VOLTA_ENDING: setEndings(val.value<QList<int>>()); break; case P_ID::LINE_WIDTH: lineWidthStyle = PropertyStyle::UNSTYLED; setLineWidth(val.value<Spatium>()); break; case P_ID::LINE_STYLE: lineStyleStyle = PropertyStyle::UNSTYLED; setLineStyle(Qt::PenStyle(val.toInt())); break; default: if (!TextLineBase::setProperty(propertyId, val)) return false; break; } triggerLayout(); return true; }
void Volta::read(XmlReader& e) { qDeleteAll(spannerSegments()); spannerSegments().clear(); setId(e.intAttribute("id", -1)); while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "subtype") setVoltaType(VoltaType(e.readInt())); else if (tag == "text") // obsolete setText(e.readElementText()); else if (tag == "endings") { QString s = e.readElementText(); QStringList sl = s.split(",", QString::SkipEmptyParts); _endings.clear(); foreach(const QString& l, sl) { int i = l.simplified().toInt(); _endings.append(i); } }