void InspectorArticulation::apply() { Articulation* a = static_cast<Articulation*>(inspector->element()); Score* score = a->score(); qreal _spatium = score->spatium(); QPointF o(ar.x->value() * _spatium, ar.y->value() * _spatium); score->startCmd(); if (o != a->pos()) score->undoChangeUserOffset(a, o - a->ipos()); Direction d = Direction(ar.direction->currentIndex()); ArticulationAnchor anchor = ArticulationAnchor(ar.anchor->currentIndex()); if (anchor != a->anchor()) score->undoChangeProperty(a, P_ARTICULATION_ANCHOR, int(anchor)); if (d != a->direction()) score->undoChangeProperty(a, P_DIRECTION, int(d)); score->endCmd(); mscore->endCmd(); }
void InspectorArticulation::setElement(Element* e) { Articulation* a = static_cast<Articulation*>(e); qreal _spatium = e->score()->spatium(); ar.elementName->setText(e->name()); ar.x->blockSignals(true); ar.y->blockSignals(true); ar.direction->blockSignals(true); ar.anchor->blockSignals(true); ar.x->setValue(a->pos().x() / _spatium); ar.y->setValue(a->pos().y() / _spatium); ar.direction->setCurrentIndex(int(a->direction())); ar.anchor->setCurrentIndex(int(a->anchor())); ar.x->blockSignals(false); ar.y->blockSignals(false); ar.direction->blockSignals(false); ar.anchor->blockSignals(false); }