Fix up hover state of toggle button after pressing

This commit is contained in:
David Rowe 2017-08-31 10:54:20 +12:00
parent 59505b4334
commit e8af4bdb2d

View file

@ -318,8 +318,8 @@ ToolsMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
}, },
onColor: UIT.colors.greenHighlight, onColor: UIT.colors.greenHighlight,
offColor: UIT.colors.baseGrayShadow, offColor: UIT.colors.baseGrayShadow,
onHighlightColor: UIT.colors.greenShadow, onHoverColor: UIT.colors.greenShadow,
offHighlightColor: UIT.colors.darkGray, offHoverColor: UIT.colors.darkGray,
newLabel: { // TODO: Rename to "label". newLabel: { // TODO: Rename to "label".
// Relative to newToggleButton. // Relative to newToggleButton.
localPosition: { localPosition: {
@ -1830,7 +1830,7 @@ ToolsMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
optionsItems, optionsItems,
intersectionOverlays, intersectionOverlays,
intersectionEnabled, intersectionEnabled,
highlightedItem, highlightedItem, // TODO: Rename this and similar to "hovered".
highlightedItems, highlightedItems,
highlightedSourceOverlays, highlightedSourceOverlays,
highlightedSourceItems, highlightedSourceItems,
@ -2544,8 +2544,8 @@ ToolsMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
index = optionsOverlaysIDs.indexOf("pickColor"); index = optionsOverlaysIDs.indexOf("pickColor");
Overlays.editOverlay(optionsOverlays[index], { Overlays.editOverlay(optionsOverlays[index], {
color: optionsToggles.pickColor color: optionsToggles.pickColor
? UI_ELEMENTS[optionsItems[index].type].onColor ? UI_ELEMENTS[optionsItems[index].type].onHoverColor
: UI_ELEMENTS[optionsItems[index].type].offColor : UI_ELEMENTS[optionsItems[index].type].offHoverColor
}); });
uiCommandCallback("pickColorTool", optionsToggles.pickColor); uiCommandCallback("pickColorTool", optionsToggles.pickColor);
break; break;
@ -2569,7 +2569,9 @@ ToolsMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
Settings.setValue(optionsSettings[parameter].key, value); Settings.setValue(optionsSettings[parameter].key, value);
index = optionsOverlaysIDs.indexOf(parameter); index = optionsOverlaysIDs.indexOf(parameter);
Overlays.editOverlay(optionsOverlays[index], { Overlays.editOverlay(optionsOverlays[index], {
color: value ? UI_ELEMENTS[optionsItems[index].type].onColor : UI_ELEMENTS[optionsItems[index].type].offColor color: value
? UI_ELEMENTS[optionsItems[index].type].onHoverColor
: UI_ELEMENTS[optionsItems[index].type].offHoverColor
}); });
properties = Object.clone(value ? optionsItems[index].onSublabel : optionsItems[index].offSublabel); properties = Object.clone(value ? optionsItems[index].onSublabel : optionsItems[index].offSublabel);
properties.url = Script.resolvePath(properties.url); properties.url = Script.resolvePath(properties.url);
@ -2915,8 +2917,8 @@ ToolsMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
localPosition = intersectionItems[highlightedItem].properties.localPosition; localPosition = intersectionItems[highlightedItem].properties.localPosition;
Overlays.editOverlay(intersectionOverlays[highlightedItem], { Overlays.editOverlay(intersectionOverlays[highlightedItem], {
color: optionsToggles[intersectionItems[highlightedItem].id] color: optionsToggles[intersectionItems[highlightedItem].id]
? UI_ELEMENTS.newToggleButton.onHighlightColor ? UI_ELEMENTS.newToggleButton.onHoverColor
: UI_ELEMENTS.newToggleButton.offHighlightColor, : UI_ELEMENTS.newToggleButton.offHoverColor,
localPosition: Vec3.sum(localPosition, OPTION_HOVER_DELTA) localPosition: Vec3.sum(localPosition, OPTION_HOVER_DELTA)
}); });
} }
@ -3068,7 +3070,9 @@ ToolsMenu = function (side, leftInputs, rightInputs, uiCommandCallback) {
if (pressedItem) { if (pressedItem) {
// Unpress previous button. // Unpress previous button.
Overlays.editOverlay(pressedSource[pressedItem.index], { Overlays.editOverlay(pressedSource[pressedItem.index], {
localPosition: pressedItem.localPosition localPosition: isHighlightingButton && highlightedItem === pressedItem.index
? Vec3.sum(pressedItem.localPosition, OPTION_HOVER_DELTA)
: pressedItem.localPosition
}); });
pressedItem = null; pressedItem = null;
pressedSource = null; pressedSource = null;