Loading...
Searching...
No Matches
ObjectMenuActions.hpp
1#pragma once
2#include <Scenario/Application/Menus/ObjectsActions/EventActions.hpp>
3#include <Scenario/Application/Menus/ObjectsActions/IntervalActions.hpp>
4
6#include <score/actions/Menu.hpp>
7#include <score/command/Dispatchers/CommandDispatcher.hpp>
8#include <score/model/ObjectEditor.hpp>
9#include <score/selection/Selection.hpp>
10
11#include <ossia/detail/json.hpp>
12namespace Scenario
13{
14struct Point;
15class ScenarioApplicationPlugin;
16class ScenarioDocumentModel;
17class ScenarioDocumentPresenter;
18class ScenarioPresenter;
19class SCORE_PLUGIN_SCENARIO_EXPORT ObjectMenuActions final : public QObject
20{
21public:
23
24 void makeGUIElements(score::GUIElements& ref);
25 void setupContextMenu(Process::LayerContextMenuManager& ctxm);
26
27 CommandDispatcher<> dispatcher() const;
28
29 auto appPlugin() const { return m_parent; }
30
31private:
32 void copySelectedElementsToJson(JSONReader& r);
33 void removeSelectedElements(score::RemovalLinks links);
34 void cutSelectedElementsToJson(JSONReader& r);
35
36 void pasteElements(QPoint);
37 void pasteElements();
38
39 void pasteElements(const rapidjson::Value& obj, const Scenario::Point& origin);
40 void pasteElementsAfter(const rapidjson::Value& obj);
41 void writeJsonToSelectedElements(const rapidjson::Value& obj);
42
43 bool isFocusingScenario() const noexcept;
44
45 ScenarioDocumentModel* getScenarioDocModel() const;
46 ScenarioDocumentPresenter* getScenarioDocPresenter() const;
47 ScenarioApplicationPlugin* m_parent{};
48
49 EventActions m_eventActions;
50 IntervalActions m_cstrActions;
51
52 QAction* m_removeElements{};
53 QAction* m_removeElementsAndCables{};
54 QAction* m_copyContent{};
55 QAction* m_cutContent{};
56 QAction* m_pasteElements{};
57 QAction* m_pasteElementsAfter{};
58 QAction* m_elementsToJson{};
59 QAction* m_mergeTimeSyncs{};
60 QAction* m_mergeEvents{};
61 QAction* m_encapsulate{};
62 QAction* m_decapsulate{};
63 QAction* m_duplicate{};
64
65 QAction* m_selectAll{};
66 QAction* m_deselectAll{};
67 QAction* m_selectTop{};
68 QAction* m_goToParent{};
69};
70}
The CommandDispatcher class.
Definition CommandDispatcher.hpp:13
Definition JSONVisitor.hpp:52
Definition LayerContextMenu.hpp:38
Definition EventActions.hpp:26
Definition IntervalActions.hpp:26
Definition ObjectMenuActions.hpp:20
Definition ScenarioApplicationPlugin.hpp:42
Definition ScenarioDocumentModel.hpp:29
The ScenarioDocumentPresenter class.
Definition ScenarioDocumentPresenter.hpp:60
Main plug-in of score.
Definition ConnectionsList.hpp:22
RemovalLinks
Definition ObjectEditor.hpp:14
Definition ScenarioPoint.hpp:13
What an application plug-in adds to the menus, toolbars and actions.
Definition GUIApplicationPlugin.hpp:32