// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "IDetailCustomization.h" #include "ITransportControl.h" template struct TOptional; class IPropertyHandle; class UCommonVideoPlayer; class FCommonVideoPlayerCustomization : public IDetailCustomization { public: static TSharedRef MakeInstance(); virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override; private: FReply HandlePlayClicked(); FReply HandleGoToStartClicked(); FReply HandleBackwardStep(); FReply HandleForwardStep(); FReply HandleGoToEndClicked(); FReply HandlePauseClicked(); FReply HandleReverseClicked(); EPlaybackMode::Type GetPlaybackMode() const; TOptional GetMaxPlaybackTimeValue() const; TOptional GetPlaybackTimeValue() const; void HandlePlaybackTimeCommitted(float NewTime, ETextCommit::Type); FText GetMaxPlaybackTimeText() const; TSharedRef HandleCreateMuteToggleWidget() const; const FSlateBrush* GetMuteToggleIcon() const; FReply HandleToggleMuteClicked() const; TWeakObjectPtr VideoPlayer; };