// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "IPropertyTypeCustomization.h" #include "Internationalization/Text.h" #include "Templates/SharedPointer.h" #include "Types/SlateEnums.h" class FDetailWidgetRow; class IDetailChildrenBuilder; class IPropertyHandle; /** * Customize the FTimecode. */ class FTimecodeDetailsCustomization : public IPropertyTypeCustomization { public: static TSharedRef MakeInstance() { return MakeShared(); } FTimecodeDetailsCustomization() { } /** IPropertyTypeCustomization interface */ virtual void CustomizeHeader(TSharedRef PropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& CustomizationUtils) override {} virtual void CustomizeChildren(TSharedRef PropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils) override; private: FText OnGetTimecodeText() const; void OnTimecodeTextCommitted(const FText& InText, ETextCommit::Type CommitInfo); /** Store the property handle to the Timecode field so we can get/set the value on the object via text box callbacks. */ TSharedPtr TimecodeProperty; };