mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 01:17:14 +02:00
Don't display menu buttons when tool options panel open, and vice versa
This commit is contained in:
parent
e34e8ff2c0
commit
ca3eadb82f
1 changed files with 47 additions and 19 deletions
|
@ -912,13 +912,52 @@ ToolMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
|
||||||
return [menuPanelOverlay].concat(menuOverlays).concat(optionsOverlays);
|
return [menuPanelOverlay].concat(menuOverlays).concat(optionsOverlays);
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeOptions() {
|
function openMenu() {
|
||||||
|
var parentID,
|
||||||
|
properties,
|
||||||
|
i,
|
||||||
|
length;
|
||||||
|
|
||||||
|
parentID = menuPanelOverlay; // Menu panel parents to background panel.
|
||||||
|
for (i = 0, length = MENU_ITEMS.length; i < length; i += 1) {
|
||||||
|
properties = Object.clone(UI_ELEMENTS[MENU_ITEMS[i].type].properties);
|
||||||
|
properties = Object.merge(properties, MENU_ITEMS[i].properties);
|
||||||
|
properties.parentID = parentID;
|
||||||
|
menuOverlays.push(Overlays.addOverlay(UI_ELEMENTS[MENU_ITEMS[i].type].overlay, properties));
|
||||||
|
if (MENU_ITEMS[i].label) {
|
||||||
|
properties = Object.clone(UI_ELEMENTS.label.properties);
|
||||||
|
properties.text = MENU_ITEMS[i].label;
|
||||||
|
properties.parentID = menuOverlays[menuOverlays.length - 1];
|
||||||
|
Overlays.addOverlay(UI_ELEMENTS.label.overlay, properties);
|
||||||
|
}
|
||||||
|
parentID = menuOverlays[0]; // Menu buttons parent to menu panel.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeMenu() {
|
||||||
var i,
|
var i,
|
||||||
length;
|
length;
|
||||||
|
|
||||||
Overlays.editOverlay(highlightOverlay, {
|
Overlays.editOverlay(highlightOverlay, {
|
||||||
parentID: menuOriginOverlay
|
parentID: menuOriginOverlay
|
||||||
});
|
});
|
||||||
|
|
||||||
|
for (i = 0, length = menuOverlays.length; i < length; i += 1) {
|
||||||
|
Overlays.deleteOverlay(menuOverlays[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
menuOverlays = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeOptions() {
|
||||||
|
var i,
|
||||||
|
length;
|
||||||
|
|
||||||
|
// Remove options items.
|
||||||
|
Overlays.editOverlay(highlightOverlay, {
|
||||||
|
parentID: menuOriginOverlay
|
||||||
|
});
|
||||||
|
|
||||||
for (i = 0, length = optionsOverlays.length; i < length; i += 1) {
|
for (i = 0, length = optionsOverlays.length; i < length; i += 1) {
|
||||||
Overlays.deleteOverlay(optionsOverlays[i]);
|
Overlays.deleteOverlay(optionsOverlays[i]);
|
||||||
}
|
}
|
||||||
|
@ -932,6 +971,9 @@ ToolMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
|
||||||
optionsItems = null;
|
optionsItems = null;
|
||||||
|
|
||||||
isPicklistOpen = false;
|
isPicklistOpen = false;
|
||||||
|
|
||||||
|
// Display menu items.
|
||||||
|
openMenu(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function openOptions(toolOptions) {
|
function openOptions(toolOptions) {
|
||||||
|
@ -947,15 +989,15 @@ ToolMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
|
||||||
i,
|
i,
|
||||||
length;
|
length;
|
||||||
|
|
||||||
// Close current panel, if any.
|
// Remove menu items.
|
||||||
closeOptions();
|
closeMenu();
|
||||||
|
|
||||||
// TODO: Remove once all tools have an options panel.
|
// TODO: Remove once all tools have an options panel.
|
||||||
if (OPTONS_PANELS[toolOptions] === undefined) {
|
if (OPTONS_PANELS[toolOptions] === undefined) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open specified panel.
|
// Open specified options panel.
|
||||||
optionsItems = OPTONS_PANELS[toolOptions];
|
optionsItems = OPTONS_PANELS[toolOptions];
|
||||||
parentID = menuPanelOverlay; // Menu panel parents to background panel.
|
parentID = menuPanelOverlay; // Menu panel parents to background panel.
|
||||||
for (i = 0, length = optionsItems.length; i < length; i += 1) {
|
for (i = 0, length = optionsItems.length; i < length; i += 1) {
|
||||||
|
@ -1815,7 +1857,6 @@ ToolMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
|
||||||
// Creates and shows menu entities.
|
// Creates and shows menu entities.
|
||||||
var handJointIndex,
|
var handJointIndex,
|
||||||
properties,
|
properties,
|
||||||
parentID,
|
|
||||||
id,
|
id,
|
||||||
i,
|
i,
|
||||||
length;
|
length;
|
||||||
|
@ -1845,20 +1886,7 @@ ToolMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
|
||||||
menuPanelOverlay = Overlays.addOverlay("cube", properties);
|
menuPanelOverlay = Overlays.addOverlay("cube", properties);
|
||||||
|
|
||||||
// Menu items.
|
// Menu items.
|
||||||
parentID = menuPanelOverlay; // Menu panel parents to background panel.
|
openMenu();
|
||||||
for (i = 0, length = MENU_ITEMS.length; i < length; i += 1) {
|
|
||||||
properties = Object.clone(UI_ELEMENTS[MENU_ITEMS[i].type].properties);
|
|
||||||
properties = Object.merge(properties, MENU_ITEMS[i].properties);
|
|
||||||
properties.parentID = parentID;
|
|
||||||
menuOverlays.push(Overlays.addOverlay(UI_ELEMENTS[MENU_ITEMS[i].type].overlay, properties));
|
|
||||||
if (MENU_ITEMS[i].label) {
|
|
||||||
properties = Object.clone(UI_ELEMENTS.label.properties);
|
|
||||||
properties.text = MENU_ITEMS[i].label;
|
|
||||||
properties.parentID = menuOverlays[menuOverlays.length - 1];
|
|
||||||
Overlays.addOverlay(UI_ELEMENTS.label.overlay, properties);
|
|
||||||
}
|
|
||||||
parentID = menuOverlays[0]; // Menu buttons parent to menu panel.
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prepare highlight overlay.
|
// Prepare highlight overlay.
|
||||||
properties = Object.clone(HIGHLIGHT_PROPERTIES);
|
properties = Object.clone(HIGHLIGHT_PROPERTIES);
|
||||||
|
|
Loading…
Reference in a new issue