Files
UnrealEngineUWP/Engine/Source/Developer/ToolWidgets/Private/SPrimaryButton.cpp

40 lines
1.1 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SPrimaryButton.h"
#include "Widgets/SBoxPanel.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Text/STextBlock.h"
void SPrimaryButton::Construct(const FArguments& InArgs)
{
SButton::Construct(SButton::FArguments()
.ButtonStyle(&FAppStyle::Get().GetWidgetStyle<FButtonStyle>(InArgs._Icon.IsSet() ? "PrimaryButtonLabelAndIcon" : "PrimaryButton"))
.OnClicked(InArgs._OnClicked)
.ForegroundColor(FSlateColor::UseStyle())
.HAlign(HAlign_Center)
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.AutoWidth()
.VAlign(VAlign_Center)
.Padding(FMargin(0,0,3,0))
[
SNew(SImage)
.ColorAndOpacity(FSlateColor::UseForeground())
.Image(InArgs._Icon)
.Visibility(InArgs._Icon.IsSet() ? EVisibility::HitTestInvisible : EVisibility::Collapsed)
]
+ SHorizontalBox::Slot()
.VAlign(VAlign_Center)
.AutoWidth()
[
SNew(STextBlock)
.TextStyle(&FAppStyle::Get().GetWidgetStyle<FTextBlockStyle>("PrimaryButtonText"))
.Text(InArgs._Text)
.Visibility(InArgs._Text.IsSet() ? EVisibility::HitTestInvisible : EVisibility::Collapsed)
]
]
);
}