score-plugin-controlsurface/ControlSurface/View.hpp
1 #pragma once
2 #include <State/Message.hpp>
3 
4 #include <Process/LayerView.hpp>
5 
6 #include <QMimeData>
7 namespace Process
8 {
9 class Port;
10 class ControlInlet;
11 class PortFactoryList;
12 }
13 namespace score
14 {
15 struct DocumentContext;
16 }
17 namespace ControlSurface
18 {
19 class View final : public Process::LayerView
20 {
21  W_OBJECT(View)
22 public:
23  explicit View(QGraphicsItem* parent);
24  ~View() override;
25 
26  void addressesDropped(const QMimeData* lst) W_SIGNAL(addressesDropped, lst);
27 
28 private:
29  void paint_impl(QPainter*) const override;
30 
31  void mousePressEvent(QGraphicsSceneMouseEvent* ev) override;
32  void mouseMoveEvent(QGraphicsSceneMouseEvent* ev) override;
33  void mouseReleaseEvent(QGraphicsSceneMouseEvent* ev) override;
34 
35  void dragEnterEvent(QGraphicsSceneDragDropEvent* event) override;
36  void dragLeaveEvent(QGraphicsSceneDragDropEvent* event) override;
37  void dragMoveEvent(QGraphicsSceneDragDropEvent* event) override;
38  void dropEvent(QGraphicsSceneDragDropEvent* event) override;
39 };
40 }
41 
42 W_REGISTER_ARGTYPE(const QMimeData*)
Definition: QmlObjects.hpp:114
Definition: score-plugin-controlsurface/ControlSurface/View.hpp:20
Definition: LayerView.hpp:21
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
@ ControlSurface
The process supports being exposed to the ControlSurface.
Definition: ProcessFlags.hpp:37
Base toolkit upon which the software is built.
Definition: Application.cpp:90