Files
UnrealEngineUWP/Engine/Source/Developer/SourceControlViewport/Private/SourceControlViewportMenu.h
wouter burgers 8461964176 Skein / ViewportStatus: Integrate editor team work for Viewport Status Highlighting with UCS work.
#rb Manuel.Lang

[CL 32611700 by wouter burgers in ue5-main branch]
2024-03-29 07:24:47 -04:00

43 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "SourceControlViewportUtils.h"
class FLevelEditorViewportClient;
class UToolMenu;
class SWidget;
// Adds an options menu to the Viewport's SHOW pill.
class FSourceControlViewportMenu : public TSharedFromThis<FSourceControlViewportMenu, ESPMode::ThreadSafe>
{
public:
FSourceControlViewportMenu();
~FSourceControlViewportMenu();
public:
void Init();
void SetEnabled(bool bInEnabled);
private:
void InsertViewportMenu();
void PopulateViewportMenu(UToolMenu* InMenu);
void RemoveViewportMenu();
private:
void ShowAll(FLevelEditorViewportClient* ViewportClient);
void HideAll(FLevelEditorViewportClient* ViewportClient);
void ToggleHighlight(FLevelEditorViewportClient* ViewportClient, ESourceControlStatus Status);
bool IsHighlighted(FLevelEditorViewportClient* ViewportClient, ESourceControlStatus Status) const;
void SetOpacityValue(FLevelEditorViewportClient* ViewportClient, uint8 NewValue);
uint8 GetOpacityValue(FLevelEditorViewportClient* ViewportClient) const;
private:
void RecordToggleEvent(const FString& Param, bool bEnabled) const;
private:
TSharedPtr<SWidget> OpacityWidget;
};