// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Framework/Commands/Commands.h" #include "Styling/AppStyle.h" #include "Widgets/DeclarativeSyntaxSupport.h" #include "Widgets/SCompoundWidget.h" class FWidgetBlueprintEditor; class FUICommandInfo; class UBlueprint; class UObject; namespace UE { namespace UMG { class SBindWidgetView; } } class FBindWidgetCommands : public TCommands { public: FBindWidgetCommands() : TCommands(TEXT("BindWidget"), NSLOCTEXT("Contexts", "Bind Widget", "Bind Widget"), NAME_None, FAppStyle::GetAppStyleSetName()) { } /** Initialize commands */ virtual void RegisterCommands() override; TSharedPtr GotoNativeVarDefinition; }; /** * */ class SBindWidgetView : public SCompoundWidget { public: SLATE_BEGIN_ARGS(SBindWidgetView){} SLATE_END_ARGS() void Construct(const FArguments& InArgs, TSharedPtr InBlueprintEditor); virtual ~SBindWidgetView(); virtual void Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime) override; private: void HandleBlueprintChanged(UBlueprint* InBlueprint); void HandleObjectsReplaced(const TMap& ReplacementMap); private: TWeakPtr BlueprintEditor; TWeakPtr ListView; bool bRefreshRequested; };