Loading...
Searching...
No Matches
score-lib-process/Process/Commands/Properties.hpp
1#pragma once
2#include <Process/Commands/ProcessCommandFactory.hpp>
3#include <Process/Process.hpp>
4#include <Process/TimeValueSerialization.hpp>
5
6#include <score/command/AggregateCommand.hpp>
7#include <score/command/PropertyCommand.hpp>
8#include <score/model/path/PathSerialization.hpp>
9#include <score/tools/Unused.hpp>
10
11PROPERTY_COMMAND_T(Process, SetLoop, ProcessModel::p_loops, "Set process looping")
12SCORE_COMMAND_DECL_T(Process::SetLoop)
13PROPERTY_COMMAND_T(
14 Process, SetStartOffset, ProcessModel::p_startOffset, "Set start offset")
15SCORE_COMMAND_DECL_T(Process::SetStartOffset)
16PROPERTY_COMMAND_T(
17 Process, SetLoopDuration, ProcessModel::p_loopDuration, "Set loop duration")
18SCORE_COMMAND_DECL_T(Process::SetLoopDuration)
19
20PROPERTY_COMMAND_T(Process, MoveNode, ProcessModel::p_position, "Move node")
21SCORE_COMMAND_DECL_T(Process::MoveNode)
22PROPERTY_COMMAND_T(Process, ResizeNode, ProcessModel::p_size, "Resize node")
23SCORE_COMMAND_DECL_T(Process::ResizeNode)
24PROPERTY_COMMAND_T(Process, SetNodeFoldMode, ProcessModel::p_foldMode, "Fold node")
25SCORE_COMMAND_DECL_T(Process::SetNodeFoldMode)
26
27namespace Process
28{
29class MoveNodes final : public score::Command
30{
31 SCORE_COMMAND_DECL(Process::CommandFactoryName(), MoveNodes, "Move nodes")
32public:
33 MoveNodes(std::vector<const ProcessModel*> processes, QPointF delta);
34
35 void undo(const score::DocumentContext& ctx) const override;
36 void redo(const score::DocumentContext& ctx) const override;
37
38 void update(unused_t, QPointF delta);
39
40protected:
41 void serializeImpl(DataStreamInput& s) const override;
42 void deserializeImpl(DataStreamOutput& s) override;
43
44private:
45 std::vector<std::pair<Path<ProcessModel>, QPointF>> m_models;
46 QPointF m_delta;
47};
48
50{
51 SCORE_COMMAND_DECL(CommandFactoryName(), MoveNodesMacro, "Move nodes")
52};
53}
Definition score-lib-process/Process/Commands/Properties.hpp:30
Definition score-lib-process/Process/Commands/Properties.hpp:50
Allows for grouping of multiple commands in a single one.
Definition AggregateCommand.hpp:15
The Command class.
Definition Command.hpp:34
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
Definition DataStreamHelpers.hpp:99
Definition DataStreamHelpers.hpp:103
Definition DocumentContext.hpp:18
Definition Unused.hpp:3