// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Input/Reply.h" #include "IPropertyTypeCustomization.h" #include "PropertyHandle.h" #include "CollectionManagerTypes.h" class SButton; class SComboButton; class IMenu; class FCollectionReferenceStructCustomization: public IPropertyTypeCustomization { public: static TSharedRef MakeInstance(); /** IPropertyTypeCustomization interface */ virtual void CustomizeHeader( TSharedRef StructPropertyHandle, class FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils ) override; virtual void CustomizeChildren( TSharedRef StructPropertyHandle, class IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils ) override; private: /** Delegate for displaying text value of path */ FText GetDisplayedText(TSharedRef PropertyHandle) const; /** Delegate used to display a directory picker */ FReply OnPickContent(TSharedRef PropertyHandle) ; /** Called when a path is picked from the path picker */ void OnCollectionPicked(const FCollectionNameType& CollectionType, TSharedRef PropertyHandle); /** The pick button widget */ TSharedPtr PickerButton; /** The pick button popup menu*/ TSharedPtr PickerMenu; };