Files
UnrealEngineUWP/Engine/Source/Developer/ProjectLauncher/Private/Widgets/Cook/SProjectLauncherSimpleCookPage.cpp
bryan sefcik a3dddc6630 Pass 1 on Developer include fixes:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631e281694758d0bf2ea1399

[CL 21960082 by bryan sefcik in ue5-main branch]
2022-09-11 18:32:18 -04:00

130 lines
3.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Widgets/Cook/SProjectLauncherSimpleCookPage.h"
#include "Widgets/SBoxPanel.h"
#include "Widgets/Cook/SProjectLauncherCookByTheBookSettings.h"
#define LOCTEXT_NAMESPACE "SProjectLauncherCookPage"
/* SProjectLauncherSimpleCookPage structors
*****************************************************************************/
SProjectLauncherSimpleCookPage::~SProjectLauncherSimpleCookPage()
{
if (Model.IsValid())
{
Model->OnProfileSelected().RemoveAll(this);
}
}
/* SProjectLauncherSimpleCookPage interface
*****************************************************************************/
void SProjectLauncherSimpleCookPage::Construct(const FArguments& InArgs, const TSharedRef<FProjectLauncherModel>& InModel)
{
Model = InModel;
ChildSlot
[
SNew(SVerticalBox)
+ SVerticalBox::Slot()
.AutoHeight()
.Padding(0.0, 8.0, 0.0, 0.0)
[
SNew(SProjectLauncherCookByTheBookSettings, InModel, true)
]
];
Model->OnProfileSelected().AddSP(this, &SProjectLauncherSimpleCookPage::HandleProfileManagerProfileSelected);
}
/* SProjectLauncherSimpleCookPage callbacks
*****************************************************************************/
EVisibility SProjectLauncherSimpleCookPage::HandleCookByTheBookSettingsVisibility() const
{
ILauncherProfilePtr SelectedProfile = Model->GetSelectedProfile();
if (SelectedProfile.IsValid())
{
if (SelectedProfile->GetCookMode() == ELauncherProfileCookModes::ByTheBook)
{
return EVisibility::Visible;
}
}
return EVisibility::Collapsed;
}
FText SProjectLauncherSimpleCookPage::HandleCookModeComboButtonContentText() const
{
ILauncherProfilePtr SelectedProfile = Model->GetSelectedProfile();
if (SelectedProfile.IsValid())
{
ELauncherProfileCookModes::Type CookMode = SelectedProfile->GetCookMode();
if (CookMode == ELauncherProfileCookModes::ByTheBook)
{
return LOCTEXT("CookModeComboButton_ByTheBook", "By the book");
}
if (CookMode == ELauncherProfileCookModes::DoNotCook)
{
return LOCTEXT("CookModeComboButton_DoNotCook", "Do not cook");
}
if (CookMode == ELauncherProfileCookModes::OnTheFly)
{
return LOCTEXT("CookModeComboButton_OnTheFly", "On the fly");
}
return LOCTEXT("CookModeComboButtonDefaultText", "Select...");
}
return FText();
}
void SProjectLauncherSimpleCookPage::HandleCookModeMenuEntryClicked(ELauncherProfileCookModes::Type CookMode)
{
ILauncherProfilePtr SelectedProfile = Model->GetSelectedProfile();
if (SelectedProfile.IsValid())
{
SelectedProfile->SetCookMode(CookMode);
}
}
EVisibility SProjectLauncherSimpleCookPage::HandleCookOnTheFlySettingsVisibility() const
{
ILauncherProfilePtr SelectedProfile = Model->GetSelectedProfile();
if (SelectedProfile.IsValid())
{
if (SelectedProfile->GetCookMode() == ELauncherProfileCookModes::OnTheFly)
{
return EVisibility::Visible;
}
}
return EVisibility::Collapsed;
}
void SProjectLauncherSimpleCookPage::HandleProfileManagerProfileSelected(const ILauncherProfilePtr& SelectedProfile, const ILauncherProfilePtr& PreviousProfile)
{
// reload settings
}
#undef LOCTEXT_NAMESPACE