52 lines
1.8 KiB
C++
52 lines
1.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Toolkits/IToolkitHost.h"
|
|
#include "Modules/ModuleInterface.h"
|
|
#include "Toolkits/AssetEditorToolkit.h"
|
|
|
|
class IStringTableEditor;
|
|
class UStringTable;
|
|
|
|
namespace UE::AssetTools
|
|
{
|
|
struct FPackageMigrationContext;
|
|
}
|
|
|
|
/** String Table Editor module */
|
|
class STRINGTABLEEDITOR_API FStringTableEditorModule : public IModuleInterface,
|
|
public IHasMenuExtensibility, public IHasToolBarExtensibility
|
|
{
|
|
public:
|
|
// IModuleInterface
|
|
virtual void StartupModule() override;
|
|
virtual void ShutdownModule() override;
|
|
|
|
/**
|
|
* Creates an instance of string table editor object.
|
|
*
|
|
* @param Mode Mode that this editor should operate in
|
|
* @param InitToolkitHost When Mode is WorldCentric, this is the level editor instance to spawn this editor within
|
|
* @param StringTable The string table to start editing
|
|
*
|
|
* @return Interface to the new string table editor
|
|
*/
|
|
TSharedRef<IStringTableEditor> CreateStringTableEditor(const EToolkitMode::Type Mode, const TSharedPtr<class IToolkitHost>& InitToolkitHost, UStringTable* StringTable);
|
|
|
|
/** Gets the extensibility managers for outside entities to extend static mesh editor's menus and toolbars */
|
|
virtual TSharedPtr<FExtensibilityManager> GetMenuExtensibilityManager() override { return MenuExtensibilityManager; }
|
|
|
|
virtual TSharedPtr<FExtensibilityManager> GetToolBarExtensibilityManager() override { return ToolBarExtensibilityManager; }
|
|
|
|
/** StringTable Editor app identifier string */
|
|
static const FName StringTableEditorAppIdentifier;
|
|
|
|
private:
|
|
void OnPackageMigration(UE::AssetTools::FPackageMigrationContext& MigrationContext);
|
|
|
|
TSharedPtr<FExtensibilityManager> MenuExtensibilityManager;
|
|
TSharedPtr<FExtensibilityManager> ToolBarExtensibilityManager;
|
|
};
|