CommonSelectionState.hpp
1 #pragma once
2 #include <score/selection/SelectionDispatcher.hpp>
3 #include <score/statemachine/StateMachineTools.hpp>
4 
5 #include <QState>
6 
7 #include <verdigris>
8 
9 class QGraphicsItem;
10 
11 namespace score
12 {
13 class SelectionStack;
14 }
15 
26 class SCORE_LIB_BASE_EXPORT CommonSelectionState : public QState
27 {
28  W_OBJECT(CommonSelectionState)
29 public:
30  score::SelectionDispatcher dispatcher;
31 
32  virtual ~CommonSelectionState();
33 
34  virtual void on_pressAreaSelection() = 0;
35  virtual void on_moveAreaSelection() = 0;
36  virtual void on_releaseAreaSelection() = 0;
37  virtual void on_deselect() = 0;
38 
39  static bool multiSelection() noexcept;
40 
41 protected:
43  score::SelectionStack& stack, QObject* process_view, QState* parent);
44 
45 private:
46  QState* m_waitState{};
47 };
The CommonSelectionState class.
Definition: CommonSelectionState.hpp:27
The SelectionDispatcher class.
Definition: SelectionDispatcher.hpp:15
The SelectionStack class.
Definition: SelectionStack.hpp:24
Base toolkit upon which the software is built.
Definition: Application.cpp:90