// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved. #pragma once /** * Describes the workspace menu from which tabs are summoned * * +-Asset Editor Tabs * |-Tab * |-... * | * +-Level Editor Tabs * |-Tab * |-... * | \ Viewports > * +-Tools Tabs * |-Tab * |-... * \ Developer Tools > */ class FWorkspaceItem; class IWorkspaceMenuStructure { public: /** Get the root of the menu structure. Pass this into PopulateTabSpawnerMenu() */ virtual TSharedRef GetStructureRoot() const = 0; /** See diagram above */ virtual TSharedRef GetLevelEditorCategory() const = 0; /** See diagram above */ virtual TSharedRef GetLevelEditorViewportsCategory() const = 0; /** See diagram above */ virtual TSharedRef GetLevelEditorDetailsCategory() const = 0; /** See diagram above */ virtual TSharedRef GetLevelEditorModesCategory() const = 0; /** See diagram above */ virtual TSharedRef GetToolsCategory() const = 0; /** See diagram above */ virtual TSharedRef GetDeveloperToolsDebugCategory() const = 0; /** See diagram above */ virtual TSharedRef GetDeveloperToolsLogCategory() const = 0; /** See diagram above */ virtual TSharedRef GetDeveloperToolsMiscCategory() const = 0; /** Get the root of the edit menu structure. Pass this into PopulateTabSpawnerMenu() */ virtual TSharedRef GetEditOptions() const = 0; };