diff --git a/Packages/lesiontracker/compatibility/lesionTool.js b/Packages/lesiontracker/compatibility/lesionTool.js index 720e242aa..fe7e91e63 100644 --- a/Packages/lesiontracker/compatibility/lesionTool.js +++ b/Packages/lesiontracker/compatibility/lesionTool.js @@ -70,6 +70,45 @@ var cornerstoneTools = (function($, cornerstone, cornerstoneMath, cornerstoneToo }); } + function addNewMeasurementTouch(touchEventData) { + var element = touchEventData.element; + + function doneCallback(lesionNumber) { + measurementData.lesionName = "Target " + lesionNumber; + measurementData.lesionNumber = lesionNumber; + measurementData.active = false; + cornerstone.updateImage(element); + } + + var measurementData = createNewMeasurement(touchEventData); + + // associate this data with this imageId so we can render it and manipulate it + cornerstoneTools.addToolState(element, toolType, measurementData); + + // since we are dragging to another place to drop the end point, we can just activate + // the end point and let the moveHandle move it for us. + $(element).off('CornerstoneToolsTouchDrag', cornerstoneTools.lesion.touchMoveHandle); + $(element).off('CornerstoneToolsTap', cornerstoneTools.lesion.tapCallback); + $(element).off('CornerstoneToolsDragStartActive', cornerstoneTools.lesion.touchDownActivateCallback); + + cornerstone.updateImage(element); + cornerstoneTools.moveNewHandleTouch(touchEventData, measurementData.handles.end, function() { + if (cornerstoneTools.anyHandlesOutsideImage(touchEventData, measurementData.handles)) { + // delete the measurement + cornerstoneTools.removeToolState(element, toolType, measurementData); + } else { + // Set lesionMeasurementData Session + var config = cornerstoneTools.lesion.getConfiguration(); + config.getLesionLocationCallback(measurementData, touchEventData, doneCallback); + } + + $(element).on('CornerstoneToolsTouchDrag', cornerstoneTools.lesion.touchMoveHandle); + $(element).on('CornerstoneToolsTap', cornerstoneTools.lesion.tapCallback); + $(element).on('CornerstoneToolsDragStartActive', cornerstoneTools.lesion.touchDownActivateCallback); + cornerstone.updateImage(element); + }); + } + function createNewMeasurement(mouseEventData) { // Create the measurement data for this tool with the end handle activated var measurementData = { @@ -356,7 +395,7 @@ var cornerstoneTools = (function($, cornerstone, cornerstoneMath, cornerstoneToo cornerstoneTools.lesionTouch = cornerstoneTools.touchTool({ createNewMeasurement: createNewMeasurement, - //addNewMeasurement: addNewMeasurementTouch, + addNewMeasurement: addNewMeasurementTouch, onImageRendered: onImageRendered, pointNearTool: pointNearTool, toolType: toolType diff --git a/Packages/lesiontracker/compatibility/nonTargetTool.js b/Packages/lesiontracker/compatibility/nonTargetTool.js index 01a32d801..b609b6a22 100644 --- a/Packages/lesiontracker/compatibility/nonTargetTool.js +++ b/Packages/lesiontracker/compatibility/nonTargetTool.js @@ -292,7 +292,7 @@ var measurementData = createNewMeasurement(touchEventData); cornerstoneTools.addToolState(element, toolType, measurementData); - $(element).off('CornerstoneToolsTouchDrag', cornerstoneTools.nonTargetTouch.touchMoveCallback); + $(element).off('CornerstoneToolsTouchDrag', cornerstoneTools.nonTargetTouch.touchMoveHandle); $(element).off('CornerstoneToolsDragStartActive', cornerstoneTools.nonTargetTouch.touchDownActivateCallback); $(element).off('CornerstoneToolsTap', cornerstoneTools.nonTargetTouch.tapCallback); var config = cornerstoneTools.nonTarget.getConfiguration(); @@ -314,7 +314,7 @@ config.getNonTargetLesionLocationCallback(measurementData, touchEventData, doneCallback); - $(element).on('CornerstoneToolsTouchDrag', cornerstoneTools.nonTargetTouch.touchMoveCallback); + $(element).on('CornerstoneToolsTouchDrag', cornerstoneTools.nonTargetTouch.touchMoveHandle); $(element).on('CornerstoneToolsDragStartActive', cornerstoneTools.nonTargetTouch.touchDownActivateCallback); $(element).on('CornerstoneToolsTap', cornerstoneTools.nonTargetTouch.tapCallback); });