UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ITransaction.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7#include "Misc/Guid.h"
10#include "Change.h"
11
12// Class for handling undo/redo transactions among objects.
13typedef void(*STRUCT_DC)( void* TPtr ); // default construct
14typedef void(*STRUCT_AR)( class FArchive& Ar, void* TPtr ); // serialize
15typedef void(*STRUCT_DTOR)( void* TPtr ); // destruct
16
17
37
38
78
79
87{
88public:
89
91 virtual void BeginOperation() = 0;
92
94 virtual void EndOperation() = 0;
95
97 virtual void Finalize() = 0;
98
100 virtual void Apply() = 0;
101
103 virtual FTransactionContext GetContext() const = 0;
104
111 virtual bool IsTransient() const = 0;
112
114 virtual bool ContainsPieObjects() const = 0;
115
130 virtual void SaveArray( UObject* Object, class FScriptArray* Array, int32 Index, int32 Count, int32 Oper, int32 ElementSize, uint32 ElementAlignment, STRUCT_DC DefaultConstructor, STRUCT_AR Serializer, STRUCT_DTOR Destructor ) = 0;
131
139 virtual void SaveObject( UObject* Object ) = 0;
140
149
155 virtual void SetPrimaryObject( UObject* Object ) = 0;
156
164
168 virtual bool ContainsObject(const UObject* Object) const = 0;
169};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void(* STRUCT_DC)(void *TPtr)
Definition ITransaction.h:13
void(* STRUCT_AR)(class FArchive &Ar, void *TPtr)
Definition ITransaction.h:14
void(* STRUCT_DTOR)(void *TPtr)
Definition ITransaction.h:15
ETransactionStateEventType
Definition ITransaction.h:20
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition ScriptArray.h:328
Definition Text.h:385
Definition ITransaction.h:87
virtual void SetPrimaryObject(UObject *Object)=0
virtual void SaveObject(UObject *Object)=0
virtual void SnapshotObject(UObject *Object, TArrayView< const FProperty * > Properties)=0
virtual void Finalize()=0
virtual void EndOperation()=0
virtual bool IsTransient() const =0
virtual void Apply()=0
virtual void BeginOperation()=0
virtual bool ContainsPieObjects() const =0
virtual void StoreUndo(UObject *Object, TUniquePtr< FChange > CustomChange)=0
virtual bool ContainsObject(const UObject *Object) const =0
virtual FTransactionContext GetContext() const =0
virtual void SaveArray(UObject *Object, class FScriptArray *Array, int32 Index, int32 Count, int32 Oper, int32 ElementSize, uint32 ElementAlignment, STRUCT_DC DefaultConstructor, STRUCT_AR Serializer, STRUCT_DTOR Destructor)=0
Definition ArrayView.h:139
Definition UniquePtr.h:107
Definition Object.h:95
U16 Index
Definition radfft.cpp:71
Definition Guid.h:109
bool IsValid() const
Definition Guid.h:318
Definition ITransaction.h:43
FString Context
Definition ITransaction.h:74
FGuid TransactionId
Definition ITransaction.h:68
FTransactionContext()
Definition ITransaction.h:44
FText Title
Definition ITransaction.h:72
bool IsValid() const
Definition ITransaction.h:62
FGuid OperationId
Definition ITransaction.h:70
FTransactionContext(const FGuid &InTransactionId, const FGuid &InOperationId, const FText &InSessionTitle, const TCHAR *InContext, UObject *InPrimaryObject)
Definition ITransaction.h:53
UObject * PrimaryObject
Definition ITransaction.h:76