import { OHIF } from 'meteor/ohif:core'; /** * Show / hide lesion tracker tools */ let previousStates; let previousActiveTool; let toolsShown = true; OHIF.lesiontracker.toggleLesionTrackerTools = () => { if (toolsShown === true) { // Save the current settings for later previousStates = toolManager.getToolDefaultStates(); previousActiveTool = toolManager.getActiveTool(); // Hide the tools (set them all to disabled) const toolDefaultStates = { activate: [ 'deleteLesionKeyboardTool' ], deactivate: [], enable: [], disable: [ 'bidirectional', 'nonTarget', 'length', 'crTool', 'unTool', 'exTool' ] }; toolManager.setToolDefaultStates(toolDefaultStates); // Using setActiveTool with no arguments activates the // default tool on all available viewports toolManager.setActiveTool(); toolsShown = false; } else { // Show the tools (reload previous states) toolManager.setToolDefaultStates(previousStates); // Using setActiveTool with no elements specified activates // the specified tool on all available viewports toolManager.setActiveTool(previousActiveTool); toolsShown = true; } }; OHIF.lesiontracker.toggleLesionTrackerToolsButtons = (isEnabled) => { const toolStates = previousStates || toolManager.getToolDefaultStates(); if (isEnabled) { toolStates.disabledToolButtons = []; OHIF.lesiontracker.toggleLesionTrackerToolsHotKeys(true); } else { toolStates.disabledToolButtons = [ 'bidirectional', 'nonTarget', 'crTool', 'unTool', 'exTool', 'toggleHUD', 'toggleTrial', 'toolbarSectionEntry', 'toggleMeasurements' ]; OHIF.lesiontracker.toggleLesionTrackerToolsHotKeys(false); } // Reload the updated previous or default states toolManager.setToolDefaultStates(toolStates); // Reset the active tool if disabled if (!isEnabled) { toolManager.setActiveTool(); } }; OHIF.lesiontracker.toggleLesionTrackerToolsHotKeys = (isEnabled) => { // The hotkey can also be an array (e.g. ["NUMPAD0", "0"]) OHIF.viewer.defaultHotkeys = OHIF.viewer.defaultHotkeys || {}; if (isEnabled) { OHIF.viewer.defaultHotkeys.toggleLesionTrackerTools = 'O'; OHIF.viewer.defaultHotkeys.bidirectional = 'T'; // Target OHIF.viewer.defaultHotkeys.nonTarget = 'N'; // Non-target } else { OHIF.viewer.defaultHotkeys.toggleLesionTrackerTools = null; OHIF.viewer.defaultHotkeys.bidirectional = null; // Target OHIF.viewer.defaultHotkeys.nonTarget = null; // Non-target } };