You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rb jeanfrancois.dube, patrick.enfedaque, philippe.deseve #jira UE-151266 #preflight 62796854a35fb5cb3f55e9e6 #ROBOMERGE-OWNER: richard.malo #ROBOMERGE-AUTHOR: richard.malo #ROBOMERGE-SOURCE: CL 20121141 via CL 20121608 via CL 20121618 #ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690) [CL 20122781 by richard malo in ue5-main branch]
71 lines
2.1 KiB
C++
71 lines
2.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "DataLayerTreeItem.h"
|
|
#include "DataLayer/DataLayerEditorSubsystem.h"
|
|
#include "ISceneOutlinerTreeItem.h"
|
|
#include "SceneOutlinerStandaloneTypes.h"
|
|
#include "SDataLayerTreeLabel.h"
|
|
#include "Editor.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "DataLayer"
|
|
|
|
const FSceneOutlinerTreeItemType FDataLayerTreeItem::Type(&ISceneOutlinerTreeItem::Type);
|
|
|
|
FDataLayerTreeItem::FDataLayerTreeItem(UDataLayerInstance* InDataLayerInstance)
|
|
: ISceneOutlinerTreeItem(Type)
|
|
, DataLayerInstance(InDataLayerInstance)
|
|
, ID(InDataLayerInstance)
|
|
, bIsHighlighedtIfSelected(false)
|
|
{
|
|
Flags.bIsExpanded = false;
|
|
}
|
|
|
|
FString FDataLayerTreeItem::GetDisplayString() const
|
|
{
|
|
const UDataLayerInstance* DataLayerInstancePtr = DataLayerInstance.Get();
|
|
return DataLayerInstancePtr ? DataLayerInstancePtr->GetDataLayerShortName() : LOCTEXT("DataLayerForMissingDataLayer", "(Deleted Data Layer)").ToString();
|
|
}
|
|
|
|
bool FDataLayerTreeItem::GetVisibility() const
|
|
{
|
|
const UDataLayerInstance* DataLayerInstancePtr = DataLayerInstance.Get();
|
|
return DataLayerInstancePtr && DataLayerInstancePtr->IsVisible();
|
|
}
|
|
|
|
bool FDataLayerTreeItem::ShouldShowVisibilityState() const
|
|
{
|
|
const UDataLayerInstance* DataLayerInstancePtr = DataLayerInstance.Get();
|
|
return DataLayerInstancePtr && !DataLayerInstancePtr->IsReadOnly();
|
|
}
|
|
|
|
bool FDataLayerTreeItem::CanInteract() const
|
|
{
|
|
return true;
|
|
}
|
|
|
|
TSharedRef<SWidget> FDataLayerTreeItem::GenerateLabelWidget(ISceneOutliner& Outliner, const STableRow<FSceneOutlinerTreeItemPtr>& InRow)
|
|
{
|
|
return SNew(SDataLayerTreeLabel, *this, Outliner, InRow);
|
|
}
|
|
|
|
void FDataLayerTreeItem::OnVisibilityChanged(const bool bNewVisibility)
|
|
{
|
|
if (UDataLayerInstance* DataLayerInstancePtr = DataLayerInstance.Get())
|
|
{
|
|
UDataLayerEditorSubsystem::Get()->SetDataLayerVisibility(DataLayerInstancePtr, bNewVisibility);
|
|
}
|
|
}
|
|
|
|
bool FDataLayerTreeItem::ShouldBeHighlighted() const
|
|
{
|
|
if (bIsHighlighedtIfSelected)
|
|
{
|
|
if (UDataLayerInstance* DataLayerInstancePtr = DataLayerInstance.Get())
|
|
{
|
|
return UDataLayerEditorSubsystem::Get()->DoesDataLayerContainSelectedActors(DataLayerInstancePtr);
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE |