You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
[FYI] Bryan.Johnson Original CL Desc ----------------------------------------------------------------- [Backout] - CL35079176 [FYI] Mieszko.Zielinski Original CL Desc ----------------------------------------------------------------- Moved the rest of MassEntity modules over to the Engine's Source/ code. #jira UE-216267 [CL 35087666 by bryan johnson in ue5-main branch]
130 lines
5.3 KiB
C++
130 lines
5.3 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "MassEditorStyle.h"
|
|
#include "Styling/SlateStyleRegistry.h"
|
|
#include "Styling/CoreStyle.h"
|
|
#include "Styling/SlateTypes.h"
|
|
#include "Styling/AppStyle.h"
|
|
#include "Interfaces/IPluginManager.h"
|
|
|
|
#define IMAGE_BRUSH( RelativePath, ... ) FSlateImageBrush( StyleSet->RootToContentDir( RelativePath, TEXT( ".png" ) ), __VA_ARGS__ )
|
|
#define IMAGE_PLUGIN_BRUSH( RelativePath, ... ) FSlateImageBrush( FMeshEditorStyle::InContent( RelativePath, ".png" ), __VA_ARGS__ )
|
|
#define BOX_BRUSH( RelativePath, ... ) FSlateBoxBrush( StyleSet->RootToContentDir( RelativePath, TEXT( ".png" ) ), __VA_ARGS__ )
|
|
#define TTF_CORE_FONT( RelativePath, ... ) FSlateFontInfo( StyleSet->RootToCoreContentDir( RelativePath, TEXT( ".ttf" ) ), __VA_ARGS__ )
|
|
|
|
#define DEFAULT_FONT(...) FCoreStyle::GetDefaultFontStyle(__VA_ARGS__)
|
|
|
|
TSharedPtr<FSlateStyleSet> FMassEntityEditorStyle::StyleSet = nullptr;
|
|
|
|
FString FMassEntityEditorStyle::InContent(const FString& RelativePath, const ANSICHAR* Extension)
|
|
{
|
|
static FString ContentDir = IPluginManager::Get().FindPlugin(TEXT("MassEntityEditorModule"))->GetContentDir() / TEXT("Slate");
|
|
return (ContentDir / RelativePath) + Extension;
|
|
}
|
|
|
|
void FMassEntityEditorStyle::Initialize()
|
|
{
|
|
if (StyleSet.IsValid())
|
|
{
|
|
return;
|
|
}
|
|
|
|
const FVector2f Icon8x8(8.0f, 8.0f);
|
|
|
|
StyleSet = MakeShared<FSlateStyleSet>(GetStyleSetName());
|
|
|
|
StyleSet->SetContentRoot(FPaths::EngineContentDir() / TEXT("Editor/Slate"));
|
|
StyleSet->SetCoreContentRoot(FPaths::EngineContentDir() / TEXT("Slate"));
|
|
|
|
const FScrollBarStyle ScrollBar = FAppStyle::GetWidgetStyle<FScrollBarStyle>("ScrollBar");
|
|
const FTextBlockStyle& NormalText = FAppStyle::Get().GetWidgetStyle<FTextBlockStyle>("NormalText");
|
|
|
|
// State
|
|
{
|
|
FTextBlockStyle StateIcon = FTextBlockStyle(NormalText)
|
|
.SetFont(FAppStyle::Get().GetFontStyle("FontAwesome.12"))
|
|
.SetColorAndOpacity(FLinearColor(230.0f / 255.0f, 230.0f / 255.0f, 230.0f / 255.0f, 0.5f));
|
|
StyleSet->Set("Mass.Icon", StateIcon);
|
|
|
|
FTextBlockStyle StateTitle = FTextBlockStyle(NormalText)
|
|
.SetFont(TTF_CORE_FONT("Fonts/Roboto-Bold", 12))
|
|
.SetColorAndOpacity(FLinearColor(230.0f / 255.0f, 230.0f / 255.0f, 230.0f / 255.0f));
|
|
StyleSet->Set("Mass.State.Title", StateTitle);
|
|
|
|
FEditableTextBoxStyle StateTitleEditableText = FEditableTextBoxStyle()
|
|
.SetTextStyle(NormalText)
|
|
.SetFont(TTF_CORE_FONT("Fonts/Roboto-Bold", 10))
|
|
.SetBackgroundImageNormal(BOX_BRUSH("Common/TextBox", FMargin(4.0f / 16.0f)))
|
|
.SetBackgroundImageHovered(BOX_BRUSH("Common/TextBox_Hovered", FMargin(4.0f / 16.0f)))
|
|
.SetBackgroundImageFocused(BOX_BRUSH("Common/TextBox_Hovered", FMargin(4.0f / 16.0f)))
|
|
.SetBackgroundImageReadOnly(BOX_BRUSH("Common/TextBox_ReadOnly", FMargin(4.0f / 16.0f)))
|
|
.SetScrollBarStyle(ScrollBar);
|
|
StyleSet->Set("Mass.State.TitleEditableText", StateTitleEditableText);
|
|
|
|
StyleSet->Set("Mass.State.TitleInlineEditableText", FInlineEditableTextBlockStyle()
|
|
.SetTextStyle(StateTitle)
|
|
.SetEditableTextBoxStyle(StateTitleEditableText));
|
|
}
|
|
|
|
// Task
|
|
{
|
|
FTextBlockStyle TaskTitle = FTextBlockStyle(NormalText)
|
|
.SetFont(TTF_CORE_FONT("Fonts/Roboto-Regular", 11))
|
|
.SetColorAndOpacity(FLinearColor(230.0f / 255.0f, 230.0f / 255.0f, 230.0f / 255.0f));
|
|
StyleSet->Set("Mass.Task.Title", TaskTitle);
|
|
|
|
FEditableTextBoxStyle TaskTitleEditableText = FEditableTextBoxStyle()
|
|
.SetTextStyle(NormalText)
|
|
.SetFont(TTF_CORE_FONT("Fonts/Roboto-Regular", 9))
|
|
.SetBackgroundImageNormal(BOX_BRUSH("Common/TextBox", FMargin(4.0f / 16.0f)))
|
|
.SetBackgroundImageHovered(BOX_BRUSH("Common/TextBox_Hovered", FMargin(4.0f / 16.0f)))
|
|
.SetBackgroundImageFocused(BOX_BRUSH("Common/TextBox_Hovered", FMargin(4.0f / 16.0f)))
|
|
.SetBackgroundImageReadOnly(BOX_BRUSH("Common/TextBox_ReadOnly", FMargin(4.0f / 16.0f)))
|
|
.SetScrollBarStyle(ScrollBar);
|
|
StyleSet->Set("Mass.Task.TitleEditableText", TaskTitleEditableText);
|
|
|
|
StyleSet->Set("Mass.Task.TitleInlineEditableText", FInlineEditableTextBlockStyle()
|
|
.SetTextStyle(TaskTitle)
|
|
.SetEditableTextBoxStyle(TaskTitleEditableText));
|
|
}
|
|
|
|
// Details
|
|
{
|
|
FTextBlockStyle StateTitle = FTextBlockStyle(NormalText)
|
|
.SetFont(TTF_CORE_FONT("Fonts/Roboto-Regular", 10))
|
|
.SetColorAndOpacity(FLinearColor(230.0f / 255.0f, 230.0f / 255.0f, 230.0f / 255.0f));
|
|
StyleSet->Set("Mass.Details", StateTitle);
|
|
}
|
|
|
|
const FLinearColor SelectionColor = FColor(0, 0, 0, 32);
|
|
const FTableRowStyle& NormalTableRowStyle = FAppStyle::Get().GetWidgetStyle<FTableRowStyle>("TableView.Row");
|
|
StyleSet->Set("Mass.Selection",
|
|
FTableRowStyle(NormalTableRowStyle)
|
|
.SetActiveBrush(IMAGE_BRUSH("Common/Selection", Icon8x8, SelectionColor))
|
|
.SetActiveHoveredBrush(IMAGE_BRUSH("Common/Selection", Icon8x8, SelectionColor))
|
|
.SetInactiveBrush(IMAGE_BRUSH("Common/Selection", Icon8x8, SelectionColor))
|
|
.SetInactiveHoveredBrush(IMAGE_BRUSH("Common/Selection", Icon8x8, SelectionColor))
|
|
.SetSelectorFocusedBrush(IMAGE_BRUSH("Common/Selection", Icon8x8, SelectionColor))
|
|
);
|
|
|
|
FSlateStyleRegistry::RegisterSlateStyle(*StyleSet.Get());
|
|
}
|
|
|
|
|
|
void FMassEntityEditorStyle::Shutdown()
|
|
{
|
|
if (StyleSet.IsValid())
|
|
{
|
|
FSlateStyleRegistry::UnRegisterSlateStyle(*StyleSet.Get());
|
|
ensure(StyleSet.IsUnique());
|
|
StyleSet.Reset();
|
|
}
|
|
}
|
|
|
|
|
|
FName FMassEntityEditorStyle::GetStyleSetName()
|
|
{
|
|
static FName StyleName("MassEntityEditorStyle");
|
|
return StyleName;
|
|
}
|