Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/LevelEditorToolBar.h
JeanMichel Dignard 70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00

105 lines
3.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Widgets/SWidget.h"
#include "Framework/Commands/UICommandList.h"
#include "Editor/LevelEditor/Private/SLevelEditor.h"
class UToolMenu;
/**
* Unreal level editor main toolbar
*/
class FLevelEditorToolBar
{
public:
/**
* Static: Creates a widget for the main tool bar
*
* @return New widget
*/
static TSharedRef< SWidget > MakeLevelEditorToolBar( const TSharedRef<FUICommandList>& InCommandList, const TSharedRef<SLevelEditor> InLevelEditor );
static void RegisterLevelEditorToolBar( const TSharedRef<FUICommandList>& InCommandList, const TSharedRef<SLevelEditor> InLevelEditor );
protected:
/**
* Generates menu content for the build combo button drop down menu
*
* @return Menu content widget
*/
static TSharedRef< SWidget > GenerateBuildMenuContent(TSharedRef<FUICommandList> InCommandList, TWeakPtr<SLevelEditor> InLevelEditor);
/**
* Generates menu content for the quick settings combo button drop down menu
*
* @return Menu content widget
*/
static TSharedRef< SWidget > GenerateQuickSettingsMenu(TSharedRef<FUICommandList> InCommandList, TWeakPtr<SLevelEditor> InLevelEditor);
/**
* Generates menu content for the source control combo button drop down menu
*
* @return Menu content widget
*/
static TSharedRef< SWidget > GenerateSourceControlMenu(TSharedRef<FUICommandList> InCommandList, TWeakPtr<SLevelEditor> InLevelEditor);
/**
* Generates menu content for the modes combo button drop down menu
*
* @return Menu content widget
*/
static TSharedRef< SWidget > GenerateEditorModesMenu(TSharedRef<FUICommandList> InCommandList, TWeakPtr<SLevelEditor> InLevelEditor);
/**
* Generates menu content for the compile combo button drop down menu
*
* @return Menu content widget
*/
static TSharedRef< SWidget > GenerateOpenBlueprintMenuContent(TSharedRef<FUICommandList> InCommandList, TWeakPtr<SLevelEditor> InLevelEditor);
/**
* Generates menu content for the Cinematics combo button drop down menu
*
* @return Menu content widget
*/
static TSharedRef< SWidget > GenerateCinematicsMenuContent(TSharedRef<FUICommandList> InCommandList, TWeakPtr<SLevelEditor> InLevelEditor);
/**
* Delegate for actor selection within the Cinematics popup menu's SceneOutliner.
* Opens the editor for the selected actor and dismisses all popup menus.
*/
static void OnCinematicsActorPicked( AActor* Actor );
/**
* Callback to open a sub-level script Blueprint
*
* @param InLevel The level to open the Blueprint of (creates if needed)
*/
static void OnOpenSubLevelBlueprint( ULevel* InLevel );
private:
static void RegisterSourceControlMenu();
static void RegisterCinematicsMenu();
static void RegisterEditorModesMenu();
static void RegisterBuildMenu();
#if WITH_LIVE_CODING
/**
* Generates menu content for the compile combo button drop down menu
*/
static void RegisterCompileMenu();
#endif
static void RegisterQuickSettingsMenu();
static void RegisterOpenBlueprintMenu();
};