CurveProcessModel.hpp
1 #pragma once
2 #include <Process/Process.hpp>
3 
4 #include <Curve/CurveModel.hpp>
5 
6 #include <score_plugin_curve_export.h>
7 
8 namespace Curve
9 {
10 class SCORE_PLUGIN_CURVE_EXPORT CurveProcessModel : public Process::ProcessModel
11 {
12  W_OBJECT(CurveProcessModel)
13 public:
15  TimeVal duration, const Id<ProcessModel>& id, const QString& name,
16  QObject* parent);
17 
20 
21  Model& curve() const;
22 
23  ~CurveProcessModel() override;
24 
25  Selection selectableChildren() const noexcept override;
26  Selection selectedChildren() const noexcept override;
27  void setSelection(const Selection& s) const noexcept override;
28 
29  virtual QString prettyValue(double x, double y) const noexcept = 0;
30 
31  void curveChanged() E_SIGNAL(SCORE_PLUGIN_CURVE_EXPORT, curveChanged)
32 
33 protected:
34  void setCurve(Model* newCurve);
35  TimeVal contentDuration() const noexcept override;
36  virtual void setCurve_impl();
37 
38  Model* m_curve{};
39 };
40 }
Definition: CurveProcessModel.hpp:11
Definition: CurveModel.hpp:25
Definition: DataStreamVisitor.hpp:202
Definition: JSONVisitor.hpp:423
The Process class.
Definition: score-lib-process/Process/Process.hpp:61
Definition: Selection.hpp:12
The id_base_t class.
Definition: Identifier.hpp:57
Utilities and base classes for 1D curves.
Definition: FocusDispatcher.hpp:12
Definition: TimeValue.hpp:21