Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/SLevelViewportControlsPopup.cpp
lauren barnes 508357b20e Updating documentation links/parsing to include versioning.
#jira none
#rb Jamie.Dale
#preflight 610c27a53b37200001a4af5e

#ROBOMERGE-SOURCE: CL 17078725 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17078733 by lauren barnes in ue5-release-engine-test branch]
2021-08-05 20:18:24 -04:00

64 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SLevelViewportControlsPopup.h"
#include "Misc/Paths.h"
#include "Widgets/Input/SMenuAnchor.h"
#include "Widgets/Images/SImage.h"
#include "Widgets/Layout/SBox.h"
#include "Widgets/Input/SButton.h"
#include "EditorStyleSet.h"
#include "UnrealEdMisc.h"
#include "Internationalization/Culture.h"
void SLevelViewportControlsPopup::Construct(const FArguments& InArgs)
{
TAttribute<FText> ToolTipText = NSLOCTEXT("LevelViewportControlsPopup", "ViewportControlsToolTip", "Click to show Viewport Controls");
Default = FEditorStyle::GetBrush("HelpIcon");
Hovered = FEditorStyle::GetBrush("HelpIcon.Hovered");
Pressed = FEditorStyle::GetBrush("HelpIcon.Pressed");
ChildSlot
[
SAssignNew(Button, SButton)
.ContentPadding(5)
.ButtonStyle(FEditorStyle::Get(), "HelpButton")
.OnClicked(this, &SLevelViewportControlsPopup::OnClicked)
.ClickMethod(EButtonClickMethod::MouseDown)
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
.ToolTipText(ToolTipText)
[
SAssignNew(ButtonImage, SImage)
.Image(this, &SLevelViewportControlsPopup::GetButtonImage)
]
];
}
const FSlateBrush* SLevelViewportControlsPopup::GetButtonImage() const
{
if (Button->IsPressed())
{
return Pressed;
}
if (ButtonImage->IsHovered())
{
return Hovered;
}
return Default;
}
FReply SLevelViewportControlsPopup::OnClicked() const
{
FString URL;
if (FUnrealEdMisc::Get().GetURL(TEXT("ViewportControlsURL"), URL))
{
// documentation URLS are now stored with placeholders for internationalization and version
FUnrealEdMisc::Get().ReplaceDocumentationURLWildcards(URL, FInternationalization::Get().GetCurrentCulture());
FPlatformProcess::LaunchURL(*URL, NULL, NULL);
}
return FReply::Handled();
}