Choose your operating system:
Windows
macOS
Linux
Module |
|
Header |
/Engine/Source/Runtime/Core/Public/Misc/Change.h |
Include |
#include "Misc/Change.h" |
class FChange
FChange modifies a UObject and is meant to be used to implement undo/redo. The change is embedded in an FTransaction which executes it instead of the standard serialization transaction (cannot be combined - see FTransaction).
The original FChange style (used by MeshEditor) was that calling Execute() would return a new FChange that applies the opposite action, and FTransaction would swap the two at each undo/redo step (eg a "DeleteObject" FChange would return a "CreateObject" FChange)
The alternative "Command Pattern"-style FChange calls Apply() and Revert() on a single FChange.
FChange may eventually be deprecated. You should subclass FSwapChange and FCommandChange to implement these different styles.
Name | Description | |
---|---|---|
|
FChange() |
Protected default constructor |
Name | Description | |
---|---|---|
|
~FChange() |
Virtual destructor |
Name | Description | ||
---|---|---|---|
|
Apply ( |
Makes the change to the object |
|
|
TUniquePtr< ... |
Execute ( |
Makes the change to the object, returning a new change that can be used to perfectly roll back this change |
|
GetChangeType() |
What style of change is this |
|
|
HasExpired ( |
||
|
PrintToLog ( |
Prints this change to the log, including sub-changes if there are any. |
|
|
Revert ( |
Reverts change to the object |
|
|
ToString() |
Describes this change (for debugging) |
Name |
Description |
|
---|---|---|
|
EChangeStyle |