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())); }
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); }
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); }
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); }
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())); }
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(); }