Files
UnrealEngineUWP/Engine/Source/Developer/ProjectLauncher/Private/Widgets/SProjectLauncherTaskListRow.cpp
Ben Marsh 20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00

97 lines
2.1 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#include "Widgets/SProjectLauncherTaskListRow.h"
#include "Widgets/SOverlay.h"
#include "SlateOptMacros.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Images/SThrobber.h"
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
TSharedRef<SWidget> SProjectLauncherTaskListRow::GenerateWidgetForColumn(const FName& ColumnName)
{
if (ColumnName == "Duration")
{
return SNew(SBox)
.Padding(FMargin(4.0, 0.0))
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Text(this, &SProjectLauncherTaskListRow::HandleDurationText)
];
}
else if (ColumnName == "Icon")
{
return SNew(SOverlay)
+ SOverlay::Slot()
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
[
SNew(SThrobber)
.Animate(SThrobber::VerticalAndOpacity)
.NumPieces(1)
.Visibility(this, &SProjectLauncherTaskListRow::HandleThrobberVisibility)
]
+ SOverlay::Slot()
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
[
SNew(SImage)
.ColorAndOpacity(this, &SProjectLauncherTaskListRow::HandleIconColorAndOpacity)
.Image(this, &SProjectLauncherTaskListRow::HandleIconImage)
];
}
else if (ColumnName == "Status")
{
return SNew(SBox)
.Padding(FMargin(4.0, 0.0))
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Text(this, &SProjectLauncherTaskListRow::HandleStatusText)
];
}
else if (ColumnName == "Task")
{
ILauncherTaskPtr TaskPtr = Task.Pin();
if (TaskPtr.IsValid())
{
return SNew(SBox)
.Padding(FMargin(4.0, 0.0))
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Text(FText::FromString(TaskPtr->GetDesc()))
];
}
}
else if (ColumnName == "Warnings")
{
return SNew(SBox)
.Padding(FMargin(4.0, 0.0))
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Text(this, &SProjectLauncherTaskListRow::HandleWarningCounterText)
];
}
else if (ColumnName == "Errors")
{
return SNew(SBox)
.Padding(FMargin(4.0, 0.0))
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Text(this, &SProjectLauncherTaskListRow::HandleErrorCounterText)
];
}
return SNullWidget::NullWidget;
}
END_SLATE_FUNCTION_BUILD_OPTIMIZATION