2019-12-26 15:33:43 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-09-10 11:35:20 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
#include "UObject/ObjectMacros.h"
|
|
|
|
|
#include "UObject/Object.h"
|
|
|
|
|
|
|
|
|
|
#include "LevelEditorMenuContext.generated.h"
|
|
|
|
|
|
|
|
|
|
class SLevelEditor;
|
|
|
|
|
class UActorComponent;
|
2020-02-18 15:40:24 -05:00
|
|
|
class SLevelViewport;
|
|
|
|
|
class SLevelViewportToolBar;
|
2020-03-18 12:29:22 -04:00
|
|
|
class FLevelEditorViewportClient;
|
2019-09-10 11:35:20 -04:00
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class LEVELEDITOR_API ULevelEditorMenuContext : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
public:
|
|
|
|
|
TWeakPtr<SLevelEditor> LevelEditor;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** Enum to describe what a level editor context menu should be built for */
|
|
|
|
|
enum class ELevelEditorMenuContext
|
|
|
|
|
{
|
|
|
|
|
/** This context menu is applicable to a viewport */
|
|
|
|
|
Viewport,
|
|
|
|
|
/** This context menu is applicable to the Scene Outliner (disables click-position-based menu items) */
|
|
|
|
|
SceneOutliner,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
|
class LEVELEDITOR_API ULevelEditorContextMenuContext : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
TWeakPtr<SLevelEditor> LevelEditor;
|
|
|
|
|
TArray<UActorComponent*> SelectedComponents;
|
|
|
|
|
ELevelEditorMenuContext ContextType;
|
|
|
|
|
};
|
|
|
|
|
|
2020-02-18 15:40:24 -05:00
|
|
|
UCLASS()
|
|
|
|
|
class LEVELEDITOR_API ULevelViewportToolBarContext : public UObject
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
public:
|
|
|
|
|
TWeakPtr<SLevelViewportToolBar> LevelViewportToolBarWidget;
|
|
|
|
|
TWeakPtr<const SLevelViewportToolBar> LevelViewportToolBarWidgetConst;
|
2020-03-18 11:30:24 -04:00
|
|
|
|
|
|
|
|
FLevelEditorViewportClient* GetLevelViewportClient();
|
2020-02-18 15:40:24 -05:00
|
|
|
};
|