Exemplo n.º 1
0
ConstraintModel::ConstraintModel(
        const id_type<ConstraintModel>& id,
        const id_type<AbstractConstraintViewModel>& fullViewId,
        double yPos,
        QObject* parent) :
    IdentifiedObject<ConstraintModel> {id, "ConstraintModel", parent},
    pluginModelList{iscore::IDocument::documentFromObject(parent), this},
    m_fullViewModel{new FullViewConstraintViewModel{fullViewId, *this, this}}
{
    setupConstraintViewModel(m_fullViewModel);
    metadata.setName(QString("Constraint.%1").arg(*this->id().val()));
    setHeightPercentage(yPos);
}
Exemplo n.º 2
0
void DuplicateInterval::redo(const score::DocumentContext& ctx) const
{
  m_cmdStart.redo(ctx);
  m_cmdEnd.redo(ctx);
  auto& root = m_path.find(ctx);

  auto scenar = safe_cast<Scenario::ProcessModel*>(root.parent());

  auto obj = score::marshall<DataStream>(root);
  auto interval
      = new Scenario::IntervalModel{DataStream::Deserializer{obj}, scenar};
  score::IDocument::changeObjectId(*interval, m_createdId);

  interval->setStartState(m_cmdStart.createdState());
  interval->setEndState(m_cmdEnd.createdState());
  SetPreviousInterval(scenar->states.at(m_cmdEnd.createdState()), *interval);
  SetNextInterval(scenar->states.at(m_cmdStart.createdState()), *interval);
  interval->setHeightPercentage(root.heightPercentage() + 0.1);
  scenar->intervals.add(interval);
}