From ac8976bdb9e24484b6296f618537c21233f0ed9b Mon Sep 17 00:00:00 2001 From: ivmartel Date: Wed, 18 Nov 2015 23:41:25 +0100 Subject: [PATCH] Connected view listeners with the app ones. Renamed them. Fixes #185. --- src/app/application.js | 36 ++++++++++++++++++++--------------- src/image/view.js | 10 +++++----- tests/image/view.test.js | 8 ++++---- viewers/mobile/applauncher.js | 15 ++++++++++----- 4 files changed, 40 insertions(+), 29 deletions(-) diff --git a/src/app/application.js b/src/app/application.js index 4e55eaab14..28985d6c88 100644 --- a/src/app/application.js +++ b/src/app/application.js @@ -376,7 +376,7 @@ dwv.App = function () var onLoadEnd = function (/*event*/) { loadStateUrl([query.state]); }; - this.addEventListener( "onloadend", onLoadEnd ); + this.addEventListener( "load-end", onLoadEnd ); } } @@ -587,7 +587,7 @@ dwv.App = function () } }; urlIO.onerror = function (error) { handleError(error); }; - urlIO.onloadend = function (/*event*/) { fireEvent({ 'type': 'onloadend' }); }; + urlIO.onloadend = function (/*event*/) { fireEvent({ 'type': 'load-end' }); }; // main load (asynchronous) urlIO.load(urls); }; @@ -1161,11 +1161,11 @@ dwv.App = function () */ function addImageInfoListeners() { - view.addEventListener("wlchange", windowingInfo.update); - view.addEventListener("wlchange", miniColourMap.update); - view.addEventListener("wlchange", plotInfo.update); - view.addEventListener("colourchange", miniColourMap.update); - view.addEventListener("positionchange", positionInfo.update); + view.addEventListener("wl-change", windowingInfo.update); + view.addEventListener("wl-change", miniColourMap.update); + view.addEventListener("wl-change", plotInfo.update); + view.addEventListener("colour-change", miniColourMap.update); + view.addEventListener("position-change", positionInfo.update); isInfoLayerListening = true; } @@ -1176,11 +1176,11 @@ dwv.App = function () */ function removeImageInfoListeners() { - view.removeEventListener("wlchange", windowingInfo.update); - view.removeEventListener("wlchange", miniColourMap.update); - view.removeEventListener("wlchange", plotInfo.update); - view.removeEventListener("colourchange", miniColourMap.update); - view.removeEventListener("positionchange", positionInfo.update); + view.removeEventListener("wl-change", windowingInfo.update); + view.removeEventListener("wl-change", miniColourMap.update); + view.removeEventListener("wl-change", plotInfo.update); + view.removeEventListener("colour-change", miniColourMap.update); + view.removeEventListener("position-change", positionInfo.update); isInfoLayerListening = false; } @@ -1407,9 +1407,15 @@ dwv.App = function () dataWidth, dataHeight); // image listeners - view.addEventListener("wlchange", self.onWLChange); - view.addEventListener("colourchange", self.onColourChange); - view.addEventListener("slicechange", self.onSliceChange); + view.addEventListener("wl-change", self.onWLChange); + view.addEventListener("colour-change", self.onColourChange); + view.addEventListener("slice-change", self.onSliceChange); + + // connect with local listeners + view.addEventListener("wl-change", fireEvent); + view.addEventListener("colour-change", fireEvent); + view.addEventListener("position-change", fireEvent); + view.addEventListener("slice-change", fireEvent); // update presets with loaded image (used in w/l tool) viewController.updatePresets(image, true); diff --git a/src/image/view.js b/src/image/view.js index 72e9b63b31..f3f428217f 100644 --- a/src/image/view.js +++ b/src/image/view.js @@ -138,7 +138,7 @@ dwv.image.View = function(image, isSigned) if( this.getImage().getPhotometricInterpretation() === "MONOCHROME1") { colourMap = dwv.image.lut.invPlain; } - this.fireEvent({"type": "colourchange", + this.fireEvent({"type": "colour-change", "wc": this.getWindowLut().getCenter(), "ww": this.getWindowLut().getWidth() }); }; @@ -173,18 +173,18 @@ dwv.image.View = function(image, isSigned) // only display value for monochrome data if( image.getPhotometricInterpretation().match(/MONOCHROME/) !== null ) { - this.fireEvent({"type": "positionchange", + this.fireEvent({"type": "position-change", "i": pos.i, "j": pos.j, "k": pos.k, "value": image.getRescaledValue(pos.i,pos.j,pos.k)}); } else { - this.fireEvent({"type": "positionchange", + this.fireEvent({"type": "position-change", "i": pos.i, "j": pos.j, "k": pos.k}); } // slice change event (used to trigger redraw) if( oldPosition.k !== currentPosition.k ) { - this.fireEvent({"type": "slicechange"}); + this.fireEvent({"type": "slice-change"}); } return true; }; @@ -216,7 +216,7 @@ dwv.image.View = function(image, isSigned) for ( var key in windowLuts ) { windowLuts[key].setCenterAndWidth(center, width); } - this.fireEvent({"type": "wlchange", "wc": center, "ww": width }); + this.fireEvent({"type": "wl-change", "wc": center, "ww": width }); } }; diff --git a/tests/image/view.test.js b/tests/image/view.test.js index e8a76805eb..7659cd0009 100644 --- a/tests/image/view.test.js +++ b/tests/image/view.test.js @@ -29,14 +29,14 @@ QUnit.test("Test listeners.", function (assert) { assert.equal( event.ww, 1, "Expected call to listener2."); }; // with two listeners - view0.addEventListener("wlchange", listener1 ); - view0.addEventListener("wlchange", listener2 ); + view0.addEventListener("wl-change", listener1 ); + view0.addEventListener("wl-change", listener2 ); view0.setWindowLevel(0,1); // without listener2 - view0.removeEventListener("wlchange", listener2 ); + view0.removeEventListener("wl-change", listener2 ); view0.setWindowLevel(0,2); // without listener1 - view0.removeEventListener("wlchange", listener1 ); + view0.removeEventListener("wl-change", listener1 ); view0.setWindowLevel(1,1); }); diff --git a/viewers/mobile/applauncher.js b/viewers/mobile/applauncher.js index b42d1e784d..8dc89ac907 100644 --- a/viewers/mobile/applauncher.js +++ b/viewers/mobile/applauncher.js @@ -22,11 +22,16 @@ $(document).ready( function() }); // example app listening - /*var consoleFunc = function (event) { console.log("event: "+event.type); }; - myapp.addEventListener("draw-create", consoleFunc); - myapp.addEventListener("draw-move", consoleFunc); - myapp.addEventListener("draw-change", consoleFunc); - myapp.addEventListener("draw-delete", consoleFunc);*/ + //var listener = function (event) { console.log("event: "+event.type); }; + //myapp.addEventListener("load-end", listener); + //myapp.addEventListener("draw-create", listener); + //myapp.addEventListener("draw-move", listener); + //myapp.addEventListener("draw-change", listener); + //myapp.addEventListener("draw-delete", listener); + //myapp.addEventListener("wl-change", listener); + //myapp.addEventListener("colour-change", listener); + //myapp.addEventListener("position-change", listener); + //myapp.addEventListener("slice-change", listener); var size = dwv.gui.getWindowSize(); $(".layerContainer").height(size.height);