Loading...
Searching...
No Matches
ScenarioEditionSettings.hpp
1#pragma once
2#include <Process/ExpandMode.hpp>
3
4#include <Scenario/Palette/Tool.hpp>
5
6#include <QObject>
7
8#include <score_plugin_scenario_export.h>
9
10#include <verdigris>
11namespace Scenario
12{
13class SCORE_PLUGIN_SCENARIO_EXPORT EditionSettings final : public QObject
14{
15 W_OBJECT(EditionSettings)
16
17 ExpandMode m_expandMode{ExpandMode::GrowShrink};
18 Scenario::Tool m_tool{Scenario::Tool::Select};
19 Scenario::Tool m_previousTool{Scenario::Tool::Select};
20 LockMode m_lockMode{};
21 bool m_lockHeld{false};
22 bool m_execution{false};
23 bool m_recordPlayback{false};
24
25 LockMode heldLockMode() const noexcept
26 {
27 return m_lockHeld ? LockMode::Constrained : LockMode::Free;
28 }
29
30public:
31 ExpandMode expandMode() const;
32 Scenario::Tool tool() const;
33
34 void setExpandMode(ExpandMode expandMode);
35 void setTool(Scenario::Tool tool);
36 void setExecution(bool ex);
37
38 void setDefault();
39 void restoreTool();
40
41 LockMode lockMode() const;
42
44 bool recordPlayback() const noexcept { return m_recordPlayback; }
45 void setRecordPlayback(bool b);
46
49 void setLockHeld(bool held);
50
51public:
52 void setLockMode(LockMode lockMode);
53 W_SLOT(setLockMode);
54
55public:
56 void expandModeChanged(ExpandMode expandMode)
57 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, expandModeChanged, expandMode)
58 void toolChanged(Scenario::Tool tool)
59 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, toolChanged, tool)
60
61 void lockModeChanged(LockMode lockMode)
62 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, lockModeChanged, lockMode)
63 void recordPlaybackChanged(bool b)
64 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, recordPlaybackChanged, b)
65
66 W_PROPERTY(Scenario::Tool, tool READ tool WRITE setTool NOTIFY toolChanged)
67
68 W_PROPERTY(LockMode, lockMode READ lockMode WRITE setLockMode NOTIFY lockModeChanged)
69
70 W_PROPERTY(
71 ExpandMode,
72 expandMode READ expandMode WRITE setExpandMode NOTIFY expandModeChanged)
73};
74}
Definition ScenarioEditionSettings.hpp:14
bool recordPlayback() const noexcept
Keep in the document the values playback writes into published controls.
Definition ScenarioEditionSettings.hpp:44
Main plug-in of score.
Definition score-plugin-dataflow/Dataflow/PortItem.hpp:13