Files
UnrealEngine/Engine/Source/Editor/UMGEditor/Public/Preview/PreviewMode.h
2025-05-18 13:04:45 +08:00

45 lines
992 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/WeakObjectPtr.h"
class UObject;
class UUserWidget;
namespace UE::UMG::Editor
{
class UMGEDITOR_API FPreviewMode
{
public:
void SetSelectedObject(TArray<TWeakObjectPtr<UObject>> Objects);
void SetSelectedObject(TArrayView<UObject*> Objects);
TArray<UObject*> GetSelectedObjectList() const;
FSimpleMulticastDelegate& OnSelectedObjectChanged()
{
return SelectedObjectChangedDelegate;
}
void SetPreviewWidget(UUserWidget* Widget);
UUserWidget* GetPreviewWidget() const
{
return PreviewWidget.Get();
}
FSimpleMulticastDelegate& OnPreviewWidgetChanged()
{
return PreviewWidgetChangedDelegate;
}
private:
TArray<TWeakObjectPtr<UObject>> SelectedObjects;
TWeakObjectPtr<UUserWidget> PreviewWidget;
FSimpleMulticastDelegate SelectedObjectChangedDelegate;
FSimpleMulticastDelegate PreviewWidgetChangedDelegate;
};
} // namespace UE::UMG