diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Add.h b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Add.h similarity index 95% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Add.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Add.h index 6f19766c..e062f5f3 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Add.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Add.h @@ -11,7 +11,7 @@ #include "Engine/SimpleConstructionScript.h" #include "Engine/SCS_Node.h" #include "Components/ActorComponent.h" -#include "BlueprintComponent_Add.generated.h" +#include "ActorComponent_Add.generated.h" // --------------------------------------------------------------------------- @@ -19,7 +19,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintComponent_Add : public UObject, public IWingHandler +class UWing_ActorComponent_Add : public UObject, public IWingHandler { GENERATED_BODY() diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Dump.h b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Dump.h similarity index 94% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Dump.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Dump.h index f1506447..fe5904b2 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Dump.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Dump.h @@ -10,7 +10,7 @@ #include "WingActorComponent.h" #include "Engine/SCS_Node.h" #include "Engine/SimpleConstructionScript.h" -#include "BlueprintComponent_Dump.generated.h" +#include "ActorComponent_Dump.generated.h" // --------------------------------------------------------------------------- @@ -18,7 +18,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintComponent_Dump : public UObject, public IWingHandler +class UWing_ActorComponent_Dump : public UObject, public IWingHandler { GENERATED_BODY() diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Remove.h b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Remove.h similarity index 92% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Remove.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Remove.h index e32a55ad..90e1d430 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Remove.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Remove.h @@ -7,7 +7,7 @@ #include "WingUtils.h" #include "Engine/SCS_Node.h" #include "Engine/SimpleConstructionScript.h" -#include "BlueprintComponent_Remove.generated.h" +#include "ActorComponent_Remove.generated.h" // --------------------------------------------------------------------------- @@ -15,7 +15,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintComponent_Remove : public UObject, public IWingHandler +class UWing_ActorComponent_Remove : public UObject, public IWingHandler { GENERATED_BODY() diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Reparent.h b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Reparent.h similarity index 92% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Reparent.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Reparent.h index bec03da7..34e053cd 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintComponent_Reparent.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/ActorComponent_Reparent.h @@ -9,7 +9,7 @@ #include "Engine/Blueprint.h" #include "Engine/SimpleConstructionScript.h" #include "Engine/SCS_Node.h" -#include "BlueprintComponent_Reparent.generated.h" +#include "ActorComponent_Reparent.generated.h" // --------------------------------------------------------------------------- @@ -17,7 +17,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintComponent_Reparent : public UObject, public IWingHandler +class UWing_ActorComponent_Reparent : public UObject, public IWingHandler { GENERATED_BODY() diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/Blueprint_AddInterface.h b/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintInterface_Add.h similarity index 98% rename from Plugins/UEWingman/Source/UEWingman/Handlers/Blueprint_AddInterface.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintInterface_Add.h index 817ac579..38c78cdf 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/Blueprint_AddInterface.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintInterface_Add.h @@ -8,7 +8,7 @@ #include "WingServer.h" #include "Engine/Blueprint.h" #include "Kismet2/BlueprintEditorUtils.h" -#include "Blueprint_AddInterface.generated.h" +#include "BlueprintInterface_Add.generated.h" // --------------------------------------------------------------------------- diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/Blueprint_RemoveInterface.h b/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintInterface_Remove.h similarity index 97% rename from Plugins/UEWingman/Source/UEWingman/Handlers/Blueprint_RemoveInterface.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintInterface_Remove.h index fd51fbaf..53f72698 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/Blueprint_RemoveInterface.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintInterface_Remove.h @@ -7,7 +7,7 @@ #include "WingServer.h" #include "Engine/Blueprint.h" #include "Kismet2/BlueprintEditorUtils.h" -#include "Blueprint_RemoveInterface.generated.h" +#include "BlueprintInterface_Remove.generated.h" // --------------------------------------------------------------------------- diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Create.h b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Create.h similarity index 96% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Create.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Create.h index 0c3f2f78..ceb911e5 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Create.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Create.h @@ -10,7 +10,7 @@ #include "Engine/Blueprint.h" #include "EdGraphSchema_K2.h" #include "Kismet2/BlueprintEditorUtils.h" -#include "BlueprintDispatcher_Create.generated.h" +#include "EventDispatcher_Create.generated.h" // --------------------------------------------------------------------------- @@ -18,7 +18,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintDispatcher_Create : public UObject, public IWingHandler +class UWing_EventDispatcher_Create : public UObject, public IWingHandler { GENERATED_BODY() diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Delete.h b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Delete.h similarity index 92% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Delete.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Delete.h index 41f0d58a..94a726f8 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Delete.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Delete.h @@ -7,7 +7,7 @@ #include "WingUtils.h" #include "Engine/Blueprint.h" #include "Kismet2/BlueprintEditorUtils.h" -#include "BlueprintDispatcher_Delete.generated.h" +#include "EventDispatcher_Delete.generated.h" // --------------------------------------------------------------------------- @@ -15,7 +15,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintDispatcher_Delete : public UObject, public IWingHandler +class UWing_EventDispatcher_Delete : public UObject, public IWingHandler { GENERATED_BODY() diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Dump.h b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Dump.h similarity index 91% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Dump.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Dump.h index 7397df6b..7d086e79 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Dump.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Dump.h @@ -9,7 +9,7 @@ #include "Engine/Blueprint.h" #include "WingFunctionArgs.h" #include "Kismet2/BlueprintEditorUtils.h" -#include "BlueprintDispatcher_Dump.generated.h" +#include "EventDispatcher_Dump.generated.h" // --------------------------------------------------------------------------- @@ -17,7 +17,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintDispatcher_Dump : public UObject, public IWingHandler +class UWing_EventDispatcher_Dump : public UObject, public IWingHandler { GENERATED_BODY() @@ -55,6 +55,6 @@ public: FString Args = WingFunctionArgs::GetArgs(EntryNode.Get()); UWingServer::Printf(TEXT("Event dispatcher %s in %s:\n"), *Dispatcher, *WingUtils::FormatName(BP)); - UWingServer::Printf(TEXT(" Args: %s\n"), *Args); + UWingServer::Printf(TEXT(" Arguments: %s\n"), *Args); } }; diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Modify.h b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Modify.h similarity index 93% rename from Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Modify.h rename to Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Modify.h index 080817ba..b9a2860e 100644 --- a/Plugins/UEWingman/Source/UEWingman/Handlers/BlueprintDispatcher_Modify.h +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/EventDispatcher_Modify.h @@ -8,7 +8,7 @@ #include "WingFunctionArgs.h" #include "Engine/Blueprint.h" #include "Kismet2/BlueprintEditorUtils.h" -#include "BlueprintDispatcher_Modify.generated.h" +#include "EventDispatcher_Modify.generated.h" // --------------------------------------------------------------------------- @@ -16,7 +16,7 @@ // --------------------------------------------------------------------------- UCLASS() -class UWing_BlueprintDispatcher_Modify : public UObject, public IWingHandler +class UWing_EventDispatcher_Modify : public UObject, public IWingHandler { GENERATED_BODY() diff --git a/Plugins/UEWingman/Source/UEWingman/Handlers/GraphNode_Rename.h b/Plugins/UEWingman/Source/UEWingman/Handlers/GraphNode_Rename.h new file mode 100644 index 00000000..bf2b26fc --- /dev/null +++ b/Plugins/UEWingman/Source/UEWingman/Handlers/GraphNode_Rename.h @@ -0,0 +1,61 @@ +#pragma once + +#include "CoreMinimal.h" +#include "WingServer.h" +#include "WingHandler.h" +#include "WingFetcher.h" +#include "WingUtils.h" +#include "EdGraph/EdGraphNode.h" +#include "Kismet2/Kismet2NameValidators.h" +#include "GraphNode_Rename.generated.h" + + +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- +// --------------------------------------------------------------------------- + +UCLASS() +class UWing_GraphNode_Rename : public UObject, public IWingHandler +{ + GENERATED_BODY() + +public: + UPROPERTY(meta=(Description="Target node")) + FString Node; + + UPROPERTY(meta=(Description="New name for the node")) + FString Name; + + virtual FString GetDescription() const override + { + return TEXT("Rename a graph node. Works on custom events, timelines, " + "composite nodes, comment nodes, and other renameable node types."); + } + + virtual void Handle() override + { + WingFetcher F; + UEdGraphNode* FoundNode = F.Walk(Node).Cast(); + if (!FoundNode) return; + + if (!FoundNode->bCanRenameNode) + { + UWingServer::Printf(TEXT("ERROR: Node %s does not support renaming.\n"), *WingUtils::FormatName(FoundNode)); + return; + } + + // Validate the proposed name + TSharedPtr Validator = FNameValidatorFactory::MakeValidator(FoundNode); + EValidatorResult Result = Validator->IsValid(Name, false); + if (Result != EValidatorResult::Ok && Result != EValidatorResult::ExistingName) + { + UWingServer::Printf(TEXT("ERROR: %s\n"), *INameValidatorInterface::GetErrorString(Name, Result)); + return; + } + + FoundNode->Modify(); + FoundNode->OnRenameNode(Name); + + UWingServer::Printf(TEXT("Renamed node to %s\n"), *Name); + } +}; diff --git a/Plugins/UEWingman/Source/UEWingman/Private/WingGraphActions.cpp b/Plugins/UEWingman/Source/UEWingman/Private/WingGraphActions.cpp index b26a1eb9..4e767052 100644 --- a/Plugins/UEWingman/Source/UEWingman/Private/WingGraphActions.cpp +++ b/Plugins/UEWingman/Source/UEWingman/Private/WingGraphActions.cpp @@ -41,7 +41,7 @@ UEdGraphNode* FWingGraphAction::Execute(const FVector2D &Location) const TArray FWingGraphActions::Search(const FString &Query, int32 MaxResults, bool Exact) { - FString ExtQuery = FString::Printf(TEXT("*%s*"), *Query); + FString ExtQuery = FString::Printf(TEXT("*%s*"), *Query.Replace(TEXT(" "), TEXT("*"))); TArray Results; for (FWingGraphAction &Result : Actions) {