// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "IDetailCustomization.h" #include "Types/SlateEnums.h" #include "Input/Reply.h" class FPhysicsControlAssetEditor; class IDetailLayoutBuilder; class FUICommandInfo; class SWidget; class IPropertyHandle; class FUICommandList; class SEditableTextBox; class FPhysicsControlAssetPreviewDetailsCustomization : public IDetailCustomization { public: // Makes a new instance of this detail layout class for a specific detail view requesting it static TSharedRef MakeInstance(TWeakPtr InPhysicsControlAssetEditor); FPhysicsControlAssetPreviewDetailsCustomization(TWeakPtr InPhysicsControlAssetEditor); //~ Begin IDetailCustomization virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; virtual void CustomizeDetails(const TSharedPtr& InDetailBuilder) override; //~ End IDetailCustomization protected: FReply InvokeControlProfile(FName ProfileName); void OnControlAssetCompiled(bool bProfileListChanged); private: TWeakPtr PhysicsControlAssetEditor; TWeakPtr DetailLayoutBuilderWeak; };