in GameLiftPlugin/Source/GameLiftPlugin/Private/SWidgets/SSetupMessage.cpp [30:92]
TSharedRef<SWidget> SSetupMessage::MakeRow(FName IconName, const FText& Message, const FText& ButtonMessage, const char* ButtonStyle, TSharedPtr<SWidget> RowWidget, bool IconVAlignTop, bool ButtonVAlignTop)
{
const int IconSize = 18;
TSharedRef<SHorizontalBox> Result = SNew(SHorizontalBox)
// Status icon
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(SPadding::SetupMessageIconPadding)
.VAlign(IconVAlignTop ? VAlign_Top : VAlign_Center)
.HAlign(HAlign_Center)
[
SNew(SBox)
.WidthOverride(IconSize)
.HeightOverride(IconSize)
[
SNew(SImage)
.Image(FGameLiftPluginStyle::Get().GetBrush(IconName))
]
];
if (RowWidget != nullptr)
{
Result->AddSlot()
.FillWidth(1)
.Padding(SPadding::SetupMessageContentPadding)
[
RowWidget.ToSharedRef()
];
}
else
{
// Status text
Result->AddSlot()
.VAlign(VAlign_Center)
.Padding(SPadding::SetupMessageContentPadding)
[
SNew(STextBlock)
.ColorAndOpacity(this, &SSetupMessage::GetTextColor)
.Text(Message)
.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kParagraph)
.AutoWrapText(true)
];
}
if (!ButtonMessage.IsEmpty() || !FText::FromString(ButtonStyle).IsEmpty())
{
Result->AddSlot()
.HAlign(HAlign_Right)
.VAlign(ButtonVAlignTop ? VAlign_Top : VAlign_Center)
.Padding(ButtonVAlignTop ? SPadding::CloseButtonTopPadding : SPadding::Right2x)
.AutoWidth()
[
SNew(SButton)
.OnClicked(this, &SSetupMessage::OnButtonPressed)
.Text(ButtonMessage)
.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonNormal)
.ButtonStyle(FGameLiftPluginStyle::Get(), ButtonStyle)
];
}
return Result;
}