49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "SRichTextWarningOrErrorBox.h"
|
|
#include "Widgets/Text/SRichTextBlock.h"
|
|
#include "Widgets/SBoxPanel.h"
|
|
#include "Widgets/Images/SImage.h"
|
|
|
|
void SRichTextWarningOrErrorBox::Construct(const FArguments& InArgs)
|
|
{
|
|
MessageStyle = InArgs._MessageStyle;
|
|
|
|
SBorder::Construct(SBorder::FArguments()
|
|
.Padding(InArgs._Padding)
|
|
.ForegroundColor(FAppStyle::Get().GetSlateColor("Colors.White"))
|
|
.BorderImage_Lambda([this]() { return MessageStyle.Get() == EMessageStyle::Warning ? FAppStyle::Get().GetBrush("RoundedWarning") : FAppStyle::Get().GetBrush("RoundedError"); })
|
|
[
|
|
SNew(SHorizontalBox)
|
|
+ SHorizontalBox::Slot()
|
|
.HAlign(HAlign_Left)
|
|
.VAlign(VAlign_Top)
|
|
.AutoWidth()
|
|
.Padding(FMargin(0.0f, 0.0f, 16.0f, 0.0f))
|
|
[
|
|
SNew(SImage)
|
|
.DesiredSizeOverride(InArgs._IconSize)
|
|
.Image_Lambda([this]() { return MessageStyle.Get() == EMessageStyle::Warning ? FAppStyle::Get().GetBrush("Icons.WarningWithColor") : FAppStyle::Get().GetBrush("Icons.ErrorWithColor"); })
|
|
.ColorAndOpacity(FSlateColor::UseForeground())
|
|
]
|
|
+SHorizontalBox::Slot()
|
|
.VAlign(VAlign_Center)
|
|
[
|
|
SNew(SRichTextBlock)
|
|
.DecoratorStyleSet(&FAppStyle::Get())
|
|
.Text(InArgs._Message)
|
|
.AutoWrapText(true)
|
|
]
|
|
|
|
+SHorizontalBox::Slot()
|
|
.AutoWidth()
|
|
.VAlign(VAlign_Center)
|
|
.HAlign(HAlign_Right)
|
|
[
|
|
InArgs._Content.Widget
|
|
]
|
|
|
|
]);
|
|
}
|
|
|