// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "IPropertyTypeCustomization.h" class IPropertyHandle; class FGameplayDebuggerInputConfigCustomization : public IPropertyTypeCustomization { public: static TSharedRef MakeInstance() { return MakeShareable(new FGameplayDebuggerInputConfigCustomization); } virtual void CustomizeHeader(TSharedRef StructPropertyHandle, class FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; virtual void CustomizeChildren(TSharedRef StructPropertyHandle, class IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; protected: TSharedPtr ConfigNameProp; TSharedPtr KeyProp; TSharedPtr ModShiftProp; TSharedPtr ModCtrlProp; TSharedPtr ModAltProp; TSharedPtr ModCmdProp; FText CachedHeader; FText GetHeaderDesc() const { return CachedHeader; } void OnChildValueChanged(); };