UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DiffResults.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "Styling/AppStyle.h"
8
9class SWidget;
10
12namespace EDiffType
13{
15 enum Type
16 {
17 // No actual difference
19
20 // Object does not exist in current version
22
23 // Object was added to current version
25
26 // An individual property differs
28
29 // Requests a full diff to be done on two objects, this will expand into other diffs
31
43 PIN_LINKEDTO_PIN, // only used when a pin was relinked to a different pin on the same node
54
55 // Informational message, does't count as a real diff
57
58 // User defined custom diff. Allows user to override property diffing and panel widgets
60 };
61
63 {
67
68 // used for small changes like moving nodes that don't effect the compilation
70
71 // used for items that are purely informational and don't show up in the diff results
73 };
74}
75
78{
80 {
82 Node1 = nullptr;
83 Node2 = nullptr;
84 Pin1 = nullptr;
85 Pin2 = nullptr;
86 Object1 = nullptr;
87 Object2 = nullptr;
88 }
89
92
94
97
100
103
106
109
112
115
118
122
125 {
126 switch(Category)
127 {
128 case EDiffType::ADDITION: return FAppStyle::Get().GetSlateColor("SourceControl.Diff.AdditionColor").GetSpecifiedColor();
129 case EDiffType::SUBTRACTION: return FAppStyle::Get().GetSlateColor("SourceControl.Diff.SubtractionColor").GetSpecifiedColor();
130 case EDiffType::MODIFICATION: return FAppStyle::Get().GetSlateColor("SourceControl.Diff.MajorModificationColor").GetSpecifiedColor();
131 case EDiffType::MINOR: return FAppStyle::Get().GetSlateColor("SourceControl.Diff.MinorModificationColor").GetSpecifiedColor();
132
134 }
135 }
136
139
141 inline bool IsRealDifference() const
142 {
143 switch (Diff)
144 {
148 return false;
149 default:
150 return true;
151 }
152 }
153};
154
155inline bool operator==( const FDiffSingleResult& LHS, const FDiffSingleResult& RHS )
156{
157 return LHS.Diff == RHS.Diff &&
158 LHS.Node1 == RHS.Node1 &&
159 LHS.Node2 == RHS.Node2 &&
160 LHS.Pin1 == RHS.Pin1 &&
161 LHS.Pin2 == RHS.Pin2 &&
162 LHS.Object1 == RHS.Object1 &&
163 LHS.Object2 == RHS.Object2 &&
164 LHS.DisplayString.ToString() == RHS.DisplayString.ToString() &&
165 LHS.ToolTip.ToString() == RHS.ToolTip.ToString() &&
166 LHS.Category == RHS.Category;
167}
168
171{
174
176 void Add(const FDiffSingleResult& Result)
177 {
178 if(Result.Diff != EDiffType::NO_DIFFERENCE)
179 {
180 bHasFoundDiffs = true;
181 if(ResultArray)
182 {
183 ResultArray->Add(Result);
184 }
185 }
186 }
187
189 bool CanStoreResults() const
190 {
191 return ResultArray != nullptr;
192 }
193
195 int32 Num() const { return ResultArray ? ResultArray->Num() : 0;}
196
198 bool HasFoundDiffs() const { return bHasFoundDiffs; }
199
200private:
202 TArray<FDiffSingleResult>* ResultArray;
203 bool bHasFoundDiffs;
204};
205
209class IDiffCustomObject : public TSharedFromThis<IDiffCustomObject>
210{
211public:
212 virtual ~IDiffCustomObject() = default;
215};
216
217class IDiffCustomProperty : public TSharedFromThis<IDiffCustomProperty>
218{
219public:
220 virtual ~IDiffCustomProperty() = default;
222};
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
bool operator==(const FDiffSingleResult &LHS, const FDiffSingleResult &RHS)
Definition DiffResults.h:155
static SLATECORE_API const ISlateStyle & Get()
Definition AppStyle.cpp:10
Definition Text.h:385
CORE_API const FString & ToString() const
Definition Text.cpp:1263
Definition DiffResults.h:210
virtual ~IDiffCustomObject()=default
virtual TSharedPtr< SWidget > GetNewWidget()=0
virtual TSharedPtr< SWidget > GetOldWidget()=0
Definition DiffResults.h:218
virtual ~IDiffCustomProperty()=default
virtual void HighlightProperty(const TSharedPtr< IDiffCustomObject > Widget)=0
virtual const FSlateColor GetSlateColor(const FName PropertyName, const ANSICHAR *Specifier=nullptr, const FSlateColor &DefaultValue=FStyleDefaults::GetSlateColor(), const ISlateStyle *RequestingStyle=nullptr) const =0
Definition SWidget.h:165
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition EdGraphNode.h:289
Definition EdGraphPin.h:294
Definition Object.h:95
Definition DiffResults.h:13
Type
Definition DiffResults.h:16
@ PIN_LINKEDTO_PIN
Definition DiffResults.h:43
@ PIN_TYPE_SUBCATEGORY_OBJECT
Definition DiffResults.h:39
@ TIMELINE_AUTOPLAY
Definition DiffResults.h:46
@ PIN_TYPE_IS_REF
Definition DiffResults.h:41
@ OBJECT_ADDED
Definition DiffResults.h:24
@ TIMELINE_IGNOREDILATION
Definition DiffResults.h:48
@ PIN_TYPE_CATEGORY
Definition DiffResults.h:37
@ OBJECT_PROPERTY
Definition DiffResults.h:27
@ TIMELINE_LOOP
Definition DiffResults.h:47
@ PIN_LINKEDTO_NUM_DEC
Definition DiffResults.h:34
@ PIN_DEFAULT_VALUE
Definition DiffResults.h:36
@ PIN_LINKEDTO_NUM_INC
Definition DiffResults.h:35
@ TIMELINE_NUM_TRACKS
Definition DiffResults.h:49
@ OBJECT_REMOVED
Definition DiffResults.h:21
@ PIN_TYPE_IS_ARRAY
Definition DiffResults.h:40
@ TIMELINE_LENGTH
Definition DiffResults.h:45
@ PIN_TYPE_SUBCATEGORY
Definition DiffResults.h:38
@ TIMELINE_TRACK_MODIFIED
Definition DiffResults.h:50
@ NODE_ADDED
Definition DiffResults.h:33
@ PIN_LINKEDTO_NODE
Definition DiffResults.h:42
@ NODE_MOVED
Definition DiffResults.h:44
@ OBJECT_REQUEST_DIFF
Definition DiffResults.h:30
@ CUSTOM_OBJECT
Definition DiffResults.h:59
@ NO_DIFFERENCE
Definition DiffResults.h:18
@ INFO_MESSAGE
Definition DiffResults.h:56
@ NODE_COMMENT
Definition DiffResults.h:52
@ NODE_REMOVED
Definition DiffResults.h:32
@ NODE_PROPERTY
Definition DiffResults.h:53
@ NODE_PIN_COUNT
Definition DiffResults.h:51
Category
Definition DiffResults.h:63
@ MINOR
Definition DiffResults.h:69
@ MODIFICATION
Definition DiffResults.h:66
@ ADDITION
Definition DiffResults.h:64
@ CONTROL
Definition DiffResults.h:72
@ SUBTRACTION
Definition DiffResults.h:65
@ false
Definition radaudio_common.h:23
Definition DiffResults.h:171
bool CanStoreResults() const
Definition DiffResults.h:189
bool HasFoundDiffs() const
Definition DiffResults.h:198
void Add(const FDiffSingleResult &Result)
Definition DiffResults.h:176
int32 Num() const
Definition DiffResults.h:195
FDiffResults(TArray< FDiffSingleResult > *InResultArray)
Definition DiffResults.h:172
Definition DiffResults.h:78
FDiffSingleResult()
Definition DiffResults.h:79
class UEdGraphPin * Pin2
Definition DiffResults.h:105
FText ToolTip
Definition DiffResults.h:117
FText DisplayString
Definition DiffResults.h:114
TSharedPtr< class IDiffCustomObject > CustomObject
Definition DiffResults.h:120
const UObject * Object2
Definition DiffResults.h:111
class UEdGraphPin * Pin1
Definition DiffResults.h:102
EDiffType::Category Category
Definition DiffResults.h:93
FLinearColor GetDisplayColor() const
Definition DiffResults.h:124
FString OwningObjectPath
Definition DiffResults.h:138
class UEdGraphNode * Node2
Definition DiffResults.h:99
class UEdGraphNode * Node1
Definition DiffResults.h:96
TSharedPtr< class IDiffCustomProperty > CustomProperty
Definition DiffResults.h:121
const UObject * Object1
Definition DiffResults.h:108
EDiffType::Type Diff
Definition DiffResults.h:91
bool IsRealDifference() const
Definition DiffResults.h:141
Definition Color.h:48
FLinearColor GetSpecifiedColor() const
Definition SlateColor.h:134
static SLATECORE_API const FSlateColor Foreground
Definition StyleColors.h:370