2 #include <Process/TimeValue.hpp>
3 #include <Process/ZoomHelper.hpp>
5 #include <Scenario/Document/Interval/SlotPresenter.hpp>
7 #include <score/model/Identifier.hpp>
11 #include <nano_signal_slot.hpp>
12 #include <score_plugin_scenario_export.h>
29 ,
public Nano::Observer
38 virtual void updateScaling();
40 bool isSelected()
const;
47 virtual void on_zoomRatioChanged(ZoomRatio val);
48 ZoomRatio zoomRatio()
const {
return m_zoomRatio; }
50 const std::vector<SlotPresenter>& getSlots()
const {
return m_slots; }
56 void on_minDurationChanged(
const TimeVal&);
57 void on_maxDurationChanged(
const TimeVal&);
59 double on_playPercentageChanged(
double t);
61 virtual void startSlotDrag(
int slot, QPointF)
const = 0;
62 virtual void stopSlotDrag()
const = 0;
64 virtual void selectedSlot(
int)
const = 0;
65 virtual void requestSlotMenu(
int slot, QPoint pos, QPointF sp)
const = 0;
67 void updateAllSlots()
const;
70 void pressed(QPointF arg_1)
const
71 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, pressed, arg_1)
72 void moved(QPointF arg_1)
const E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, moved, arg_1)
73 void released(QPointF arg_1)
const
74 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, released, arg_1)
76 void askUpdate() E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, askUpdate)
77 void heightChanged() E_SIGNAL(
78 SCORE_PLUGIN_SCENARIO_EXPORT,
80 void heightPercentageChanged() E_SIGNAL(
81 SCORE_PLUGIN_SCENARIO_EXPORT,
82 heightPercentageChanged)
85 void updateChildren();
91 ZoomRatio m_zoomRatio{};
96 std::vector<SlotPresenter> m_slots;
100 const typename T::view_type* view(
const T* obj)
102 return static_cast<const typename T::view_type*
>(obj->view());
105 template <
typename T>
106 typename T::view_type* view(T* obj)
108 return static_cast<typename T::view_type*
>(obj->view());
111 template <
typename T>
112 typename T::view_type& view(
const T& obj)
114 return static_cast<typename T::view_type&
>(*obj.view());
117 template <
typename T>
118 typename T::view_type& view(T& obj)
120 return static_cast<typename T::view_type&
>(*obj.view());
Definition: IntervalModel.hpp:50
Definition: IntervalPresenter.hpp:30
Definition: IntervalView.hpp:34
The id_base_t class.
Definition: Identifier.hpp:57
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: ProcessContext.hpp:12
Definition: TimeValue.hpp:21