UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
EdGraphSchema.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 "UObject/Object.h"
11#include "UObject/ObjectKey.h"
12#include "Input/Reply.h"
13#if WITH_EDITOR
14#include "Kismet2/Kismet2NameValidators.h"
15#endif
16#include "EdGraphSchema.generated.h"
17
18class FSlateRect;
19struct FSlateBrush;
20class UEdGraph;
22
24UENUM()
34
36UENUM()
62
63// Used to opaquely verify that two different persistent entries backing actions are part of the same section/category (e.g., both are variables in the same Blueprint)
65{
66 FEdGraphSchemaActionDefiningObject(UObject* InObject, void* AdditionalPointer = nullptr, FName AdditionalName = NAME_None)
67 : DefiningObject(InObject)
68 , DefiningPointer(AdditionalPointer)
69 , DefiningName(AdditionalName)
70 , bIsEditable((InObject != nullptr) ? !InObject->IsNative() : false)
71 {
72 }
73
75 {
76 return (A.DefiningObject == B.DefiningObject) && (A.DefiningPointer == B.DefiningPointer) && (A.DefiningName == B.DefiningName) && (A.bIsEditable == B.bIsEditable);
77 }
78
80 {
81 return !(A == B);
82 }
83
85 {
86 return bIsEditable;
87 }
88private:
89 FObjectKey DefiningObject;
90 void* DefiningPointer;
91 FName DefiningName;
92 bool bIsEditable;
93};
94
96USTRUCT()
98{
100
101
102 static FName StaticGetTypeId() {static FName Type("FEdGraphSchemaAction"); return Type;}
103 virtual FName GetTypeId() const { return StaticGetTypeId(); }
104
105private:
107 UPROPERTY()
108 FText MenuDescription;
109
111 UPROPERTY()
112 FText TooltipDescription;
113
115 UPROPERTY()
116 FText Category;
117
119 UPROPERTY()
120 FText Keywords;
121
122#if WITH_EDITORONLY_DATA
124 UPROPERTY()
125 TArray<FString> CategoryChain;
126#endif
127public:
129 UPROPERTY()
130 int32 Grouping;
131
133 UPROPERTY()
134 int32 SectionID;
135
136 UPROPERTY()
137 TArray<FString> MenuDescriptionArray;
138
139 UPROPERTY()
140 TArray<FString> FullSearchTitlesArray;
141
142 UPROPERTY()
143 TArray<FString> FullSearchKeywordsArray;
144
145 UPROPERTY()
146 TArray<FString> FullSearchCategoryArray;
147
148 UPROPERTY()
149 TArray<FString> LocalizedMenuDescriptionArray;
150
151 UPROPERTY()
152 TArray<FString> LocalizedFullSearchTitlesArray;
153
154 UPROPERTY()
155 TArray<FString> LocalizedFullSearchKeywordsArray;
156
157 UPROPERTY()
158 TArray<FString> LocalizedFullSearchCategoryArray;
159
160 UPROPERTY()
161 FString SearchText;
163 : Grouping(0)
164 , SectionID(0)
165 {}
166
168
175
177 virtual bool IsParentable() const { return false; }
178
180 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
182 {
183 return nullptr;
184 }
185 virtual UEdGraphNode* PerformAction(class UEdGraph* ParentGraph, UEdGraphPin* FromPin, const FVector2f& Location, bool bSelectNewNode = true)
186 {
188 return PerformAction(ParentGraph, FromPin, FVector2D(Location), bSelectNewNode);
190 }
191
193 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
195 {
196 UEdGraphNode* NewNode = nullptr;
197 if (FromPins.Num() > 0)
198 {
199 NewNode = PerformAction(ParentGraph, FromPins[0], UE::Slate::CastToVector2f(Location), bSelectNewNode);
200 }
201 else
202 {
203 NewNode = PerformAction(ParentGraph, nullptr, UE::Slate::CastToVector2f(Location), bSelectNewNode);
204 }
205
206 return NewNode;
207 }
214
216 ENGINE_API virtual FReply OnDoubleClick(UBlueprint* InBlueprint);
217
218 // Updates the category of the *action* and refreshes the search text; does not change the persistent backing item
219 // (e.g., it will not actually move a user added variable or function to a new category)
220 ENGINE_API void CosmeticUpdateCategory(FText NewCategory);
221
222#if WITH_EDITOR
225#endif
226
228
230 {
231 return SectionID;
232 }
233
235 {
236 return Grouping;
237 }
238
240 {
241 return MenuDescription;
242 }
243
245 {
246 return TooltipDescription;
247 }
248
249 const FText& GetCategory() const
250 {
251 return Category;
252 }
253
254 const FText& GetKeywords() const
255 {
256 return Keywords;
257 }
258
260 {
261 return MenuDescriptionArray;
262 }
263
266 {
267 return FullSearchTitlesArray;
268 }
269
272 {
273 return FullSearchKeywordsArray;
274 }
275
278 {
279 return FullSearchCategoryArray;
280 }
281
283 {
284 return LocalizedMenuDescriptionArray;
285 }
286
289 {
290 return LocalizedFullSearchTitlesArray;
291 }
292
295 {
296 return LocalizedFullSearchKeywordsArray;
297 }
298
301 {
302 return LocalizedFullSearchCategoryArray;
303 }
304
305 const FString& GetFullSearchText() const
306 {
307 return SearchText;
308 }
309
310 // GC.
311 virtual void AddReferencedObjects(FReferenceCollector& Collector) {}
312
313 // Moves the item backing this action to the specified category if it is possible (does nothing for native-introduced variables/functions/etc...)
315
316 // Returns the ordering index of this action in the parent container (if the item cannot be reordered then this will return INDEX_NONE)
317 virtual int32 GetReorderIndexInContainer() const { return INDEX_NONE; }
318
319 // Reorders this action to be before the other item in the parent container (returns false if they are not in the same container or cannot be reordered)
321
322 // Returns an opaque handle that can be used to confirm that two different persistent entries backing actions are part of the same section/category
323 // (e.g., both are variables in the same Blueprint)
325
326 // Returns true if the action is of the given type.
327 virtual bool IsA(const FName& InType) const
328 {
329 return InType == GetTypeId();
330 }
331
332 // Returns true if the action refers to a member or local variable
333 virtual bool IsAVariable() const { return false; }
334
335 // Returns true if the action can be renamed
336 virtual bool CanBeRenamed() const { return true; }
337
338 // Returns true if the action can be deleted
339 virtual bool CanBeDeleted() const { return false; }
340
341 // Can be used to override the icon of the action in the palette
342 virtual FSlateBrush const* GetPaletteIcon() const { return nullptr; }
343
344 // Can be used to override the tooltip shown in the palette
345 virtual FText GetPaletteToolTip() const { return FText(); }
346
347#if WITH_EDITOR
348 // returns the full list of categories, after any pipe (|) separators have been parsed
350#endif
351private:
352 ENGINE_API void UpdateSearchText();
353};
354
356USTRUCT()
358{
360
361 // Simple type info
362 static FName StaticGetTypeId() {static FName Type("FEdGraphSchemaAction_NewNode"); return Type;}
363 virtual FName GetTypeId() const override { return StaticGetTypeId(); }
364
366 UPROPERTY()
367 TObjectPtr<class UEdGraphNode> NodeTemplate;
368
369
372 , NodeTemplate(nullptr)
373 {}
374
379
380 // FEdGraphSchemaAction interface
381 ENGINE_API virtual UEdGraphNode* PerformAction(class UEdGraph* ParentGraph, UEdGraphPin* FromPin, const FVector2f& Location, bool bSelectNewNode = true) override;
382 ENGINE_API virtual UEdGraphNode* PerformAction(class UEdGraph* ParentGraph, TArray<UEdGraphPin*>& FromPins, const FVector2f& Location, bool bSelectNewNode = true) override;
383 ENGINE_API virtual void AddReferencedObjects(FReferenceCollector& Collector) override;
384 // End of FEdGraphSchemaAction interface
385
386 template <typename NodeType>
388 {
390 Action.NodeTemplate = InTemplateNode;
391
392 return Cast<NodeType>(Action.PerformAction(ParentGraph, nullptr, Location, bSelectNewNode));
393 }
394
396};
397
412
415{
416public:
418
420
421public:
423 : Message(FText::GetEmpty())
425 , bIsFatal(false)
426 {
427 }
428
430 : Message(FText::FromString(MoveTemp(InMessage)))
432 , bIsFatal(false)
433 {
434 }
435
442
449
456
458 {
459 return (A.Message.ToString() == B.Message.ToString()) && (A.Response == B.Response) && (A.bIsFatal == B.bIsFatal);
460 }
461
467
468 bool IsFatal() const
469 {
470 return (Response == CONNECT_RESPONSE_DISALLOW) && bIsFatal;
471 }
472
473 void SetFatal()
474 {
476 bIsFatal = true;
477 }
478
479private:
480 bool bIsFatal:1;
481};
482
483
484// This object is a base class helper used when building a list of actions for some menu or palette
486{
487public:
489 class UE_DEPRECATED(5.5, "ActionGroup has been deprecated - operate only on TSharedPtr<FEdGraphSchemaAction> or const FEdGraphSchemaAction& as appropriate")
491 {
492 public:
495
498
502
505 ENGINE_API ActionGroup& operator=(const ActionGroup&);
506
512
520
524 const FString& GetSearchTextForFirstAction() const { return Actions[0]->GetFullSearchText(); }
525
527 const TArray<FString>& GetSearchKeywordsArrayForFirstAction() const { return Actions[0]->GetSearchKeywordsArray(); }
529 const TArray<FString>& GetMenuDescriptionArrayForFirstAction() const { return Actions[0]->GetMenuDescriptionArray(); }
531 const TArray<FString>& GetSearchTitleArrayForFirstAction() const { return Actions[0]->GetSearchTitleArray(); }
533 const TArray<FString>& GetSearchCategoryArrayForFirstAction() const { return Actions[0]->GetSearchCategoryArray(); }
534
536 const TArray<FString>& GetLocalizedSearchKeywordsArrayForFirstAction() const { return Actions[0]->GetLocalizedSearchKeywordsArray(); }
538 const TArray<FString>& GetLocalizedMenuDescriptionArrayForFirstAction() const { return Actions[0]->GetLocalizedMenuDescriptionArray(); }
540 const TArray<FString>& GetLocalizedSearchTitleArrayForFirstAction() const { return Actions[0]->GetLocalizedSearchTitleArray(); }
542 const TArray<FString>& GetLocalizedSearchCategoryArrayForFirstAction() const { return Actions[0]->GetLocalizedSearchCategoryArray(); }
543
546
547 private:
548 void Move(ActionGroup& Other);
549 void Copy(const ActionGroup& Other);
550
556 void InitCategoryChain();
557
561 void InitSearchText();
562
564 FString RootCategory;
567 };
568private:
569
572
573public:
574
577
580 UE_DEPRECATED(5.5, "Overriding the schema action category is no longer supported, set the category via CosmeticUpdateRootCategory or CosmeticUpdateCategory")
581 ENGINE_API virtual void AddAction(const TSharedPtr<FEdGraphSchemaAction>& NewAction, FString const& Category);
582
584 UE_DEPRECATED(5.5, "Collections of Action lists were ambiguous and unused - make a compound FEdGraphSchemaAction and Add it")
585 ENGINE_API virtual void AddActionList( const TArray<TSharedPtr<FEdGraphSchemaAction> >& NewActions, FString const& Category = FString() );
586
589
592
595
600
602 ENGINE_API virtual void Empty();
603
604 // The temporary graph outer to store any template nodes created
606
607public:
608 template<typename NodeType>
610 {
612 }
613
618};
619
622{
623public:
624 ENGINE_API FCategorizedGraphActionListBuilder(FString Category = FString());
625
626 // FGraphActionListBuilderBase Interface
628 UE_DEPRECATED(5.5, "Overriding the schema action category is no longer supported, specify category via FCategorizedGraphActionListBuilder constructor, or on the FEdGraphSchemaAction")
629 ENGINE_API virtual void AddAction(const TSharedPtr<FEdGraphSchemaAction>& NewAction, FString const& Category) override;
630 UE_DEPRECATED(5.5, "Collections of Action lists were ambiguous and unused - make a compound FEdGraphSchemaAction and Add it")
631 ENGINE_API virtual void AddActionList(const TArray<TSharedPtr<FEdGraphSchemaAction> >& NewActions, FString const& Category = FString()) override;
632 // End of FGraphActionListBuilderBase Interface
633
634private:
636 FString Category;
637};
638
639// This context is used when building a list of actions that can be done in the current blueprint
641{
642public:
644public:
646};
647
648// This context is used when building a list of actions that can be done in the current context
650{
651public:
652 // The current graph (will never be NULL)
654
655 // The selected objects
657public:
659};
660
683
684#if WITH_EDITORONLY_DATA
686{
687 float NodeTitleWeight = 0.0f;
688 float KeywordWeight = 0.0f;
689 float DescriptionWeight = 0.0f;
690 float CategoryWeight = 0.0f;
692 float WholeMatchWeightMultiplier = 0.0f;
695 float ShorterMatchWeight = 0.0f;
696};
697
698// Helper struct storing the search text array with its weight info
700{
703 {}
704
705 const TArray< FString >* Array = nullptr;
706 float WeightModifier = 0.0f;
707 float* DebugWeight = nullptr;
708};
709
710// Helper struct storing the breakdown of the weights assigned to the search text
712{
713 virtual ~FGraphSchemaSearchTextDebugInfo() = default;
714
715 float TotalWeight = 0.0f; // Overall weight
716
717 float NodeTitleWeight = 0.0f; // Weight for the node's title
718 float KeywordWeight = 0.0f; // Weight for the node's keywords
719 float DescriptionWeight = 0.0f; // Weight for the node's description
720 float CategoryWeight = 0.0f; // Weight for the category
721
722 float PercentMatch = 0.0f; // The calculated whole match percentage
723 float PercentMatchWeight = 0.0f; // Weight for the whole match percentage
724 float ShorterMatchWeight = 0.0f; // Weight for the shorter matched words
725
727 ENGINE_API virtual void Print(const TArray<FString>& SearchForKeywords, const FEdGraphSchemaAction& Action) const;
729 UE_DEPRECATED(5.5, "FGraphActionListBuilderBase::ActionGroup weight calculation was always performed on the first action, provide that if scoring a FGraphActionListBuilderBase::ActionGroup, or just provide the FEdGraphSchemaAction")
730 ENGINE_API virtual void Print(const TArray<FString>& SearchForKeywords, const FGraphActionListBuilderBase::ActionGroup& Action) const;
732};
733#endif // WITH_EDITORONLY_DATA
734
735UCLASS(abstract, MinimalAPI)
737{
739
740
741
746 ENGINE_API virtual void GetGraphContextActions(FGraphContextMenuBuilder& ContextMenuBuilder) const;
747
749 ENGINE_API FName GetContextMenuName() const;
750
752 ENGINE_API virtual FName GetParentContextMenuName() const;
753
755 static ENGINE_API FName GetContextMenuName(UClass* InClass);
756
763 ENGINE_API virtual void GetContextMenuActions(class UToolMenu* Menu, class UGraphNodeContextMenuContext* Context) const;
764
773 virtual const FPinConnectionResponse CanCreateConnection(const UEdGraphPin* A, const UEdGraphPin* B) const
774 {
775 return FPinConnectionResponse(CONNECT_RESPONSE_DISALLOW, TEXT("Not implemented by this schema"));
776 }
777
786 virtual const FPinConnectionResponse CanMergeNodes(const UEdGraphNode* A, const UEdGraphNode* B) const
787 {
788 return FPinConnectionResponse(CONNECT_RESPONSE_DISALLOW, TEXT("Not implemented by this schema"));
789 }
790
791
792 // Categorizes two pins into an input pin and an output pin. Returns true if successful or false if they don't make sense as such (two inputs or two outputs)
793 template<typename PinType>
794 static bool CategorizePinsByDirection(PinType* PinA, PinType* PinB, /*out*/ PinType*& InputPin, /*out*/ PinType*& OutputPin)
795 {
796 InputPin = nullptr;
797 OutputPin = nullptr;
798
799 bool bResult = false;
800 if (ensure(PinA && PinB))
801 {
802 if ((PinA->Direction == EGPD_Input) && (PinB->Direction == EGPD_Output))
803 {
804 InputPin = PinA;
805 OutputPin = PinB;
806 bResult = true;
807 }
808 else if ((PinB->Direction == EGPD_Input) && (PinA->Direction == EGPD_Output))
809 {
810 InputPin = PinB;
811 OutputPin = PinA;
812 bResult = true;
813 }
814 }
815 return bResult;
816 }
817
826 ENGINE_API virtual bool TryCreateConnection(UEdGraphPin* A, UEdGraphPin* B) const;
827
829 ENGINE_API virtual bool IsConnectionRelinkingAllowed(UEdGraphPin* InPin) const;
830
837 ENGINE_API virtual const FPinConnectionResponse CanRelinkConnectionToPin(const UEdGraphPin* OldSourcePin, const UEdGraphPin* TargetPinCandidate) const;
838
841
853 ENGINE_API virtual bool CreateAutomaticConversionNodeAndConnections(UEdGraphPin* A, UEdGraphPin* B) const;
854
863 ENGINE_API virtual bool CreatePromotedConnection(UEdGraphPin* A, UEdGraphPin* B) const;
864
865#if WITH_EDITORONLY_DATA
873#endif
874
882 virtual FString IsPinDefaultValid(const UEdGraphPin* Pin, const FString& NewDefaultValue, TObjectPtr<UObject> NewDefaultObject, const FText& InNewDefaultText) const { return TEXT("Not implemented by this schema"); }
883
888 ENGINE_API FString IsCurrentPinDefaultValid(const UEdGraphPin* Pin) const;
889
895 virtual bool DoesSupportPinWatching() const { return false; }
896
903 virtual bool IsPinBeingWatched(UEdGraphPin const* Pin) const { return false; }
904
911 virtual void ClearPinWatch(UEdGraphPin const* Pin) const {}
912
919 virtual bool CanShowDataTooltipForPin(const UEdGraphPin& Pin) const { return false; }
920
928 ENGINE_API virtual void TrySetDefaultValue(UEdGraphPin& Pin, const FString& NewDefaultValue, bool bMarkAsModified = true) const;
929
931 ENGINE_API virtual void TrySetDefaultObject(UEdGraphPin& Pin, UObject* NewDefaultObject, bool bMarkAsModified = true) const;
932
934 ENGINE_API virtual void TrySetDefaultText(UEdGraphPin& InPin, const FText& InNewDefaultText, bool bMarkAsModified = true) const;
935
937 ENGINE_API virtual bool DoesDefaultValueMatch(const UEdGraphPin& InPin, const FString& InValue) const;
938
940 ENGINE_API virtual bool DoesDefaultValueMatchAutogenerated(const UEdGraphPin& InPin) const;
941
943 virtual void ResetPinToAutogeneratedDefaultValue(UEdGraphPin* Pin, bool bCallModifyCallbacks = true) const { }
944
946 virtual bool ShouldHidePinDefaultValue(UEdGraphPin* Pin) const { return false; }
947
949 virtual bool ShouldShowAssetPickerForPin(UEdGraphPin* Pin) const { return true; }
950
952 virtual bool SupportsPinType(TWeakPtr<const FEdGraphSchemaAction> SchemaAction, const FEdGraphPinType& PinType) const { return true; }
953
955 virtual bool SupportsPinTypeContainer(TWeakPtr<const FEdGraphSchemaAction> SchemaAction, const FEdGraphPinType& PinType, const EPinContainerType& ContainerType) const { return true; }
956
964 virtual FLinearColor GetPinTypeColor(const FEdGraphPinType& PinType) const { return FLinearColor::Black; }
965
974 virtual FLinearColor GetPinColor(const UEdGraphPin* InPin) const { return InPin ? GetPinTypeColor(InPin->PinType) : FLinearColor::Black; }
975
976 virtual FLinearColor GetSecondaryPinTypeColor(const FEdGraphPinType& PinType) const { return FLinearColor::White; };
977
978#if WITH_EDITORONLY_DATA
980 ENGINE_API virtual FText GetPinDisplayName(const UEdGraphPin* Pin) const;
981
992 UE_DEPRECATED(5.5, "FGraphActionListBuilderBase::ActionGroup weight calculation was always performed on the first action, provide that if scoring a FGraphActionListBuilderBase::ActionGroup, or just provide the FEdGraphSchemaAction")
993 ENGINE_API virtual float GetActionFilteredWeight(const FGraphActionListBuilderBase::ActionGroup& InCurrentAction, const TArray<FString>& InFilterTerms, const TArray<FString>& InSanitizedFilterTerms, const TArray<UEdGraphPin*>& DraggedFromPins) const;
995
998#endif // WITH_EDITORONLY_DATA
999
1009 ENGINE_API virtual void ConstructBasicPinTooltip(UEdGraphPin const& Pin, FText const& PinDescription, FString& TooltipOut) const;
1010
1012 //@TODO: This is too K2-specific to be included in EdGraphSchema and should be refactored
1013 virtual EGraphType GetGraphType(const UEdGraph* TestEdGraph) const { return GT_Function; }
1014
1022 virtual bool IsTitleBarPin(const UEdGraphPin& Pin) const { return false; }
1023
1029 ENGINE_API virtual void BreakNodeLinks(UEdGraphNode& TargetNode) const;
1030
1032 static ENGINE_API bool SetNodeMetaData(UEdGraphNode* Node, FName const& KeyValue);
1033
1040 ENGINE_API virtual void BreakPinLinks(UEdGraphPin& TargetPin, bool bSendsNodeNotifcation) const;
1041
1048 ENGINE_API virtual void BreakSinglePinLink(UEdGraphPin* SourcePin, UEdGraphPin* TargetPin) const;
1049
1051 virtual void SplitPin(UEdGraphPin* Pin, bool bNotify = true) const { };
1052
1054 virtual void RecombinePin(UEdGraphPin* Pin) const { };
1055
1057 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1058 virtual void OnPinConnectionDoubleCicked(UEdGraphPin* PinA, UEdGraphPin* PinB, const FVector2D& GraphPosition) const UE_SLATE_DEPRECATED_VECTOR_VIRTUAL_FUNCTION { }
1059 virtual void OnPinConnectionDoubleCicked(UEdGraphPin* PinA, UEdGraphPin* PinB, const FVector2f& GraphPosition) const
1060 {
1062 return OnPinConnectionDoubleCicked(PinA, PinB, FVector2D(GraphPosition));
1064 }
1065
1075
1078
1080 virtual bool IsSelfPin(const UEdGraphPin& Pin) const {return false;}
1081
1083 virtual bool IsDelegateCategory(const FName Category) const {return false;}
1084
1091 virtual void CreateDefaultNodesForGraph(UEdGraph& Graph) const {}
1092
1099 ENGINE_API virtual void ReconstructNode(UEdGraphNode& TargetNode, bool bIsBatchRequest=false) const;
1100
1110 virtual UEdGraphNode* CreateSubstituteNode(UEdGraphNode* Node, const UEdGraph* Graph, FObjectInstancingGraph* InstanceGraph, TSet<FName>& InOutExtraNames) const { return nullptr; }
1111
1118 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1119 ENGINE_API virtual void SetNodePosition(UEdGraphNode* Node, const FVector2D& Position) const UE_SLATE_DEPRECATED_VECTOR_VIRTUAL_FUNCTION;
1120 ENGINE_API virtual void SetNodePosition(UEdGraphNode* Node, const FVector2f& Position) const;
1121
1127 virtual int32 GetNodeSelectionCount(const UEdGraph* Graph) const { return 0; }
1128
1130 virtual TSharedPtr<FEdGraphSchemaAction> GetCreateCommentAction() const { return nullptr; }
1131
1135 virtual void HandleGraphBeingDeleted(UEdGraph& GraphBeingRemoved) const {}
1136
1137 /*
1138 * Try to delete the graph through the schema, return true if successful
1139 */
1140 virtual bool TryDeleteGraph(UEdGraph* GraphToDelete) const { return false; }
1141
1142 /*
1143 * Try to rename a graph through the schema, return true if successful
1144 */
1145 virtual bool TryRenameGraph(UEdGraph* GraphToRename, const FName& InNewName) const { return false; }
1146
1147 /*
1148 * Try to retrieve the event child actions for a given graph
1149 */
1150 virtual bool TryToGetChildEvents(const UEdGraph* Graph, const int32 SectionId, TArray<TSharedPtr<FEdGraphSchemaAction>>& Actions, const FText& ParentCategory) const { return false; }
1151
1155 virtual bool CanEncapuslateNode(UEdGraphNode const& TestNode) const { return true; }
1156
1157 /*
1158 * Can the function graph be dropped into another graph
1159 */
1160 virtual bool CanGraphBeDropped(TSharedPtr<FEdGraphSchemaAction> InAction) const { return false; }
1161
1162 /*
1163 * Returns a custom reference string for searching within the blueprint based on a given action
1164 */
1165 virtual FString GetFindReferenceSearchTerm(const FEdGraphSchemaAction* InGraphAction) const { return FString(); }
1166
1167 /*
1168 * Begins a drag and drop action to drag a graph action into another graph
1169 */
1170 UE_DEPRECATED(5.0, "Use version that takes FPointerEvent instead.")
1171 ENGINE_API virtual FReply BeginGraphDragAction(TSharedPtr<FEdGraphSchemaAction> InAction) const;
1172
1173 /*
1174 * Begins a drag and drop action to drag a graph action into another graph
1175 */
1176 ENGINE_API virtual FReply BeginGraphDragAction(TSharedPtr<FEdGraphSchemaAction> InAction, const FPointerEvent& MouseEvent) const;
1177
1184 ENGINE_API virtual void GetGraphDisplayInformation(const UEdGraph& Graph, /*out*/ FGraphDisplayInfo& DisplayInfo) const;
1185
1191 virtual FText GetGraphCategory(const UEdGraph* InGraph) const { return FText(); }
1192
1199 ENGINE_API virtual FReply TrySetGraphCategory(const UEdGraph* InGraph, const FText& InCategory) const;
1200
1202 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1203 virtual void DroppedAssetsOnGraph(const TArray<struct FAssetData>& Assets, const FVector2D& GraphPosition, UEdGraph* Graph) const UE_SLATE_DEPRECATED_VECTOR_VIRTUAL_FUNCTION {}
1204 virtual void DroppedAssetsOnGraph(const TArray<struct FAssetData>& Assets, const FVector2f& GraphPosition, UEdGraph* Graph) const
1205 {
1207 return DroppedAssetsOnGraph(Assets, FVector2D(GraphPosition), Graph);
1209 }
1210
1212 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1213 virtual void DroppedAssetsOnNode(const TArray<struct FAssetData>& Assets, const FVector2D& GraphPosition, UEdGraphNode* Node) const UE_SLATE_DEPRECATED_VECTOR_VIRTUAL_FUNCTION {}
1214 virtual void DroppedAssetsOnNode(const TArray<struct FAssetData>& Assets, const FVector2f& GraphPosition, UEdGraphNode* Node) const
1215 {
1217 return DroppedAssetsOnNode(Assets, FVector2D(GraphPosition), Node);
1219 }
1220
1222 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1223 virtual void DroppedAssetsOnPin(const TArray<struct FAssetData>& Assets, const FVector2D& GraphPosition, UEdGraphPin* Pin) const UE_SLATE_DEPRECATED_VECTOR_VIRTUAL_FUNCTION {}
1224 virtual void DroppedAssetsOnPin(const TArray<struct FAssetData>& Assets, const FVector2f& GraphPosition, UEdGraphPin* Pin) const
1225 {
1227 return DroppedAssetsOnPin(Assets, FVector2D(GraphPosition), Pin);
1229 }
1230
1232 virtual void GetAssetsNodeHoverMessage(const TArray<struct FAssetData>& Assets, const UEdGraphNode* HoverNode, FString& OutTooltipText, bool& OutOkIcon) const
1233 {
1234 OutTooltipText = FString();
1235 OutOkIcon = false;
1236 }
1237
1239 virtual void GetAssetsPinHoverMessage(const TArray<struct FAssetData>& Assets, const UEdGraphPin* HoverPin, FString& OutTooltipText, bool& OutOkIcon) const
1240 {
1241 OutTooltipText = FString();
1242 OutOkIcon = false;
1243 }
1244
1246 virtual void GetAssetsGraphHoverMessage(const TArray<FAssetData>& Assets, const UEdGraph* HoverGraph, FString& OutTooltipText, bool& OutOkIcon) const
1247 {
1248 OutTooltipText = FString();
1249 OutOkIcon = false;
1250 }
1251
1252 /* Can this graph type be duplicated? */
1253 virtual bool CanDuplicateGraph(UEdGraph* InSourceGraph) const { return true; }
1254
1255 /* Duplicate a given graph return the duplicate graph */
1256 virtual UEdGraph* DuplicateGraph(UEdGraph* GraphToDuplicate) const { return nullptr;}
1257
1258 /* Indicates whether variants of functions are allowed */
1259 virtual bool AllowsFunctionVariants() const { return false; }
1260
1261 /* returns new FConnectionDrawingPolicy from this schema */
1262 virtual class FConnectionDrawingPolicy* CreateConnectionDrawingPolicy(int32 InBackLayerID, int32 InFrontLayerID, float InZoomFactor, const FSlateRect& InClippingRect, class FSlateWindowElementList& InDrawElements, class UEdGraph* InGraphObj) const { return nullptr; }
1263
1264 /* When dragging off a pin, we want to duck the alpha of some nodes */
1265 virtual bool FadeNodeWhenDraggingOffPin(const UEdGraphNode* Node, const UEdGraphPin* Pin) const { return false; }
1266
1267 virtual void BackwardCompatibilityNodeConversion(UEdGraph* Graph, bool bOnlySafeChanges) const { }
1268
1269 /* When a node is removed, this method determines whether we should remove it immediately or use the old (slower) code path that results in all node being recreated: */
1270 virtual bool ShouldAlwaysPurgeOnModification() const { return true; }
1271
1278 virtual bool SafeDeleteNodeFromGraph(UEdGraph* Graph, UEdGraphNode* Node) const { return false; }
1279
1280 /*
1281 * Some schemas have nodes that support the user dynamically adding pins when dropping a connection on the node
1282 *
1283 * @param InTargetNode Node to check for pin adding support
1284 * @param InSourcePinName Name of the pin being dropped, a new pin of similar name will be constructed
1285 * @param InSourcePinType Type of pin to drop onto the node
1286 * @param InSourcePinDirection Direction of the source pin
1287 * @return Returns the new pin if created
1288 */
1290
1300 virtual bool SupportsDropPinOnNode(UEdGraphNode* InTargetNode, const FEdGraphPinType& InSourcePinType, EEdGraphPinDirection InSourcePinDirection, FText& OutErrorMessage) const { return false; }
1301
1307 virtual void SetPinBeingDroppedOnNode(UEdGraphPin* InSourcePin) const {}
1308
1315 virtual bool IsCacheVisualizationOutOfDate(int32 InVisualizationCacheID) const { return false; }
1316
1318 virtual int32 GetCurrentVisualizationCacheID() const { return 0; }
1319
1321 virtual void ForceVisualizationCacheClear() const {};
1322
1328 virtual FPinConnectionResponse CanCreateNewNodes(UEdGraphPin* InSourcePin) const { return FPinConnectionResponse(); }
1329
1336 virtual bool CanVariableBeDropped(UEdGraph* InGraph, FProperty* InVariableToDrop) const { return false; }
1337
1346 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1348 {
1349 return false;
1350 }
1351 virtual bool RequestVariableDropOnPanel(UEdGraph* InGraph, FProperty* InVariableToDrop, const FVector2f& InDropPosition, const FVector2f& InScreenPosition) const
1352 {
1354 return RequestVariableDropOnPanel(InGraph, InVariableToDrop, FVector2D(InDropPosition), FVector2D(InScreenPosition));
1356 }
1357
1367 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1369 {
1370 return false;
1371 }
1372 virtual bool RequestVariableDropOnNode(UEdGraph* InGraph, FProperty* InVariableToDrop, UEdGraphNode* InNode, const FVector2f& InDropPosition, const FVector2f& InScreenPosition) const
1373 {
1375 return RequestVariableDropOnNode(InGraph, InVariableToDrop, InNode, FVector2D(InDropPosition), FVector2D(InScreenPosition));
1377 }
1378
1388 UE_DEPRECATED(5.6, "Use the version of the function accepting FVector2f; this API no longer interfaces directly with double-precision scalars and vectors.")
1390 {
1391 return false;
1392 }
1393 virtual bool RequestVariableDropOnPin(UEdGraph* InGraph, FProperty* InVariableToDrop, UEdGraphPin* InPin, const FVector2f& InDropPosition, const FVector2f& InScreenPosition) const
1394 {
1396 return RequestVariableDropOnPin(InGraph, InVariableToDrop, InPin, FVector2D(InDropPosition), FVector2D(InScreenPosition));
1398 }
1399
1411 virtual bool ArePinsCompatible(const UEdGraphPin* PinA, const UEdGraphPin* PinB, const UClass* CallingContext = nullptr, bool bIgnoreArray = false) const { return true; }
1412
1421 virtual bool ArePinTypesEquivalent(const FEdGraphPinType& PinA, const FEdGraphPinType& PinB) const { return true; }
1422
1431 virtual bool MarkBlueprintDirtyFromNewNode(UBlueprint* InBlueprint, UEdGraphNode* InEdGraphNode) const { return false; }
1432
1441 virtual bool GetLocalVariables(const UEdGraph* InGraph, TArray<FBPVariableDescription>& OutLocalVariables) const { return false; }
1442
1451 virtual TSharedPtr<FEdGraphSchemaAction> MakeActionFromVariableDescription(const UEdGraph* InEdGraph, const FBPVariableDescription& VariableDescription) const { return nullptr; }
1452
1461
1462#if WITH_EDITOR
1472#endif
1473
1474#if WITH_EDITORONLY_DATA
1475private:
1476 virtual bool ShouldShowPanelContextMenuForIncompatibleConnectionsImpl() const { return false; }
1477protected:
1482 UE_DEPRECATED(5.5, "FGraphActionListBuilderBase::ActionGroup weight calculation was always performed on the first action, provide that if scoring a FGraphActionListBuilderBase::ActionGroup, or just provide the FEdGraphSchemaAction")
1486
1489 UE_DEPRECATED(5.5, "Only the first entry in the action group has ever been used, provide it to PrintSearchTextDebugInfo")
1490 ENGINE_API void PrintSearchTextDebugInfo(const TArray<FString>& InFilterTerms, const FGraphActionListBuilderBase::ActionGroup& InCurrentAction, const FGraphSchemaSearchTextDebugInfo* InDebugInfo) const;
1492#endif // WITH_EDITORONLY_DATA
1493};
#define ensure( InExpression)
Definition AssertionMacros.h:464
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::WIDECHAR WIDECHAR
A wide character. Normally a signed type.
Definition Platform.h:1133
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::ANSICHAR ANSICHAR
An ANSI character. Normally a signed type.
Definition Platform.h:1131
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EEdGraphPinDirection
Definition EdGraphNode.h:98
@ EGPD_Input
Definition EdGraphNode.h:99
@ EGPD_Output
Definition EdGraphNode.h:100
EPinContainerType
Definition EdGraphNode.h:124
ECanCreateConnectionResponse
Definition EdGraphSchema.h:38
@ CONNECT_RESPONSE_MAKE_WITH_PROMOTION
Definition EdGraphSchema.h:58
@ CONNECT_RESPONSE_DISALLOW
Definition EdGraphSchema.h:43
@ CONNECT_RESPONSE_MAKE
Definition EdGraphSchema.h:40
@ CONNECT_RESPONSE_BREAK_OTHERS_B
Definition EdGraphSchema.h:49
@ CONNECT_RESPONSE_BREAK_OTHERS_AB
Definition EdGraphSchema.h:52
@ CONNECT_RESPONSE_BREAK_OTHERS_A
Definition EdGraphSchema.h:46
@ CONNECT_RESPONSE_MAX
Definition EdGraphSchema.h:60
@ CONNECT_RESPONSE_MAKE_WITH_CONVERSION_NODE
Definition EdGraphSchema.h:55
EGraphType
Definition EdGraphSchema.h:26
@ GT_Macro
Definition EdGraphSchema.h:29
@ GT_Function
Definition EdGraphSchema.h:27
@ GT_MAX
Definition EdGraphSchema.h:32
@ GT_StateMachine
Definition EdGraphSchema.h:31
@ GT_Animation
Definition EdGraphSchema.h:30
@ GT_Ubergraph
Definition EdGraphSchema.h:28
return true
Definition ExternalRpcRegistry.cpp:601
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
UE::Math::TVector2< double > FVector2D
Definition MathFwd.h:48
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
UClass * StaticClass()
Definition ReflectedTypeAccessors.h:13
#define UE_SLATE_DEPRECATED_VECTOR_VIRTUAL_FUNCTION
Definition SlateVector2.h:54
void Move(T &A, typename TMoveSupportTraits< T >::Copy B)
Definition UnrealTemplate.h:24
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition NameTypes.h:617
Definition UnrealType.h:174
Definition UObjectGlobals.h:2492
Definition Reply.h:24
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition Text.h:385
Definition Array.h:670
Definition EnumAsByte.h:22
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
Definition Blueprint.h:403
Definition Class.h:3793
Definition EdGraphNode.h:289
Definition EdGraphPin.h:294
Definition EdGraphSchema.h:737
Definition EdGraph.h:68
Definition EdGraphNode.h:215
Definition Object.h:95
Definition Class.h:480
const FVector2f & CastToVector2f(const FVector2f &InValue)
Definition SlateVector2.h:591
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition Blueprint.h:202
Definition EdGraphSchema.h:622
virtual ENGINE_API void AddAction(const TSharedPtr< FEdGraphSchemaAction > &NewAction) override
Definition EdGraphSchema.cpp:329
virtual ENGINE_API void AddActionList(const TArray< TSharedPtr< FEdGraphSchemaAction > > &NewActions, FString const &Category=FString()) override
Definition EdGraphSchema.cpp:346
Definition EdGraphPin.h:77
Definition EdGraphSchema.h:65
bool IsPotentiallyEditable() const
Definition EdGraphSchema.h:84
FEdGraphSchemaActionDefiningObject(UObject *InObject, void *AdditionalPointer=nullptr, FName AdditionalName=NAME_None)
Definition EdGraphSchema.h:66
friend bool operator==(const FEdGraphSchemaActionDefiningObject &A, const FEdGraphSchemaActionDefiningObject &B)
Definition EdGraphSchema.h:74
friend bool operator!=(const FEdGraphSchemaActionDefiningObject &A, const FEdGraphSchemaActionDefiningObject &B)
Definition EdGraphSchema.h:79
Definition EdGraphSchema.h:400
virtual FName GetTypeId() const override
Definition EdGraphSchema.h:402
FEdGraphSchemaAction_Dummy(FText InNodeCategory, FText InMenuDesc, FText InToolTip, const int32 InGrouping)
Definition EdGraphSchema.h:408
static FName StaticGetTypeId()
Definition EdGraphSchema.h:401
FEdGraphSchemaAction_Dummy()
Definition EdGraphSchema.h:404
Definition EdGraphSchema.h:358
virtual FName GetTypeId() const override
Definition EdGraphSchema.h:363
FEdGraphSchemaAction_NewNode(FText InNodeCategory, FText InMenuDesc, FText InToolTip, const int32 InGrouping)
Definition EdGraphSchema.h:375
static NodeType * SpawnNodeFromTemplate(class UEdGraph *ParentGraph, NodeType *InTemplateNode, const UE::Slate::FDeprecateVector2DParameter &Location, bool bSelectNewNode=true)
Definition EdGraphSchema.h:387
Definition EdGraphSchema.h:98
const TArray< FString > & GetSearchCategoryArray() const
Definition EdGraphSchema.h:277
int32 GetGrouping() const
Definition EdGraphSchema.h:234
const TArray< FString > & GetLocalizedSearchKeywordsArray() const
Definition EdGraphSchema.h:294
FEdGraphSchemaAction(FText InNodeCategory, FText InMenuDesc, FText InToolTip, const int32 InGrouping, FText InKeywords=FText(), int32 InSectionID=0)
Definition EdGraphSchema.h:169
const TArray< FString > & GetLocalizedMenuDescriptionArray() const
Definition EdGraphSchema.h:282
virtual bool CanBeRenamed() const
Definition EdGraphSchema.h:336
virtual bool IsParentable() const
Definition EdGraphSchema.h:177
virtual bool CanBeDeleted() const
Definition EdGraphSchema.h:339
virtual void AddReferencedObjects(FReferenceCollector &Collector)
Definition EdGraphSchema.h:311
virtual bool IsA(const FName &InType) const
Definition EdGraphSchema.h:327
virtual bool ReorderToBeforeAction(TSharedRef< FEdGraphSchemaAction > OtherAction)
Definition EdGraphSchema.h:320
const FText & GetTooltipDescription() const
Definition EdGraphSchema.h:244
virtual FSlateBrush const * GetPaletteIcon() const
Definition EdGraphSchema.h:342
const FText & GetCategory() const
Definition EdGraphSchema.h:249
int32 GetSectionID() const
Definition EdGraphSchema.h:229
virtual UEdGraphNode * PerformAction(class UEdGraph *ParentGraph, TArray< UEdGraphPin * > &FromPins, const FVector2f &Location, bool bSelectNewNode=true)
Definition EdGraphSchema.h:208
virtual FText GetPaletteToolTip() const
Definition EdGraphSchema.h:345
const FText & GetMenuDescription() const
Definition EdGraphSchema.h:239
virtual int32 GetReorderIndexInContainer() const
Definition EdGraphSchema.h:317
const TArray< FString > & GetSearchKeywordsArray() const
Definition EdGraphSchema.h:271
virtual UEdGraphNode * PerformAction(class UEdGraph *ParentGraph, UEdGraphPin *FromPin, const FVector2f &Location, bool bSelectNewNode=true)
Definition EdGraphSchema.h:185
const FText & GetKeywords() const
Definition EdGraphSchema.h:254
virtual void MovePersistentItemToCategory(const FText &NewCategoryName)
Definition EdGraphSchema.h:314
const TArray< FString > & GetMenuDescriptionArray() const
Definition EdGraphSchema.h:259
const FString & GetFullSearchText() const
Definition EdGraphSchema.h:305
virtual ~FEdGraphSchemaAction()
Definition EdGraphSchema.h:167
virtual FEdGraphSchemaActionDefiningObject GetPersistentItemDefiningObject() const
Definition EdGraphSchema.h:324
const TArray< FString > & GetLocalizedSearchCategoryArray() const
Definition EdGraphSchema.h:300
virtual bool IsAVariable() const
Definition EdGraphSchema.h:333
virtual FName GetTypeId() const
Definition EdGraphSchema.h:103
const TArray< FString > & GetLocalizedSearchTitleArray() const
Definition EdGraphSchema.h:288
const TArray< FString > & GetSearchTitleArray() const
Definition EdGraphSchema.h:265
Definition EdGraphSchema.h:486
ENGINE_API TSharedPtr< FEdGraphSchemaAction > & GetSchemaAction(int32 Index)
Definition EdGraphSchema.cpp:183
virtual ~FGraphActionListBuilderBase()
Definition EdGraphSchema.h:576
NodeType * CreateTemplateNode(UClass *Class=NodeType::StaticClass())
Definition EdGraphSchema.h:609
ENGINE_API int32 GetNumActions() const
Definition EdGraphSchema.cpp:178
class UE_DEPRECATED(5.5, "ActionGroup has been deprecated - operate only on TSharedPtr<FEdGraphSchemaAction> or const FEdGraphSchemaAction& as appropriate") ActionGroup
Definition EdGraphSchema.h:489
PRAGMA_ENABLE_DEPRECATION_WARNINGS virtual ENGINE_API void Empty()
Definition EdGraphSchema.cpp:195
UEdGraph * OwnerOfTemporaries
Definition EdGraphSchema.h:605
PRAGMA_DISABLE_DEPRECATION_WARNINGS ENGINE_API ActionGroup GetAction(int32 Index)
Definition EdGraphSchema.cpp:189
virtual ENGINE_API void AddAction(const TSharedPtr< FEdGraphSchemaAction > &NewAction)
Definition EdGraphSchema.cpp:152
virtual ENGINE_API void AddActionList(const TArray< TSharedPtr< FEdGraphSchemaAction > > &NewActions, FString const &Category=FString())
Definition EdGraphSchema.cpp:165
FGraphActionListBuilderBase()
Definition EdGraphSchema.h:614
Definition EdGraphSchema.h:641
FGraphActionMenuBuilder()
Definition EdGraphSchema.h:645
const UEdGraphPin * FromPin
Definition EdGraphSchema.h:643
Definition EdGraphSchema.h:650
TArray< UObject * > SelectedObjects
Definition EdGraphSchema.h:656
const UEdGraph * CurrentGraph
Definition EdGraphSchema.h:653
Definition EdGraphSchema.h:663
FText Tooltip
Definition EdGraphSchema.h:670
FString DocLink
Definition EdGraphSchema.h:672
FString DocExcerptName
Definition EdGraphSchema.h:674
FText DisplayName
Definition EdGraphSchema.h:668
ENGINE_API FString GetNotesAsString() const
Definition EdGraphPin.cpp:2501
FGraphDisplayInfo()
Definition EdGraphSchema.h:678
TArray< FString > Notes
Definition EdGraphSchema.h:676
FText PlainName
Definition EdGraphSchema.h:666
Definition Color.h:48
static CORE_API const FLinearColor White
Definition Color.h:456
static CORE_API const FLinearColor Black
Definition Color.h:458
Definition Class.h:4941
Definition ObjectKey.h:19
Definition EdGraphSchema.h:415
FText Message
Definition EdGraphSchema.h:417
FPinConnectionResponse(const ECanCreateConnectionResponse InResponse, FString InMessage)
Definition EdGraphSchema.h:429
FPinConnectionResponse(const ECanCreateConnectionResponse InResponse, FText InMessage)
Definition EdGraphSchema.h:450
FPinConnectionResponse()
Definition EdGraphSchema.h:422
bool CanSafeConnect() const
Definition EdGraphSchema.h:463
void SetFatal()
Definition EdGraphSchema.h:473
TEnumAsByte< enum ECanCreateConnectionResponse > Response
Definition EdGraphSchema.h:419
FPinConnectionResponse(const ECanCreateConnectionResponse InResponse, const WIDECHAR *InMessage)
Definition EdGraphSchema.h:443
bool IsFatal() const
Definition EdGraphSchema.h:468
FPinConnectionResponse(const ECanCreateConnectionResponse InResponse, const ANSICHAR *InMessage)
Definition EdGraphSchema.h:436
friend bool operator==(const FPinConnectionResponse &A, const FPinConnectionResponse &B)
Definition EdGraphSchema.h:457
Definition Events.h:695
Definition ResourceArray.h:31
Definition SlateBrush.h:239
Definition ObjectPtr.h:488
Definition SlateVector2.h:485