// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "IDetailCustomization.h" #include "Widgets/SWidget.h" class IDetailCategoryBuilder; class IDetailLayoutBuilder; class ILocalizationServiceProvider; struct FLocalizationServiceProviderWrapper { FLocalizationServiceProviderWrapper() : Provider(nullptr) {} FLocalizationServiceProviderWrapper(ILocalizationServiceProvider* const InProvider) : Provider(InProvider) {} ILocalizationServiceProvider* Provider; }; class FLocalizationDashboardSettingsDetailCustomization : public IDetailCustomization { public: FLocalizationDashboardSettingsDetailCustomization(); void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; private: FText GetCurrentServiceProviderDisplayName() const; TSharedRef ServiceProviderComboBox_OnGenerateWidget(TSharedPtr LSPWrapper) const; void ServiceProviderComboBox_OnSelectionChanged(TSharedPtr LSPWrapper, ESelectInfo::Type SelectInfo); private: IDetailLayoutBuilder* DetailLayoutBuilder; IDetailCategoryBuilder* ServiceProviderCategoryBuilder; TArray< TSharedPtr > Providers; };