Files
UnrealEngineUWP/Engine/Source/Editor/Sequencer/Private/SequencerSpawnableColumn.cpp
louise rasmussen b486344a47 Non-unity fix
related to
#JIRA UE-99279
#lockdown Simon.Tourangeau

#ROBOMERGE-SOURCE: CL 15967949 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15988187 by louise rasmussen in ue5-main branch]
2021-04-13 08:29:54 -04:00

61 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SequencerSpawnableColumn.h"
#include "ActorTreeItem.h"
#include "Widgets/Images/SImage.h"
#include "GameFramework/Actor.h"
namespace Sequencer
{
FName FSequencerSpawnableColumn::GetID()
{
static FName IDName("Spawnable");
return IDName;
}
FName FSequencerSpawnableColumn::GetColumnID()
{
return GetID();
}
SHeaderRow::FColumn::FArguments FSequencerSpawnableColumn::ConstructHeaderRowColumn()
{
return SHeaderRow::Column(GetColumnID())
.FixedWidth(20.f)
.HAlignHeader(HAlign_Left) // Note the icon has some baked in right alignment, so we are compensating here
.VAlignHeader(VAlign_Center)
.HAlignCell(HAlign_Left) // Note the icon has some baked in right alignment, so we are compensating here
.VAlignCell(VAlign_Center)
.HeaderContentPadding(FMargin(0.0))
[
SNew(SImage)
.Image(FAppStyle::Get().GetBrush("Sequencer.SpawnableIconOverlay"))
];
}
const TSharedRef< SWidget > FSequencerSpawnableColumn::ConstructRowWidget(FSceneOutlinerTreeItemRef TreeItem, const STableRow<FSceneOutlinerTreeItemPtr>& Row)
{
return SNew(SImage).Image(this, &FSequencerSpawnableColumn::GetSpawnableIcon, TreeItem);
}
const FSlateBrush* FSequencerSpawnableColumn::GetSpawnableIcon( FSceneOutlinerTreeItemRef TreeItem ) const
{
static const FSlateBrush* SpawnedBrush = FAppStyle::Get().GetBrush("Sequencer.SpawnableIconOverlay");
static const FSlateBrush* NoSpawnedBrush = FAppStyle::Get().GetBrush("NoBrush");
bool bIsSpawned = false;
{
static const FName SequencerActorTag(TEXT("SequencerActor"));
if (const FActorTreeItem* ActorItem = (*TreeItem).CastTo<FActorTreeItem>())
{
AActor* Actor = ActorItem->Actor.Get();
bIsSpawned = Actor && Actor->ActorHasTag(SequencerActorTag);
}
}
return bIsSpawned ? SpawnedBrush : NoSpawnedBrush;
}
}// End Sequencer namespace