Files
UnrealEngineUWP/Engine/Source/Developer/Lumin/LuminPlatformEditor/Private/LuminLocalePickerWidget.cpp
Rolando Caloca 5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00

42 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LuminLocalePickerWidget.h"
#include "Widgets/Input/STextComboBox.h"
void SLuminLocalePickerWidget::Construct(const FArguments& Args)
{
OnPickLocale = Args._OnPickLocale.Get();
TArray<FString> CultureNames;
FInternationalization::Get().GetCultureNames(CultureNames);
for (FString& Locale : CultureNames)
{
Locales.Add(MakeShareable(new FString(Locale)));
}
int32 CurrLocaleIndex = 0;
FString InitiallySelectedLocale = Args._InitiallySelectedLocale.Get();
for (int32 LocaleIndex = 0; LocaleIndex < Locales.Num(); ++LocaleIndex)
{
if (*Locales[LocaleIndex].Get() == InitiallySelectedLocale)
{
CurrLocaleIndex = LocaleIndex;
break;
}
}
ChildSlot
[
SNew(STextComboBox)
.OptionsSource(&Locales)
.InitiallySelectedItem(Locales[CurrLocaleIndex])
.OnSelectionChanged(this, &SLuminLocalePickerWidget::OnSelectedLocaleChanged)
];
}
void SLuminLocalePickerWidget::OnSelectedLocaleChanged(TSharedPtr<FString> NewLocale, ESelectInfo::Type SelectInfo)
{
OnPickLocale.Execute(*NewLocale.Get());
}