From 85ca03199ebafcd8f26091d8c87eb8c107d0413b Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 26 Nov 2014 17:53:41 -0800 Subject: [PATCH] remove Entities developer menu items from C++ menu, make them available through script --- examples/developerMenuItems.js | 37 ++++++++++++++++++++++++++++++++++ interface/src/Menu.cpp | 16 --------------- 2 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 examples/developerMenuItems.js diff --git a/examples/developerMenuItems.js b/examples/developerMenuItems.js new file mode 100644 index 0000000000..221975c9c8 --- /dev/null +++ b/examples/developerMenuItems.js @@ -0,0 +1,37 @@ +// +// developerMenuItems.js +// examples +// +// Created by Brad Hefta-Gaub on 2/24/14 +// Copyright 2013 High Fidelity, Inc. +// +// Adds a bunch of developer and debugging menu items +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + + +function setupMenus() { + if (!Menu.menuExists("Developer")) { + Menu.addMenu("Developer"); + } + if (!Menu.menuExists("Developer > Entities")) { + Menu.addMenu("Developer > Entities"); + Menu.addMenuItem({ menuName: "Developer > Entities", menuItemName: "Display Model Bounds", isCheckable: true, isChecked: false }); + Menu.addMenuItem({ menuName: "Developer > Entities", menuItemName: "Display Model Element Bounds", isCheckable: true, isChecked: false }); + Menu.addMenuItem({ menuName: "Developer > Entities", menuItemName: "Display Model Element Children", isCheckable: true, isChecked: false }); + Menu.addMenuItem({ menuName: "Developer > Entities", menuItemName: "Disable Light Entities", isCheckable: true, isChecked: false }); + Menu.addMenuItem({ menuName: "Developer > Entities", menuItemName: "Don't Attempt to Reduce Material Switches", isCheckable: true, isChecked: false }); + Menu.addMenuItem({ menuName: "Developer > Entities", menuItemName: "Don't Attempt Render Entities as Scene", isCheckable: true, isChecked: false }); + Menu.addMenu("Developer > Entities > Culling"); + Menu.addMenuItem({ menuName: "Developer > Entities > Culling", menuItemName: "Don't Cull Out Of View Mesh Parts", isCheckable: true, isChecked: false }); + Menu.addMenuItem({ menuName: "Developer > Entities > Culling", menuItemName: "Don't Cull Too Small Mesh Parts", isCheckable: true, isChecked: false }); + } +} + +function scriptEnding() { + Menu.removeMenu("Developer > Entities"); +} +setupMenus(); +Script.scriptEnding.connect(scriptEnding); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 2c7b4a9efd..6cfb3db35a 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -445,23 +445,7 @@ Menu::Menu() : addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderBoundingCollisionShapes); addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderLookAtVectors, 0, false); addCheckableActionToQMenuAndActionHash(avatarDebugMenu, MenuOption::RenderFocusIndicator, 0, false); - - QMenu* entitiesDebugMenu = developerMenu->addMenu("Entities"); - addCheckableActionToQMenuAndActionHash(entitiesDebugMenu, MenuOption::DisplayModelBounds, 0, false); - addCheckableActionToQMenuAndActionHash(entitiesDebugMenu, MenuOption::DisplayModelElementProxy, 0, false); - addCheckableActionToQMenuAndActionHash(entitiesDebugMenu, MenuOption::DisplayModelElementChildProxies, 0, false); - addCheckableActionToQMenuAndActionHash(entitiesDebugMenu, MenuOption::DisableLightEntities, 0, false); - addCheckableActionToQMenuAndActionHash(entitiesDebugMenu, MenuOption::DontReduceMaterialSwitches, 0, false); - addCheckableActionToQMenuAndActionHash(entitiesDebugMenu, MenuOption::DontRenderEntitiesAsScene, 0, false); - - QMenu* entityCullingMenu = entitiesDebugMenu->addMenu("Culling"); - addCheckableActionToQMenuAndActionHash(entityCullingMenu, MenuOption::DontCullOutOfViewMeshParts, 0, false); - addCheckableActionToQMenuAndActionHash(entityCullingMenu, MenuOption::DontCullTooSmallMeshParts, 0, false); - - - - QMenu* voxelOptionsMenu = developerMenu->addMenu("Voxels"); addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::VoxelTextures); addCheckableActionToQMenuAndActionHash(voxelOptionsMenu, MenuOption::AmbientOcclusion);