Files
UnrealEngineUWP/Engine/Source/Editor/DetailCustomizations/Private/ObjectDetails.h
bryan sefcik 8cc129f2b6 IWYU Pass 1 - Engine/Source/Editor/...
#jira
#preflight 6306736ac85b7fef22be7751

[CL 21558583 by bryan sefcik in ue5-main branch]
2022-08-24 22:45:13 -04:00

40 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "IDetailCustomization.h"
#include "Input/Reply.h"
#include "Templates/SharedPointer.h"
#include "UObject/WeakObjectPtr.h"
#include "UObject/WeakObjectPtrTemplates.h"
class IDetailLayoutBuilder;
class UFunction;
class UObject;
class FObjectDetails : public IDetailCustomization
{
public:
// Creates an instance of FObjectDetails
static TSharedRef<IDetailCustomization> MakeInstance();
// IDetailCustomization interface
virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override;
// End of IDetailCustomization interface
private:
// Adds a warning banner if the class is marked as Experimental or EarlyAccessPreview
void AddExperimentalWarningCategory(IDetailLayoutBuilder& DetailBuilder);
// Creates a button strip in each category that contains reflected functions marked as CallInEditor
void AddCallInEditorMethods(IDetailLayoutBuilder& DetailBuilder);
// Executes the specified method on the selected objects
FReply OnExecuteCallInEditorFunction(TWeakObjectPtr<UFunction> WeakFunctionPtr);
private:
// The list of selected objects, used when invoking a CallInEditor method
TArray<TWeakObjectPtr<UObject>> SelectedObjectsList;
};