Files
UnrealEngineUWP/Engine/Source/Editor/DataLayerEditor/Private/DataLayer/SDataLayerTreeLabel.h
philippe deseve be9faeafdd Remove modal view that prompt a user to select a data layer asset
Data Layer Instance are now created empty
Asset can be created and assigned via the detail view

#rb richard.malo
#jira UE-148070

[CL 22324017 by philippe deseve in ue5-main branch]
2022-10-03 21:34:17 -04:00

54 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Fonts/SlateFontInfo.h"
#include "Internationalization/Text.h"
#include "Layout/Visibility.h"
#include "Misc/Attribute.h"
#include "SceneOutlinerFwd.h"
#include "SceneOutlinerStandaloneTypes.h"
#include "Styling/SlateColor.h"
#include "Templates/SharedPointer.h"
#include "Types/SlateEnums.h"
#include "UObject/WeakObjectPtr.h"
#include "UObject/WeakObjectPtrTemplates.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SCompoundWidget.h"
class ISceneOutliner;
class UDataLayerInstance;
struct FDataLayerTreeItem;
struct FSlateBrush;
template <typename ItemType> class STableRow;
struct SDataLayerTreeLabel : FSceneOutlinerCommonLabelData, public SCompoundWidget
{
SLATE_BEGIN_ARGS(SDataLayerTreeLabel) {}
SLATE_END_ARGS()
void Construct(const FArguments& InArgs, FDataLayerTreeItem& DataLayerItem, ISceneOutliner& SceneOutliner, const STableRow<FSceneOutlinerTreeItemPtr>& InRow);
private:
FSlateFontInfo GetDisplayNameFont() const;
FText GetDisplayText() const;
FText GetTooltipText() const;
FText GetTypeText() const;
EVisibility GetTypeTextVisibility() const;
const FSlateBrush* GetIcon() const;
FText GetIconTooltip() const;
FSlateColor GetForegroundColor() const;
bool OnVerifyItemLabelChanged(const FText& InLabel, FText& OutErrorMessage);
void OnLabelCommitted(const FText& InLabel, ETextCommit::Type InCommitInfo);
bool ShouldBeHighlighted() const;
bool ShouldBeItalic() const;
bool IsInActorEditorContext() const;
void OnEnterEditingMode();
void OnExitEditingMode();
TWeakPtr<FDataLayerTreeItem> TreeItemPtr;
TWeakObjectPtr<UDataLayerInstance> DataLayerPtr;
TAttribute<FText> HighlightText;
bool bInEditingMode;
};