// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/BitArray.h" #include "Delegates/IDelegateInstance.h" #include "HAL/Platform.h" #include "HAL/PlatformCrt.h" #include "Input/Reply.h" #include "Internationalization/Text.h" #include "Templates/SharedPointer.h" #include "Templates/UnrealTemplate.h" #include "UObject/NameTypes.h" #include "Widgets/Views/SListView.h" #include "Widgets/Views/STableRow.h" class IPropertyHandle; class IPropertyUtilities; class SDockTab; class STableViewBase; class SWidget; class ULocalizationTarget; struct FLocalizationTargetSettings; class SLocalizationDashboardTargetRow : public SMultiColumnTableRow< TSharedPtr > { public: void Construct(const FTableRowArgs& InArgs, const TSharedRef& OwnerTableView, const TSharedRef& InPropertyUtilities, const TSharedRef& InTargetObjectPropertyHandle); TSharedRef GenerateWidgetForColumn( const FName& ColumnName ) override; private: ULocalizationTarget* GetTarget() const; FLocalizationTargetSettings* GetTargetSettings() const; FText GetTargetName() const; void OnNavigate(); FText GetCulturesText() const; uint32 GetWordCount() const; uint32 GetNativeWordCount() const; FText GetWordCountText() const; void UpdateTargetFromReports(); bool CanGatherText() const; FReply GatherText(); bool CanImportText() const; FReply ImportText(); bool CanExportText() const; FReply ExportText(); bool CanImportDialogueScript() const; FReply ImportDialogueScript(); bool CanExportDialogueScript() const; FReply ExportDialogueScript(); bool CanImportDialogue() const; FReply ImportDialogue(); bool CanCountWords() const; FReply CountWords(); bool CanCompileText() const; FReply CompileText(); FReply EnqueueDeletion(); void Delete(); private: TSharedPtr PropertyUtilities; TSharedPtr TargetObjectPropertyHandle; TWeakPtr TargetEditorDockTab; };