TSharedRef<SWidget> GenerateViewMenu() const { TSharedPtr<const FUICommandList> CommandList = EditorViewport.IsValid() ? EditorViewport.Pin()->GetCommandList() : nullptr; const bool bInShouldCloseWindowAfterMenuSelection = true; FMenuBuilder ViewMenuBuilder(bInShouldCloseWindowAfterMenuSelection, CommandList); ViewMenuBuilder.AddMenuEntry(FEditorViewportCommands::Get().LitMode, NAME_None, NSLOCTEXT("BlueprintEditor", "LitModeMenuOption", "Lit")); ViewMenuBuilder.AddMenuEntry(FEditorViewportCommands::Get().UnlitMode, NAME_None, NSLOCTEXT("BlueprintEditor", "UnlitModeMenuOption", "Unlit")); ViewMenuBuilder.AddMenuEntry(FEditorViewportCommands::Get().WireframeMode, NAME_None, NSLOCTEXT("BlueprintEditor", "WireframeModeMenuOption", "Wireframe")); return ViewMenuBuilder.MakeWidget(); }
TSharedRef<SWidget> SPhATPreviewViewportToolBar::GenerateViewMenu() const { const FPhATCommands& Actions = FPhATCommands::Get(); const bool bInShouldCloseWindowAfterMenuSelection = true; FMenuBuilder ViewMenuBuilder(bInShouldCloseWindowAfterMenuSelection, PhATPtr.Pin()->GetToolkitCommands()); { ViewMenuBuilder.AddMenuEntry(Actions.ShowSkeleton); ViewMenuBuilder.AddMenuEntry(Actions.DrawGroundBox); ViewMenuBuilder.AddMenuEntry(Actions.InstanceProperties); ViewMenuBuilder.AddMenuEntry(Actions.ShowFixedBodies); ViewMenuBuilder.AddMenuEntry(Actions.ToggleGraphicsHierarchy); ViewMenuBuilder.AddMenuEntry(Actions.ToggleBoneInfuences); ViewMenuBuilder.AddMenuEntry(Actions.ToggleMassProperties); } return ViewMenuBuilder.MakeWidget(); }
TSharedRef<SWidget> SCascadePreviewViewportToolBar::GenerateViewMenu() const { const FCascadeCommands& Actions = FCascadeCommands::Get(); const bool bInShouldCloseWindowAfterMenuSelection = true; FMenuBuilder ViewMenuBuilder(bInShouldCloseWindowAfterMenuSelection, CascadePtr.Pin()->GetToolkitCommands()); struct Local { static void BuildViewOptionsMenu(FMenuBuilder& Menu) { Menu.BeginSection("CascadeViewOverlays", NSLOCTEXT("Cascade", "ViewOptionsHeader", "View Overlays")); { Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleCounts); Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleEventCounts); Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleTimes); Menu.AddMenuEntry(FCascadeCommands::Get().View_ParticleMemory); Menu.AddMenuEntry(FCascadeCommands::Get().View_SystemCompleted); } Menu.EndSection(); } static void BuildViewModesMenu(FMenuBuilder& Menu) { Menu.BeginSection("CascadeViewMode", NSLOCTEXT("Cascade", "ViewModeHeader", "View Mode")); { Menu.AddMenuEntry(FCascadeCommands::Get().ViewMode_Wireframe); Menu.AddMenuEntry(FCascadeCommands::Get().ViewMode_Unlit); Menu.AddMenuEntry(FCascadeCommands::Get().ViewMode_Lit); Menu.AddMenuEntry(FCascadeCommands::Get().ViewMode_ShaderComplexity); } Menu.EndSection(); } static void BuildDetailModesMenu(FMenuBuilder& Menu) { Menu.BeginSection("CascadeDetailMode", NSLOCTEXT("Cascade", "DetailModeHeader", "Detail Mode")); { Menu.AddMenuEntry(FCascadeCommands::Get().DetailMode_Low); Menu.AddMenuEntry(FCascadeCommands::Get().DetailMode_Medium); Menu.AddMenuEntry(FCascadeCommands::Get().DetailMode_High); } Menu.EndSection(); } static void BuildSignificanceMenu(FMenuBuilder& Menu) { Menu.BeginSection("CascadeSignificance", NSLOCTEXT("Cascade", "SignificanceHeader", "Required Significance")); { Menu.AddMenuEntry(FCascadeCommands::Get().Significance_Critical); Menu.AddMenuEntry(FCascadeCommands::Get().Significance_High); Menu.AddMenuEntry(FCascadeCommands::Get().Significance_Medium); Menu.AddMenuEntry(FCascadeCommands::Get().Significance_Low); } Menu.EndSection(); } }; ViewMenuBuilder.AddSubMenu(NSLOCTEXT("Cascade", "ViewOptionsSubMenu", "View Overlays"), FText::GetEmpty(), FNewMenuDelegate::CreateStatic(&Local::BuildViewOptionsMenu)); ViewMenuBuilder.AddSubMenu(NSLOCTEXT("Cascade", "ViewModesSubMenu", "View Modes"), FText::GetEmpty(), FNewMenuDelegate::CreateStatic(&Local::BuildViewModesMenu)); ViewMenuBuilder.AddSubMenu(NSLOCTEXT("Cascade", "DetailModesSubMenu", "Detail Modes"), FText::GetEmpty(), FNewMenuDelegate::CreateStatic(&Local::BuildDetailModesMenu)); ViewMenuBuilder.AddSubMenu(NSLOCTEXT("Cascade", "SignificanceSubMenu", "Significance"), FText::GetEmpty(), FNewMenuDelegate::CreateStatic(&Local::BuildSignificanceMenu)); ViewMenuBuilder.BeginSection("CascadeMiscPreview"); { // Only display the orbit mode option if orbit cam controls are disabled if (!CascadePtr.Pin()->GetPreviewViewport()->GetViewportClient()->bUsingOrbitCamera ) { ViewMenuBuilder.AddMenuEntry(Actions.ToggleOrbitMode); } ViewMenuBuilder.AddMenuEntry(Actions.ToggleLocalVectorFields); ViewMenuBuilder.AddMenuEntry(Actions.ToggleGrid); ViewMenuBuilder.AddMenuEntry(Actions.ToggleWireframeSphere); ViewMenuBuilder.AddMenuEntry(Actions.TogglePostProcess); ViewMenuBuilder.AddMenuEntry(Actions.ToggleMotion); ViewMenuBuilder.AddMenuEntry(Actions.SetMotionRadius); } ViewMenuBuilder.EndSection(); ViewMenuBuilder.BeginSection("CascadeMiscPreview2"); { ViewMenuBuilder.AddMenuEntry(Actions.ToggleGeometry); ViewMenuBuilder.AddMenuEntry(Actions.ToggleGeometry_Properties); } ViewMenuBuilder.EndSection(); return ViewMenuBuilder.MakeWidget(); }