Files
UnrealEngineUWP/Engine/Source/Editor/LocalizationDashboard/Private/LocalizationTargetSetDetailCustomization.h
Chris Gagnon 8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00

68 lines
1.9 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Input/Reply.h"
#include "Widgets/Views/STableViewBase.h"
#include "Widgets/Views/STableRow.h"
#include "IDetailCustomization.h"
class IDetailLayoutBuilder;
class IPropertyHandle;
class ULocalizationTarget;
class ULocalizationTargetSet;
class FLocalizationTargetSetDetailCustomization : public IDetailCustomization
{
public:
FLocalizationTargetSetDetailCustomization();
void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override;
private:
void BuildTargetsList();
void RebuildTargetsList();
bool CanGatherTextAllTargets() const;
void GatherTextAllTargets();
bool CanImportTextAllTargets() const;
void ImportTextAllTargets();
bool CanExportTextAllTargets() const;
void ExportTextAllTargets();
bool CanImportDialogueScriptAllTargets() const;
void ImportDialogueScriptAllTargets();
bool CanExportDialogueScriptAllTargets() const;
void ExportDialogueScriptAllTargets();
bool CanImportDialogueAllTargets() const;
void ImportDialogueAllTargets();
bool CanCountWordsForAllTargets() const;
void CountWordsForAllTargets();
bool CanCompileTextAllTargets() const;
void CompileTextAllTargets();
void UpdateTargetFromReports(ULocalizationTarget* const LocalizationTarget);
TSharedRef<ITableRow> OnGenerateRow(TSharedPtr<IPropertyHandle> TargetObjectPropertyHandle, const TSharedRef<STableViewBase>& Table);
FReply OnNewTargetButtonClicked();
private:
IDetailLayoutBuilder* DetailLayoutBuilder;
TWeakObjectPtr<ULocalizationTargetSet> TargetSet;
TSharedPtr<IPropertyHandle> TargetObjectsPropertyHandle;
FSimpleDelegate TargetsArrayPropertyHandle_OnNumElementsChanged;
TArray< TSharedPtr<IPropertyHandle> > TargetsList;
TSharedPtr< SListView< TSharedPtr<IPropertyHandle> > > TargetsListView;
/* If set, the entry at the index specified needs to be initialized as soon as possible. */
int32 NewEntryIndexToBeInitialized;
};