From d3200a63838a43f8b7b477ded36ca52a6e6ef85c Mon Sep 17 00:00:00 2001 From: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com> Date: Mon, 27 Mar 2023 12:17:38 -0400 Subject: [PATCH] fix(Volume3DViewport): Added pan and zoom (#3283) --- modes/longitudinal/src/initToolGroups.js | 8 +++++ modes/longitudinal/src/toolbarButtons.js | 40 +++++++++++++----------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/modes/longitudinal/src/initToolGroups.js b/modes/longitudinal/src/initToolGroups.js index 261b37090..6bbe668d2 100644 --- a/modes/longitudinal/src/initToolGroups.js +++ b/modes/longitudinal/src/initToolGroups.js @@ -228,6 +228,14 @@ function initVolume3DToolGroup(extensionManager, toolGroupService) { toolName: toolNames.TrackballRotateTool, bindings: [{ mouseButton: Enums.MouseBindings.Primary }], }, + { + toolName: toolNames.Zoom, + bindings: [{ mouseButton: Enums.MouseBindings.Secondary }], + }, + { + toolName: toolNames.Pan, + bindings: [{ mouseButton: Enums.MouseBindings.Auxiliary }], + }, ], }; diff --git a/modes/longitudinal/src/toolbarButtons.js b/modes/longitudinal/src/toolbarButtons.js index 30b68a761..a2b72cbf1 100644 --- a/modes/longitudinal/src/toolbarButtons.js +++ b/modes/longitudinal/src/toolbarButtons.js @@ -55,6 +55,26 @@ function _createWwwcPreset(preset, title, subtitle) { }; } +const toolGroupIds = ['default', 'mpr', 'SRToolGroup']; + +/** + * Creates an array of 'setToolActive' commands for the given toolName - one for + * each toolGroupId specified in toolGroupIds. + * @param {string} toolName + * @returns {Array} an array of 'setToolActive' commands + */ +function _createSetToolActiveCommands(toolName) { + const temp = toolGroupIds.map(toolGroupId => ({ + commandName: 'setToolActive', + commandOptions: { + toolGroupId, + toolName, + }, + context: 'CORNERSTONE', + })); + return temp; +} + const toolbarButtons = [ // Measurement { @@ -199,15 +219,7 @@ const toolbarButtons = [ type: 'tool', icon: 'tool-zoom', label: 'Zoom', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Zoom', - }, - context: 'CORNERSTONE', - }, - ], + commands: _createSetToolActiveCommands('Zoom'), }, }, // Window Level + Presets... @@ -256,15 +268,7 @@ const toolbarButtons = [ type: 'tool', icon: 'tool-move', label: 'Pan', - commands: [ - { - commandName: 'setToolActive', - commandOptions: { - toolName: 'Pan', - }, - context: 'CORNERSTONE', - }, - ], + commands: _createSetToolActiveCommands('Pan'), }, }, {