TSharedRef SConnectAnywhereFleetMenu::CreateChooseExistingFleetUI()

in GameLiftPlugin/Source/GameLiftPlugin/Private/SMenu/Anywhere/SConnectAnywhereFleetMenu.cpp [324:398]


TSharedRef<SWidget> SConnectAnywhereFleetMenu::CreateChooseExistingFleetUI()
{
	return SNew(SVerticalBox)
		// Anywhere fleet dropdown
		+ SVerticalBox::Slot()
		.AutoHeight()
		.HAlign(HAlign_Fill)
		.Padding(SPadding::Top_Bottom + SPadding::Right2x)
		[
			SNew(SNamedRow)
			.NameText(Menu::DeployAnywhere::kSelectedFleetTitle)
			.RowWidget(
				SAssignNew(ExistingFleetsComboBox, SSelectionComboBox)
				.UnselectedText(Menu::DeployAnywhere::kUnselectedFleetDropDownText)
				.OnListBuilding_Raw(this, &SConnectAnywhereFleetMenu::OnBuildExistingFleetValues)
				.OnItemSelected_Raw(this, &SConnectAnywhereFleetMenu::OnExistingFleetSelected)
				.IsEnabled_Raw(this, &SConnectAnywhereFleetMenu::CanEnableFleetSelectionUI)
			)
		]
		// Anywhere fleet ID
		+ SVerticalBox::Slot()
		.AutoHeight()
		.HAlign(HAlign_Fill)
		.Padding(SPadding::Top_Bottom + SPadding::Right2x)
		[
			SAssignNew(FleetIDRow, SNamedRow)
			.NameText(Menu::DeployAnywhere::kSelectedFleetIDTitle)
			.RowWidget(
				SAssignNew(FleetIDTextView, SEditableText)
				.Style(FGameLiftPluginStyle::Get(), Style::EditableText::kFieldMedium)
				.IsReadOnly(true)
			)
			.SecondaryColumnLeftPadding(true)
		]
		// Button to add a new Anywhere fleet
		+ SVerticalBox::Slot()
		.AutoHeight()
		.Padding(SPadding::Top_Bottom + SPadding::Right2x)
		[
			SNew(SHorizontalBox)
			+ SHorizontalBox::Slot()
			.AutoWidth()
			.HAlign(HAlign_Left)
			.Padding(SPadding::Right)
			[
				SAssignNew(ModifyCreateButtonSwitcher, SWidgetSwitcher)
					+ SWidgetSwitcher::Slot()
					[
						SAssignNew(AddFleetButton, SButton)
							.Text(Menu::DeployAnywhere::kGoToCreateFleetButtonText)
							.OnClicked_Raw(this, &SConnectAnywhereFleetMenu::OnGoToCreateFleetButtonClicked)
							.IsEnabled_Raw(this, &SConnectAnywhereFleetMenu::CanEnableUI)
							.ButtonStyle(FGameLiftPluginStyle::Get(), Style::Button::kNormalButtonStyleName)
							.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonNormal)
					]
					+ SWidgetSwitcher::Slot()
					[
						// modify button
						SAssignNew(ModifyButton, SButton)
							.Text(Menu::DeployAnywhere::kModifyAnywhereFleet)
							.OnClicked_Raw(this, &SConnectAnywhereFleetMenu::OnModifyButtonClicked)
							.ButtonStyle(FGameLiftPluginStyle::Get(), Style::Button::kNormalButtonStyleName)
							.TextStyle(FGameLiftPluginStyle::Get(), Style::Text::kButtonNormal)
					]
			]
			// Hyperlink to fleet list in console for current region
			+ SHorizontalBox::Slot()
			.FillWidth(1)
			.HAlign(HAlign_Right)
			.Padding(SPadding::Right) // move the link left a bit
			[
				CreateFleetsInConsoleHyperLink()
			]
		];
}