// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "IDetailChildrenBuilder.h" #include "IDetailPropertyRow.h" #include "IPropertyTypeCustomization.h" #include "Layout/Visibility.h" #include "Misc/Attribute.h" #include "PropertyHandle.h" // Forward Declarations struct FSoundModulationDestinationSettings; class FSoundModulationDestinationLayoutCustomization : public IPropertyTypeCustomization { public: static TSharedRef MakeInstance() { return MakeShared(); } //~ Begin IPropertyTypeCustomization virtual void CustomizeHeader(TSharedRef StructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; virtual void CustomizeChildren(TSharedRef StructPropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; //~ End IPropertyTypeCustomization }; class FSoundModulationDefaultSettingsLayoutCustomization : public IPropertyTypeCustomization { public: static TSharedRef MakeInstance() { return MakeShared(); } //~ Begin IPropertyTypeCustomization virtual void CustomizeHeader(TSharedRef StructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; virtual void CustomizeChildren(TSharedRef StructPropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; //~ End IPropertyTypeCustomization }; class FSoundModulationDefaultRoutingSettingsLayoutCustomization : public IPropertyTypeCustomization { public: static TSharedRef MakeInstance() { return MakeShared(); } //~ Begin IPropertyTypeCustomization virtual void CustomizeHeader(TSharedRef StructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; virtual void CustomizeChildren(TSharedRef StructPropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; //~ End IPropertyTypeCustomization };