// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "IPropertyTypeCustomization.h" #include "Templates/SharedPointer.h" #include "IDetailCustomization.h" class FDetailWidgetRow; class IDetailChildrenBuilder; class IPropertyHandle; /** * Customizes a Distance Datum struct to improve naming when used as a parameter */ class FDistanceDatumStructCustomization : public IPropertyTypeCustomization { private: struct FPrivateToken { explicit FPrivateToken() = default; }; public: static TSharedRef MakeInstance(); /** * Destructor */ virtual ~FDistanceDatumStructCustomization(); /** IPropertyTypeCustomization interface */ virtual void CustomizeHeader( TSharedRef InStructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils ) override; virtual void CustomizeChildren( TSharedRef InStructPropertyHandle, IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils ) override; /** * Constructor */ explicit FDistanceDatumStructCustomization(FPrivateToken); }; class FCrossFadeCustomization : public IDetailCustomization { public: // IDetailCustomization interface virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; // static TSharedRef< IDetailCustomization > MakeInstance(); };