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]
52 lines
1.8 KiB
C++
52 lines
1.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Misc/Attribute.h"
|
|
#include "SceneOutlinerFwd.h"
|
|
#include "ISceneOutlinerTreeItem.h"
|
|
|
|
class UDataLayerInstance;
|
|
|
|
struct FDataLayerTreeItem : ISceneOutlinerTreeItem
|
|
{
|
|
public:
|
|
FDataLayerTreeItem(UDataLayerInstance* InDataLayerInstance);
|
|
UDataLayerInstance* GetDataLayer() const { return DataLayerInstance.Get(); }
|
|
|
|
/* Begin ISceneOutlinerTreeItem Implementation */
|
|
virtual bool IsValid() const override { return DataLayerInstance.IsValid(); }
|
|
virtual FSceneOutlinerTreeItemID GetID() const override { return ID; }
|
|
virtual FString GetDisplayString() const override;
|
|
virtual bool CanInteract() const override;
|
|
virtual TSharedRef<SWidget> GenerateLabelWidget(ISceneOutliner& Outliner, const STableRow<FSceneOutlinerTreeItemPtr>& InRow) override;
|
|
virtual bool HasVisibilityInfo() const override { return true; }
|
|
virtual void OnVisibilityChanged(const bool bNewVisibility) override;
|
|
virtual bool GetVisibility() const override;
|
|
virtual bool ShouldShowVisibilityState() const override;
|
|
/* End ISceneOutlinerTreeItem Implementation */
|
|
|
|
bool ShouldBeHighlighted() const;
|
|
void SetIsHighlightedIfSelected(bool bInIsHighlightedIfSelected) { bIsHighlighedtIfSelected = bInIsHighlightedIfSelected; }
|
|
|
|
static const FSceneOutlinerTreeItemType Type;
|
|
|
|
DECLARE_DELEGATE_RetVal_OneParam(bool, FFilterPredicate, const UDataLayerInstance*);
|
|
DECLARE_DELEGATE_RetVal_OneParam(bool, FInteractivePredicate, const UDataLayerInstance*);
|
|
|
|
bool Filter(FFilterPredicate Pred) const
|
|
{
|
|
return Pred.Execute(GetDataLayer());
|
|
}
|
|
|
|
bool GetInteractiveState(FInteractivePredicate Pred) const
|
|
{
|
|
return Pred.Execute(GetDataLayer());
|
|
}
|
|
|
|
private:
|
|
TWeakObjectPtr<UDataLayerInstance> DataLayerInstance;
|
|
const FObjectKey ID;
|
|
bool bIsHighlighedtIfSelected;
|
|
}; |