From 9a7a2051e1821782d3352eab18c88bdfe64d99f1 Mon Sep 17 00:00:00 2001 From: "Emanuel F. Oliveira" Date: Wed, 25 Jan 2017 11:49:30 -0200 Subject: [PATCH] Moving latest changes from Nucleus viewer back to OHIF Viewers --- .../viewer/cineDialog/cineDialog.js | 21 +++++++++++++++---- .../textMarkerDialogs/textMarkerDialogs.styl | 4 +++- .../ohif-viewerbase/client/lib/toolManager.js | 6 ++++-- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Packages/ohif-viewerbase/client/components/viewer/cineDialog/cineDialog.js b/Packages/ohif-viewerbase/client/components/viewer/cineDialog/cineDialog.js index b0525e6c0..d26905d04 100644 --- a/Packages/ohif-viewerbase/client/components/viewer/cineDialog/cineDialog.js +++ b/Packages/ohif-viewerbase/client/components/viewer/cineDialog/cineDialog.js @@ -42,10 +42,20 @@ Template.cineDialog.onCreated(() => { return; } + let playClipData = cornerstoneTools.getToolState(element, 'playClip'); + if (!playClipData || !playClipData.data || !playClipData.data.length) { + return; + } + + // A valid playClip data object is available. + playClipData = playClipData.data[0]; + // If the movie is playing, stop/start to update the framerate - if (viewportUtils.isPlaying()) { + if (playClipData.intervalId !== void 0) { cornerstoneTools.stopClip(element); cornerstoneTools.playClip(element, OHIF.viewer.cine.framesPerSecond); + } else { + playClipData.framesPerSecond = OHIF.viewer.cine.framesPerSecond; } Session.set('UpdateCINE', Random.id()); @@ -250,9 +260,12 @@ Template.cineDialog.onDestroyed(() => { Template.cineDialog.events({ 'change [data-key=loop] input'(event, instance) { const element = viewportUtils.getActiveViewportElement(); - const playClipToolData = cornerstoneTools.getToolState(element, 'playClip'); - playClipToolData.data[0].loop = $(event.currentTarget).is(':checked'); - OHIF.viewer.cine.loop = playClipToolData.data[0].loop; + OHIF.viewer.cine.loop = $(event.currentTarget).is(':checked'); + // Update playClip tool data if available. + let playClipData = cornerstoneTools.getToolState(element, 'playClip'); + if (playClipData && playClipData.data && playClipData.data.length > 0) { + playClipData.data[0].loop = OHIF.viewer.cine.loop; + } }, 'input [data-key=framesPerSecond] input'(event, instance) { diff --git a/Packages/ohif-viewerbase/client/components/viewer/textMarkerDialogs/textMarkerDialogs.styl b/Packages/ohif-viewerbase/client/components/viewer/textMarkerDialogs/textMarkerDialogs.styl index d274186d0..60ed22579 100644 --- a/Packages/ohif-viewerbase/client/components/viewer/textMarkerDialogs/textMarkerDialogs.styl +++ b/Packages/ohif-viewerbase/client/components/viewer/textMarkerDialogs/textMarkerDialogs.styl @@ -96,7 +96,9 @@ .optionsDiv padding-top: 10px - +//Avoids Cine Play and Text Marker dialog to overlap +#textMarkerOptionsDialog[open='open'] ~ #cineDialog[open='open'] + bottom: 90px .relabelButtons text-align:right diff --git a/Packages/ohif-viewerbase/client/lib/toolManager.js b/Packages/ohif-viewerbase/client/lib/toolManager.js index 0fb3e146c..3d5269b8a 100644 --- a/Packages/ohif-viewerbase/client/lib/toolManager.js +++ b/Packages/ohif-viewerbase/client/lib/toolManager.js @@ -7,8 +7,8 @@ import { crosshairsSynchronizers } from './crosshairsSynchronizers'; import { annotateTextUtils } from './annotateTextUtils'; import { textMarkerUtils } from './textMarkerUtils'; -let activeTool = 'wwwc'; let defaultTool = 'wwwc'; +let activeTool; let tools = {}; @@ -112,8 +112,10 @@ export const toolManager = { touch: cornerstoneTools.crosshairsTouch }); + // if a default tool is globally defined, make it the default tool... if (OHIF.viewer.defaultTool) { - activeTool = OHIF.viewer.defaultTool; + defaultTool = OHIF.viewer.defaultTool; + activeTool = defaultTool; } this.configureTools();