Files
UnrealEngineUWP/Engine/Source/Editor/DetailCustomizations/Private/MovieSceneEvalOptionsCustomization.cpp
david bromberg f1b2c1fd87 Sequencer: Minor changes to display of track, track row, and section properties.
* Reorder track properties to be above track row properties
* Remove the track properties customization as it's no longer necessary, and was hiding options we want to show
* Hide the edit condition toggle on the eval nearest section option, as it shouldn't be editable by user.
* Consolidate the 'Track' and 'General' sections in Track properties to be inside 'Track' for less confusion since we're showing properties for Track, Track Row, and Section all in one place, and 'General' isn't specific enough.

[REVIEW] [at]ue-sequencer
#jira UE-224285

#rb Max.Chen

[CL 36331874 by david bromberg in 5.5 branch]
2024-09-17 08:25:20 -04:00

38 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MovieSceneEvalOptionsCustomization.h"
#include "Containers/Array.h"
#include "IDetailChildrenBuilder.h"
#include "Misc/AssertionMacros.h"
#include "MovieSceneSection.h"
#include "MovieSceneTrack.h"
#include "PropertyHandle.h"
TSharedRef<IPropertyTypeCustomization> FMovieSceneSectionEvalOptionsCustomization::MakeInstance()
{
return MakeShared<FMovieSceneSectionEvalOptionsCustomization>();
}
void FMovieSceneSectionEvalOptionsCustomization::CustomizeHeader(TSharedRef<IPropertyHandle> PropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& CustomizationUtils)
{
}
void FMovieSceneSectionEvalOptionsCustomization::CustomizeChildren(TSharedRef<IPropertyHandle> PropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils)
{
TArray<void*> RawData;
PropertyHandle->AccessRawData(RawData);
bool bCanEditCompletionMode = !RawData.ContainsByPredicate(
[](void* Ptr){
return !static_cast<FMovieSceneSectionEvalOptions*>(Ptr)->bCanEditCompletionMode;
}
);
TSharedPtr<IPropertyHandle> CompletionModeHandle = PropertyHandle->GetChildHandle(GET_MEMBER_NAME_CHECKED(FMovieSceneSectionEvalOptions, CompletionMode));
if (bCanEditCompletionMode && CompletionModeHandle.IsValid())
{
ChildBuilder.AddProperty(CompletionModeHandle.ToSharedRef());
}
}