Files
UnrealEngineUWP/Engine/Source/Editor/VREditor/UI/VRRadialMenuHandler.h
Richard TalbotWatkin 4a6963147e Removed old modules: EditableMesh, MeshEditor, StaticMeshEditorExtension, BlastPlugin.
Some UV utilities were moved from StaticMeshEditorExtension to DatasmithImporter.
All remaining references to EditableMesh were removed from engine code and plugins with former dependencies.
#rb Jean-Michel.Dignard, Jean-Luc.Corenthin, Michael.Lentine, Bill.Henderson

[CL 14421586 by Richard TalbotWatkin in ue5-main branch]
2020-10-05 12:11:21 -04:00

85 lines
2.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "SlateFwd.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "Framework/MultiBox/MultiBoxBuilder.h"
#include "VRRadialMenuHandler.generated.h"
class FUICommandList;
class UVREditorMode;
DECLARE_DELEGATE_FourParams(FOnRadialMenuGenerated, FMenuBuilder&, TSharedPtr<FUICommandList>, UVREditorMode*, float&);
/**
* VR Editor user interface manager
*/
UCLASS()
class UVRRadialMenuHandler: public UObject
{
GENERATED_BODY()
public:
/** Default constructor */
UVRRadialMenuHandler();
/** Builds the current radial menu */
void BuildRadialMenuCommands(FMenuBuilder& MenuBuilder, TSharedPtr<FUICommandList> CommandList, UVREditorMode* VRMode, float& RadiusOverride);
/** Registers a new menu generator and replaces the currently displayed menu if the radial menu is open */
void RegisterMenuGenerator(const FOnRadialMenuGenerated NewMenuGenerator, const bool bShouldAddToStack = true);
FOnRadialMenuGenerated GetCurrentMenuGenerator()
{
return OnRadialMenuGenerated;
};
FOnRadialMenuGenerated GetHomeMenuGenerator()
{
return HomeMenu;
};
/** Returns to the previous radial menu */
void BackOutMenu();
/** Returns to the home menu */
void Home();
void Init(class UVREditorUISystem* InUISystem);
protected:
/** Functions to bind to each menu delegate */
void HomeMenuGenerator(FMenuBuilder& MenuBuilder, TSharedPtr<FUICommandList> CommandList, UVREditorMode* VRMode, float& RadiusOverride);
void SnapMenuGenerator(FMenuBuilder& MenuBuilder, TSharedPtr<FUICommandList> CommandList, UVREditorMode* VRMode, float& RadiusOverride);
void GizmoMenuGenerator(FMenuBuilder& MenuBuilder, TSharedPtr<FUICommandList> CommandList, UVREditorMode* VRMode, float& RadiusOverride);
void EditMenuGenerator(FMenuBuilder& MenuBuilder, TSharedPtr<FUICommandList> CommandList, UVREditorMode* VRMode, float& RadiusOverride);
void SystemMenuGenerator(FMenuBuilder& MenuBuilder, TSharedPtr<FUICommandList> CommandList, UVREditorMode* VRMode, float& RadiusOverride);
protected:
FOnRadialMenuGenerated OnRadialMenuGenerated;
FOnRadialMenuGenerated HomeMenu;
FOnRadialMenuGenerated SnapMenu;
FOnRadialMenuGenerated GizmoMenu;
FOnRadialMenuGenerated EditMenu;
FOnRadialMenuGenerated SystemMenu;
static FText ActionMenuLabel;
class UVREditorUISystem* UIOwner;
TArray<FOnRadialMenuGenerated> MenuStack;
};