// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreTypes.h" #include "Framework/Commands/UICommandInfo.h" class FWorkspaceItem; class FMenuBuilder; struct FUIAction; namespace UE::Insights { class FInsightsMenuBuilder : public TSharedFromThis { public: FInsightsMenuBuilder(); TSharedRef GetInsightsToolsGroup(); TSharedRef GetWindowsGroup(); void PopulateMenu(FMenuBuilder& InOutMenuBuilder); void BuildOpenTraceFileSubMenu(FMenuBuilder& InOutMenuBuilder); // Adds a menu entry with a custom key binding text. static void AddMenuEntry( FMenuBuilder& InOutMenuBuilder, const FUIAction& InAction, const TAttribute& InLabel, const TAttribute& InToolTipText, const TAttribute& InKeybinding, const EUserInterfaceActionType InUserInterfaceActionType); private: #if !WITH_EDITOR TSharedRef InsightsToolsGroup; TSharedRef WindowsGroup; #endif }; } // namespace UE::Insights