Plasma Engine
2.0
Loading...
Searching...
No Matches
NodeCommands.h
1
#pragma once
2
3
#include <ToolsFoundation/Command/Command.h>
4
5
class
plDocumentObject
;
6
class
plCommandHistory
;
7
class
plPin
;
8
9
class
PL_TOOLSFOUNDATION_DLL
plRemoveNodeCommand
:
public
plCommand
10
{
11
PL_ADD_DYNAMIC_REFLECTION(
plRemoveNodeCommand
,
plCommand
);
12
13
public
:
14
plRemoveNodeCommand
();
15
16
public
:
// Properties
17
plUuid
m_Object;
18
19
private
:
20
virtual
plStatus
DoInternal(
bool
bRedo)
override
;
21
virtual
plStatus
UndoInternal(
bool
bFireEvents)
override
;
22
virtual
void
CleanupInternal(CommandState state)
override
;
23
24
private
:
25
plDocumentObject
* m_pObject =
nullptr
;
26
};
27
28
29
class
PL_TOOLSFOUNDATION_DLL
plMoveNodeCommand
:
public
plCommand
30
{
31
PL_ADD_DYNAMIC_REFLECTION(
plMoveNodeCommand
,
plCommand
);
32
33
public
:
34
plMoveNodeCommand
();
35
36
public
:
// Properties
37
plUuid
m_Object;
38
plVec2
m_NewPos =
plVec2::MakeZero
();
39
40
private
:
41
virtual
plStatus
DoInternal(
bool
bRedo)
override
;
42
virtual
plStatus
UndoInternal(
bool
bFireEvents)
override
;
43
virtual
void
CleanupInternal(CommandState state)
override
{}
44
45
private
:
46
plDocumentObject
* m_pObject =
nullptr
;
47
plVec2
m_vOldPos =
plVec2::MakeZero
();
48
};
49
50
51
class
PL_TOOLSFOUNDATION_DLL
plConnectNodePinsCommand
:
public
plCommand
52
{
53
PL_ADD_DYNAMIC_REFLECTION(
plConnectNodePinsCommand
,
plCommand
);
54
55
public
:
56
plConnectNodePinsCommand
();
57
58
public
:
// Properties
59
plUuid
m_ConnectionObject;
60
plUuid
m_ObjectSource;
61
plUuid
m_ObjectTarget;
62
plString
m_sSourcePin;
63
plString
m_sTargetPin;
64
65
private
:
66
virtual
plStatus
DoInternal(
bool
bRedo)
override
;
67
virtual
plStatus
UndoInternal(
bool
bFireEvents)
override
;
68
virtual
void
CleanupInternal(CommandState state)
override
{}
69
70
private
:
71
plDocumentObject
* m_pConnectionObject =
nullptr
;
72
plDocumentObject
* m_pObjectSource =
nullptr
;
73
plDocumentObject
* m_pObjectTarget =
nullptr
;
74
};
75
76
77
class
PL_TOOLSFOUNDATION_DLL
plDisconnectNodePinsCommand
:
public
plCommand
78
{
79
PL_ADD_DYNAMIC_REFLECTION(
plDisconnectNodePinsCommand
,
plCommand
);
80
81
public
:
82
plDisconnectNodePinsCommand
();
83
84
public
:
// Properties
85
plUuid
m_ConnectionObject;
86
87
private
:
88
virtual
plStatus
DoInternal(
bool
bRedo)
override
;
89
virtual
plStatus
UndoInternal(
bool
bFireEvents)
override
;
90
virtual
void
CleanupInternal(CommandState state)
override
{}
91
92
private
:
93
plDocumentObject
* m_pConnectionObject =
nullptr
;
94
const
plDocumentObject
* m_pObjectSource =
nullptr
;
95
const
plDocumentObject
* m_pObjectTarget =
nullptr
;
96
plString
m_sSourcePin;
97
plString
m_sTargetPin;
98
};
99
100
101
class
PL_TOOLSFOUNDATION_DLL
plNodeCommands
102
{
103
public
:
104
static
plStatus
AddAndConnectCommand(
plCommandHistory
* pHistory,
const
plRTTI
* pConnectionType,
const
plPin
& sourcePin,
const
plPin
& targetPin);
105
static
plStatus
DisconnectAndRemoveCommand(
plCommandHistory
* pHistory,
const
plUuid
& connectionObject);
106
};
plCommandHistory
Stores the undo / redo stacks of transactions done on a document.
Definition
CommandHistory.h:52
plCommand
Interface for a command.
Definition
Command.h:15
plConnectNodePinsCommand
Definition
NodeCommands.h:52
plDisconnectNodePinsCommand
Definition
NodeCommands.h:78
plDocumentObject
Definition
DocumentObjectBase.h:11
plMoveNodeCommand
Definition
NodeCommands.h:30
plNodeCommands
Definition
NodeCommands.h:102
plPin
Definition
DocumentNodeManager.h:59
plRTTI
This class holds information about reflected types. Each instance represents one type that is known t...
Definition
RTTI.h:30
plRemoveNodeCommand
Definition
NodeCommands.h:10
plUuid
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition
Uuid.h:11
plVec2Template< float >
plVec2Template< float >::MakeZero
static constexpr plVec2Template< float > MakeZero()
Definition
Vec2.h:49
plHybridString< 32, plDefaultAllocatorWrapper >
plStatus
An plResult with an additional message for the reason of failure.
Definition
Status.h:12
Code
Tools
Libs
ToolsFoundation
Command
NodeCommands.h
Generated by
1.11.0