本文整理汇总了C++中Xml::canWrite方法的典型用法代码示例。如果您正苦于以下问题:C++ Xml::canWrite方法的具体用法?C++ Xml::canWrite怎么用?C++ Xml::canWrite使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Xml
的用法示例。
在下文中一共展示了Xml::canWrite方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: write
void Fingering::write(Xml& xml) const
{
if (!xml.canWrite(this)) return;
xml.stag(name());
Text::writeProperties(xml);
xml.etag();
}
示例2: write
void Breath::write(Xml& xml) const
{
if (!xml.canWrite(this)) return;
xml.stag("Breath");
xml.tag("subtype", _breathType);
Element::writeProperties(xml);
xml.etag();
}
示例3: write
void StaffText::write(Xml& xml) const
{
if (!xml.canWrite(this)) return;
xml.stag("StaffText");
foreach(ChannelActions s, _channelActions) {
int channel = s.channel;
foreach(QString name, s.midiActionNames)
xml.tagE(QString("MidiAction channel=\"%1\" name=\"%2\"").arg(channel).arg(name));
}
示例4: write
void Ottava::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(xml.spannerId(this)));
writeProperty(xml, P_ID::NUMBERS_ONLY);
xml.tag("subtype", ottavaDefault[int(ottavaType())].name);
TextLine::writeProperties(xml);
xml.etag();
}
示例5: write
void Glissando::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(xml.spannerId(this)));
if (_showText && !_text.isEmpty())
xml.tag("text", _text);
xml.tag("subtype", int(_glissandoType));
SLine::writeProperties(xml);
xml.etag();
}
示例6: write
void Trill::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(xml.spannerId(this)));
xml.tag("subtype", trillTypeName());
SLine::writeProperties(xml);
if (_accidental)
_accidental->write(xml);
xml.etag();
}
示例7: write
void Dynamic::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag("Dynamic");
xml.tag("subtype", dynamicTypeName());
writeProperty(xml, P_ID::VELOCITY);
writeProperty(xml, P_ID::DYNAMIC_RANGE);
Text::writeProperties(xml, dynamicType() == Type::OTHER);
xml.etag();
}
示例8: write
void Glissando::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag("Glissando");
if (_showText && !_text.isEmpty())
xml.tag("text", _text);
xml.tag("subtype", int(_glissandoType));
Element::writeProperties(xml);
xml.etag();
}
示例9: write
void Arpeggio::write(Xml& xml) const
{
if (!xml.canWrite(this)) return;
xml.stag("Arpeggio");
Element::writeProperties(xml);
xml.tag("subtype", int(_arpeggioType));
if (_userLen1 != 0.0)
xml.tag("userLen1", _userLen1 / spatium());
if (_userLen2 != 0.0)
xml.tag("userLen2", _userLen2 / spatium());
if (_span != 1)
xml.tag("span", _span);
xml.etag();
}
示例10: write
void Articulation::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag("Articulation");
if (!_channelName.isEmpty())
xml.tagE(QString("channel name=\"%1\"").arg(_channelName));
writeProperty(xml, P_ID::DIRECTION);
xml.tag("subtype", subtypeName());
if (_timeStretch != 1.0)
xml.tag("timeStretch", _timeStretch);
Element::writeProperties(xml);
if (anchorStyle == PropertyStyle::UNSTYLED)
xml.tag("anchor", int(_anchor));
xml.etag();
}
示例11: write
void Hairpin::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
int id = xml.spannerId(this);
xml.stag(QString("%1 id=\"%2\"").arg(name()).arg(id));
xml.tag("subtype", int(_hairpinType));
writeProperty(xml, P_ID::VELO_CHANGE);
writeProperty(xml, P_ID::HAIRPIN_CIRCLEDTIP);
writeProperty(xml, P_ID::DYNAMIC_RANGE);
writeProperty(xml, P_ID::PLACEMENT);
writeProperty(xml, P_ID::HAIRPIN_HEIGHT);
writeProperty(xml, P_ID::HAIRPIN_CONT_HEIGHT);
TextLine::writeProperties(xml);
xml.etag();
}
示例12: write
void Articulation::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag("Articulation");
if (!_channelName.isEmpty())
xml.tagE(QString("channel name=\"%1\"").arg(_channelName));
writeProperty(xml, P_ID::DIRECTION);
xml.tag("subtype", Sym::id2name(_symId));
writeProperty(xml, P_ID::TIME_STRETCH);
writeProperty(xml, P_ID::PLAY);
writeProperty(xml, P_ID::ORNAMENT_STYLE);
Element::writeProperties(xml);
writeProperty(xml, P_ID::ARTICULATION_ANCHOR);
xml.etag();
}
示例13: write
void Harmony::write(Xml& xml) const
{
if (!xml.canWrite(this)) return;
xml.stag("Harmony");
if (_leftParen)
xml.tagE("leftParen");
if (_rootTpc != Tpc::TPC_INVALID || _baseTpc != Tpc::TPC_INVALID) {
int rRootTpc = _rootTpc;
int rBaseTpc = _baseTpc;
if (staff()) {
const Interval& interval = staff()->part()->instr()->transpose();
if (xml.clipboardmode && !score()->styleB(StyleIdx::concertPitch) && interval.chromatic) {
rRootTpc = transposeTpc(_rootTpc, interval, false);
rBaseTpc = transposeTpc(_baseTpc, interval, false);
}
}
if (rRootTpc != Tpc::TPC_INVALID)
xml.tag("root", rRootTpc);
if (_id > 0)
xml.tag("extension", _id);
if (_textName != "")
xml.tag("name", _textName);
if (rBaseTpc != Tpc::TPC_INVALID)
xml.tag("base", rBaseTpc);
foreach(const HDegree& hd, _degreeList) {
HDegreeType tp = hd.type();
if (tp == HDegreeType::ADD || tp == HDegreeType::ALTER || tp == HDegreeType::SUBTRACT) {
xml.stag("degree");
xml.tag("degree-value", hd.value());
xml.tag("degree-alter", hd.alter());
switch (tp) {
case HDegreeType::ADD:
xml.tag("degree-type", "add");
break;
case HDegreeType::ALTER:
xml.tag("degree-type", "alter");
break;
case HDegreeType::SUBTRACT:
xml.tag("degree-type", "subtract");
break;
default:
break;
}
xml.etag();
}
}
示例14: write
void Lyrics::write(Xml& xml) const
{
if (!xml.canWrite(this))
return;
xml.stag("Lyrics");
if (_no)
xml.tag("no", _no);
if (_syllabic != Syllabic::SINGLE) {
static const char* sl[] = {
"single", "begin", "end", "middle"
};
xml.tag("syllabic", sl[int(_syllabic)]);
}
writeProperty(xml, P_ID::LYRIC_TICKS);
Text::writeProperties(xml);
xml.etag();
}
示例15: write
void Lyrics::write(Xml& xml) const
{
if(!xml.canWrite(this)) return;
xml.stag("Lyrics");
if (_no)
xml.tag("no", _no);
if (_syllabic != Syllabic::SINGLE) {
static const char* sl[] = {
"single", "begin", "end", "middle"
};
xml.tag("syllabic", sl[int(_syllabic)]);
}
if (_ticks)
xml.tag("ticks", _ticks);
Text::writeProperties(xml);
if (_verseNumber) {
xml.stag("Number");
_verseNumber->writeProperties(xml);
xml.etag();
}
xml.etag();
}