14#include "Kismet2/Kismet2NameValidators.h"
16#include "EdGraphSchema.generated.h"
67 : DefiningObject(InObject)
69 , DefiningName(AdditionalName)
70 , bIsEditable((InObject != nullptr) ? !InObject->IsNative() :
false)
76 return (
A.DefiningObject ==
B.DefiningObject) && (
A.DefiningPointer ==
B.DefiningPointer) && (
A.DefiningName ==
B.DefiningName) && (
A.bIsEditable ==
B.bIsEditable);
90 void* DefiningPointer;
108 FText MenuDescription;
112 FText TooltipDescription;
122#if WITH_EDITORONLY_DATA
149 TArray<FString> LocalizedMenuDescriptionArray;
152 TArray<FString> LocalizedFullSearchTitlesArray;
155 TArray<FString> LocalizedFullSearchKeywordsArray;
158 TArray<FString> LocalizedFullSearchCategoryArray;
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.")
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.")
241 return MenuDescription;
246 return TooltipDescription;
261 return MenuDescriptionArray;
267 return FullSearchTitlesArray;
273 return FullSearchKeywordsArray;
279 return FullSearchCategoryArray;
284 return LocalizedMenuDescriptionArray;
290 return LocalizedFullSearchTitlesArray;
296 return LocalizedFullSearchKeywordsArray;
302 return LocalizedFullSearchCategoryArray;
329 return InType == GetTypeId();
362 static FName StaticGetTypeId() {
static FName Type(
"FEdGraphSchemaAction_NewNode");
return Type;}
372 , NodeTemplate(
nullptr)
377 , NodeTemplate(nullptr)
386 template <
typename NodeType>
459 return (
A.Message.ToString() ==
B.Message.ToString()) && (
A.Response ==
B.Response) && (
A.bIsFatal ==
B.bIsFatal);
489 class UE_DEPRECATED(5.5,
"ActionGroup has been deprecated - operate only on TSharedPtr<FEdGraphSchemaAction> or const FEdGraphSchemaAction& as appropriate")
580 UE_DEPRECATED(5.5,
"Overriding the schema action category is no longer supported, set the category via CosmeticUpdateRootCategory or CosmeticUpdateCategory")
628 UE_DEPRECATED(5.5,
"Overriding the schema action category is no longer supported, specify category via FCategorizedGraphActionListBuilder constructor, or on the FEdGraphSchemaAction")
630 UE_DEPRECATED(5.5,
"Collections of Action lists were ambiguous and unused - make a compound FEdGraphSchemaAction and Add it")
684#if WITH_EDITORONLY_DATA
715 float TotalWeight = 0.0f;
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")
793 template<
typename PinType>
799 bool bResult =
false;
865#if WITH_EDITORONLY_DATA
895 virtual bool DoesSupportPinWatching()
const {
return false; }
903 virtual bool IsPinBeingWatched(
UEdGraphPin const* Pin)
const {
return false; }
911 virtual void ClearPinWatch(
UEdGraphPin const* Pin)
const {}
919 virtual bool CanShowDataTooltipForPin(
const UEdGraphPin& Pin)
const {
return false; }
946 virtual bool ShouldHidePinDefaultValue(
UEdGraphPin* Pin)
const {
return false; }
949 virtual bool ShouldShowAssetPickerForPin(
UEdGraphPin* Pin)
const {
return true; }
978#if WITH_EDITORONLY_DATA
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")
1022 virtual bool IsTitleBarPin(
const UEdGraphPin& Pin)
const {
return false; }
1051 virtual void SplitPin(
UEdGraphPin* Pin,
bool bNotify =
true)
const { };
1054 virtual void RecombinePin(
UEdGraphPin* Pin)
const { };
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.")
1080 virtual bool IsSelfPin(
const UEdGraphPin& Pin)
const {
return false;}
1083 virtual bool IsDelegateCategory(
const FName Category)
const {
return false;}
1091 virtual void CreateDefaultNodesForGraph(
UEdGraph&
Graph)
const {}
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.")
1170 UE_DEPRECATED(5.0,
"Use version that takes FPointerEvent instead.")
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.")
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.")
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.")
1259 virtual bool AllowsFunctionVariants()
const {
return false; }
1265 virtual bool FadeNodeWhenDraggingOffPin(
const UEdGraphNode* Node,
const UEdGraphPin* Pin)
const {
return false; }
1270 virtual bool ShouldAlwaysPurgeOnModification()
const {
return true; }
1318 virtual int32 GetCurrentVisualizationCacheID()
const {
return 0; }
1321 virtual void ForceVisualizationCacheClear()
const {};
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.")
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.")
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.")
1474#if WITH_EDITORONLY_DATA
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")
1489 UE_DEPRECATED(5.5,
"Only the first entry in the action group has ever been used, provide it to PrintSearchTextDebugInfo")
#define ensure( InExpression)
Definition AssertionMacros.h:464
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
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 SlateRect.h:26
Definition DrawElements.h:220
Definition EnumAsByte.h:22
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
Definition Blueprint.h:403
Definition EdGraphNode.h:289
Definition EdGraphPin.h:294
Definition EdGraphSchema.h:737
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: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
static CORE_API const FLinearColor White
Definition Color.h:456
static CORE_API const FLinearColor Black
Definition Color.h:458
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 ResourceArray.h:31
Definition SlateBrush.h:239
Definition ObjectPtr.h:488
Definition SlateVector2.h:485