void Accidental::read(XmlReader* r) { int i; while (r->readElement()) { if (r->readInt("bracket", &i)) { if (i == 0 || i == 1) _hasBracket = i; } else if (r->readInt("role", &i)) { if (i == ACC_AUTO || i == ACC_USER) _role = AccidentalRole(i); } else if (Element::readProperties(r)) ; else r->unknown(); } }
void Accidental::read(QDomElement e) { for (e = e.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) { QString tag(e.tagName()); bool isInt; int i = e.text().toInt(&isInt); if (tag == "bracket") { if (i == 0 || i == 1) _hasBracket = i; } else if (tag == "subtype") { if (isInt) { _hasBracket = i & 0x8000; i &= ~0x8000; switch(i) { case 0: i = ACC_NONE; break; case 1: case 11: i = ACC_SHARP; break; case 2: case 12: i = ACC_FLAT; break; case 3: case 13: i = ACC_SHARP2; break; case 4: case 14: i = ACC_FLAT2; break; case 5: case 15: i = ACC_NATURAL; break; case 6: i = ACC_SHARP; _hasBracket = true; break; case 7: i = ACC_FLAT; _hasBracket = true; break; case 8: i = ACC_SHARP2; _hasBracket = true; break; case 9: i = ACC_FLAT2; _hasBracket = true; break; case 10: i = ACC_NATURAL; _hasBracket = true; break; case 16: i = ACC_FLAT_SLASH; break; case 17: i = ACC_FLAT_SLASH2; break; case 18: i = ACC_MIRRORED_FLAT2; break; case 19: i = ACC_MIRRORED_FLAT; break; case 20: i = ACC_MIRRIRED_FLAT_SLASH; break; case 21: i = ACC_FLAT_FLAT_SLASH; break; case 22: i = ACC_SHARP_SLASH; break; case 23: i = ACC_SHARP_SLASH2; break; case 24: i = ACC_SHARP_SLASH3; break; case 25: i = ACC_SHARP_SLASH4; break; case 26: i = ACC_SHARP_ARROW_UP; break; case 27: i = ACC_SHARP_ARROW_DOWN; break; case 28: i = ACC_SHARP_ARROW_BOTH; break; case 29: i = ACC_FLAT_ARROW_UP; break; case 30: i = ACC_FLAT_ARROW_DOWN; break; case 31: i = ACC_FLAT_ARROW_BOTH; break; case 32: i = ACC_NATURAL_ARROW_UP; break; case 33: i = ACC_NATURAL_ARROW_DOWN; break; case 34: i = ACC_NATURAL_ARROW_BOTH; break; default: i = 0; break; } Element::setSubtype(i); } else setSubtype(e.text()); } else if (tag == "role") { if (i == ACC_AUTO || i == ACC_USER) _role = AccidentalRole(i); } else if (tag == "small") _small = i; else if (Element::readProperties(e)) ; else domError(e); } }
void Accidental::read(XmlReader& e) { while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "bracket") { int i = e.readInt(); if (i == 0 || i == 1) _hasBracket = i; } else if (tag == "subtype") { QString text(e.readElementText()); bool isInt; int i = text.toInt(&isInt); if (isInt) { _hasBracket = i & 0x8000; i &= ~0x8000; switch(i) { case 0: i = ACC_NONE; break; case 1: case 11: i = ACC_SHARP; break; case 2: case 12: i = ACC_FLAT; break; case 3: case 13: i = ACC_SHARP2; break; case 4: case 14: i = ACC_FLAT2; break; case 5: case 15: i = ACC_NATURAL; break; case 6: i = ACC_SHARP; _hasBracket = true; break; case 7: i = ACC_FLAT; _hasBracket = true; break; case 8: i = ACC_SHARP2; _hasBracket = true; break; case 9: i = ACC_FLAT2; _hasBracket = true; break; case 10: i = ACC_NATURAL; _hasBracket = true; break; case 16: i = ACC_FLAT_SLASH; break; case 17: i = ACC_FLAT_SLASH2; break; case 18: i = ACC_MIRRORED_FLAT2; break; case 19: i = ACC_MIRRORED_FLAT; break; case 20: i = ACC_MIRRIRED_FLAT_SLASH; break; case 21: i = ACC_FLAT_FLAT_SLASH; break; case 22: i = ACC_SHARP_SLASH; break; case 23: i = ACC_SHARP_SLASH2; break; case 24: i = ACC_SHARP_SLASH3; break; case 25: i = ACC_SHARP_SLASH4; break; case 26: i = ACC_SHARP_ARROW_UP; break; case 27: i = ACC_SHARP_ARROW_DOWN; break; case 28: i = ACC_SHARP_ARROW_BOTH; break; case 29: i = ACC_FLAT_ARROW_UP; break; case 30: i = ACC_FLAT_ARROW_DOWN; break; case 31: i = ACC_FLAT_ARROW_BOTH; break; case 32: i = ACC_NATURAL_ARROW_UP; break; case 33: i = ACC_NATURAL_ARROW_DOWN; break; case 34: i = ACC_NATURAL_ARROW_BOTH; break; default: i = 0; break; } setAccidentalType(AccidentalType(i)); } else setSubtype(text); } else if (tag == "role") { int i = e.readInt(); if (i == ACC_AUTO || i == ACC_USER) _role = AccidentalRole(i); } else if (tag == "small") _small = e.readInt(); else if (Element::readProperties(e)) ; else e.unknown(); } }