You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Added Data Layer / Actor filtering based on editor selection #jira UE-135846 #jira UE-135848 #rb patrick.enfedaque #preflight 619fb87647752856c9ab1b76 #ROBOMERGE-AUTHOR: richard.malo #ROBOMERGE-SOURCE: CL 18296131 in //UE5/Release-5.0/... via CL 18296191 #ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469) [CL 18296199 by richard malo in ue5-release-engine-test branch]
60 lines
1.7 KiB
C++
60 lines
1.7 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(UDataLayer* InDataLayer)
|
|
: ISceneOutlinerTreeItem(Type)
|
|
, DataLayer(InDataLayer)
|
|
, ID(InDataLayer)
|
|
, bIsHighlighedtIfSelected(false)
|
|
{
|
|
Flags.bIsExpanded = false;
|
|
}
|
|
|
|
FString FDataLayerTreeItem::GetDisplayString() const
|
|
{
|
|
const UDataLayer* DataLayerPtr = DataLayer.Get();
|
|
return DataLayerPtr ? DataLayerPtr->GetDataLayerLabel().ToString() : LOCTEXT("DataLayerForMissingDataLayer", "(Deleted Data Layer)").ToString();
|
|
}
|
|
|
|
bool FDataLayerTreeItem::GetVisibility() const
|
|
{
|
|
const UDataLayer* DataLayerPtr = DataLayer.Get();
|
|
return DataLayerPtr && DataLayerPtr->IsVisible();
|
|
}
|
|
|
|
TSharedRef<SWidget> FDataLayerTreeItem::GenerateLabelWidget(ISceneOutliner& Outliner, const STableRow<FSceneOutlinerTreeItemPtr>& InRow)
|
|
{
|
|
return SNew(SDataLayerTreeLabel, *this, Outliner, InRow);
|
|
}
|
|
|
|
void FDataLayerTreeItem::OnVisibilityChanged(const bool bNewVisibility)
|
|
{
|
|
if (UDataLayer* DataLayerPtr = DataLayer.Get())
|
|
{
|
|
UDataLayerEditorSubsystem::Get()->SetDataLayerVisibility(DataLayerPtr, bNewVisibility);
|
|
}
|
|
}
|
|
|
|
bool FDataLayerTreeItem::ShouldBeHighlighted() const
|
|
{
|
|
if (bIsHighlighedtIfSelected)
|
|
{
|
|
if (UDataLayer* DataLayerPtr = DataLayer.Get())
|
|
{
|
|
return UDataLayerEditorSubsystem::Get()->DoesDataLayerContainSelectedActors(DataLayerPtr);
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE |