Ejemplo n.º 1
0
ProcessModel::ProcessModel(
        const ProcessModel& source,
        const Id<Process::ProcessModel>& id,
        QObject* parent):
    Curve::CurveProcessModel{source, id, Metadata<ObjectKey_k, ProcessModel>::get(), parent},
    m_address(source.address()),
    m_min{source.min()},
    m_max{source.max()},
    m_startState{new ProcessState{*this, 0., this}},
    m_endState{new ProcessState{*this, 1., this}}
{
    setCurve(source.curve().clone(source.curve().id(), this));
    pluginModelList = new iscore::ElementPluginModelList(*source.pluginModelList, this);
    connect(m_curve, &Curve::Model::changed,
            this, &ProcessModel::curveChanged);
    metadata.setName(QString("Automation.%1").arg(*this->id().val()));
}
Ejemplo n.º 2
0
bool ProcessFilterModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
{
    ProcessModel *source = dynamic_cast<ProcessModel *>(sourceModel());
    if (!source)
        return true;

    const ProcData &data = source->dataForRow(source_row);

    if (!data.abi.isValid())
        return false;

    // hide ourselves as well as the process that launched us
    if (data.ppid == m_currentProcId || data.name.startsWith(QLatin1String("gammaray"), Qt::CaseInsensitive))
        return false;

    if (!m_currentUser.isEmpty() && data.user != m_currentUser)
        return false;

    return QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent);
}
Ejemplo n.º 3
0
ProcessLocalTree::ProcessLocalTree(
        const Id<iscore::Component>& id,
        ossia::net::node_base& parent,
        ProcessModel& process,
        Engine::LocalTree::DocumentPlugin& doc,
        QObject* parent_obj):
    Engine::LocalTree::ProcessComponent_T<Space::ProcessModel>{parent, process, doc, id, "SpaceComponent", parent_obj},
    m_areas{*node().createChild("areas")},
    m_computations{*node().createChild("computations")},
    m_hm{*this, process, doc, this}
{
    Engine::LocalTree::make_metadata_node(process.metadata(), node(), m_properties, this);
}
Ejemplo n.º 4
0
bool ProcessFilterModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
{
  ProcessModel *source = dynamic_cast<ProcessModel*>(sourceModel());
  if (!source) {
    return true;
  }

  const ProcData &data = source->dataForRow(source_row);

  if (data.type == ProcData::NoQtApp) {
    return false;
  }

  if (data.ppid == m_currentProcId) {
    return false;
  }

  if (!m_currentUser.isEmpty() && data.user != m_currentUser) {
    return false;
  }

  return QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent);
}
Ejemplo n.º 5
0
ProcessModel::ProcessModel(
        const ProcessModel& source,
        const Id<Process::ProcessModel>& id,
        QObject* parent):
    CurveProcessModel{source, id, Metadata<ObjectKey_k, ProcessModel>::get(), parent},
    m_sourceAddress(source.sourceAddress()),
    m_targetAddress(source.targetAddress()),
    m_sourceMin{source.sourceMin()},
    m_sourceMax{source.sourceMax()},
    m_targetMin{source.targetMin()},
    m_targetMax{source.targetMax()}
{
    setCurve(source.curve().clone(source.curve().id(), this));
    pluginModelList = new iscore::ElementPluginModelList(*source.pluginModelList, this);
    connect(m_curve, &Curve::Model::changed,
            this, &ProcessModel::curveChanged);
    metadata.setName(QString("Mapping.%1").arg(*this->id().val()));
}
Ejemplo n.º 6
0
EffectListWidget::EffectListWidget(
        const ProcessModel &fx,
        const iscore::DocumentContext &doc,
        QWidget *parent):
    QWidget{parent},
    m_effects{fx},
    m_context{doc},
    m_dispatcher{doc.commandStack}
{
    this->setLayout(m_layout = new QHBoxLayout);
    this->setAcceptDrops(true);

    con(fx, &Effect::ProcessModel::effectsChanged,
        this, &EffectListWidget::setup);

    fx.effects().removing.connect<EffectListWidget, &EffectListWidget::on_effectRemoved>(this);

    setup();
}