Files
UnrealEngine/Engine/Source/Editor/MovieSceneTools/Private/MovieSceneTimeWarpVariantCustomization.h
2025-05-18 13:04:45 +08:00

46 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IPropertyTypeCustomization.h"
#include "Types/SlateEnums.h"
struct EVisibility;
class FText;
class UClass;
class SWidget;
namespace UE::MovieScene
{
class FMovieSceneTimeWarpVariantCustomization : public IPropertyTypeCustomization
{
public:
void CustomizeHeader(TSharedRef<IPropertyHandle> StructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override;
void CustomizeChildren(TSharedRef<IPropertyHandle> StructPropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override;
private:
bool IsFixed() const;
void SetFixed();
void SetFixedPlayRate(double InValue);
void OnCommitFixedPlayRate(double InValue, ETextCommit::Type Type = ETextCommit::Default);
double GetFixedPlayRate() const;
FText GetTypeComboLabel() const;
EVisibility GetFixedVisibility() const;
TSharedRef<SWidget> BuildTypePickerMenu();
void ChangeClassType(UClass* InClass);
TSharedPtr<IPropertyHandle> PropertyHandle;
TOptional<UClass*> Class;
bool bIsFixed = true;
};
} // namespace UE::MovieScene