[fusion-commits] r1721 - in trunk: layers/MapGuide lib

svn_fusion at osgeo.org svn_fusion at osgeo.org
Thu Dec 18 14:51:54 EST 2008


Author: pagameba
Date: 2008-12-18 14:51:54 -0500 (Thu, 18 Dec 2008)
New Revision: 1721

Modified:
   trunk/layers/MapGuide/MapGuideViewerApi.js
   trunk/lib/CanvasTool.js
   trunk/lib/fusion.js
Log:
Fixes #198.  Modify inheritFrom to only call initialize if the method exists.  Put the initializeCanvas method back in CanvasTool.  Add widget deactivation during digitizing to the viewer API.

Modified: trunk/layers/MapGuide/MapGuideViewerApi.js
===================================================================
--- trunk/layers/MapGuide/MapGuideViewerApi.js	2008-12-18 19:08:14 UTC (rev 1720)
+++ trunk/layers/MapGuide/MapGuideViewerApi.js	2008-12-18 19:51:54 UTC (rev 1721)
@@ -60,7 +60,13 @@
       var digitizer = new Fusion.Tool.Canvas.Point(mapWidget);
       digitizer.mouseUp = PointHandlers.prototype.mouseUp;
       Object.inheritFrom(digitizer, Fusion.Tool.Canvas.prototype, []);
-      digitizer.handler = handler;
+      digitizer.initializeCanvas();
+      var activeWidget = mapWidget.buttonSet.activeButton;
+      mapWidget.buttonSet.setActiveButton(null);
+      digitizer.handler = function() {
+          handler.apply(null, arguments);
+          activeWidget.setActive(true);
+      }
       digitizer.activateCanvas();
       
       //add a listener to update the position of the features
@@ -83,7 +89,13 @@
       digitizer.mouseDown = LineHandlers.prototype.mouseDown;
       digitizer.mouseMove = LineHandlers.prototype.mouseMove;
       Object.inheritFrom(digitizer, Fusion.Tool.Canvas.prototype, []);
-      digitizer.handler = handler;
+      digitizer.initializeCanvas();
+      var activeWidget = mapWidget.buttonSet.activeButton;
+      mapWidget.buttonSet.setActiveButton(null);
+      digitizer.handler = function() {
+          handler.apply(null, arguments);
+          activeWidget.setActive(true);
+      }
       digitizer.activateCanvas();
       
       //add a listener to update the position of the features
@@ -107,7 +119,13 @@
       digitizer.mouseMove = MultiPointHandlers.prototype.mouseMove;
       digitizer.dblClick = MultiPointHandlers.prototype.dblClick;
       Object.inheritFrom(digitizer, Fusion.Tool.Canvas.prototype, []);
-      digitizer.handler = handler;
+      digitizer.initializeCanvas();
+      var activeWidget = mapWidget.buttonSet.activeButton;
+      mapWidget.buttonSet.setActiveButton(null);
+      digitizer.handler = function() {
+          handler.apply(null, arguments);
+          activeWidget.setActive(true);
+      }
       digitizer.activateCanvas();
       
       //add a listener to update the position of the features
@@ -130,7 +148,13 @@
       digitizer.mouseDown = RectangleHandlers.prototype.mouseDown;
       digitizer.mouseMove = RectangleHandlers.prototype.mouseMove;
       Object.inheritFrom(digitizer, Fusion.Tool.Canvas.prototype, []);
-      digitizer.handler = handler;
+      digitizer.initializeCanvas();
+      var activeWidget = mapWidget.buttonSet.activeButton;
+      mapWidget.buttonSet.setActiveButton(null);
+      digitizer.handler = function() {
+          handler.apply(null, arguments);
+          activeWidget.setActive(true);
+      }
       digitizer.activateCanvas();
       
       //add a listener to update the position of the features
@@ -154,7 +178,13 @@
       digitizer.mouseMove = MultiPointHandlers.prototype.mouseMove;
       digitizer.dblClick = MultiPointHandlers.prototype.dblClick;
       Object.inheritFrom(digitizer, Fusion.Tool.Canvas.prototype, []);
-      digitizer.handler = handler;
+      digitizer.initializeCanvas();
+      var activeWidget = mapWidget.buttonSet.activeButton;
+      mapWidget.buttonSet.setActiveButton(null);
+      digitizer.handler = function() {
+          handler.apply(null, arguments);
+          activeWidget.setActive(true);
+      }
       digitizer.activateCanvas();
       
       //add a listener to update the position of the features

Modified: trunk/lib/CanvasTool.js
===================================================================
--- trunk/lib/CanvasTool.js	2008-12-18 19:08:14 UTC (rev 1720)
+++ trunk/lib/CanvasTool.js	2008-12-18 19:51:54 UTC (rev 1721)
@@ -35,7 +35,7 @@
     width: null,
     height: null,
     
-    initialize: function() {
+    initializeCanvas: function() {
         this.context = null;
         this.canvas = null;
         this.width = null;

Modified: trunk/lib/fusion.js
===================================================================
--- trunk/lib/fusion.js	2008-12-18 19:08:14 UTC (rev 1720)
+++ trunk/lib/fusion.js	2008-12-18 19:51:54 UTC (rev 1721)
@@ -49,7 +49,9 @@
             destination[property] = parent[property];
         }
     }
-    parent.initialize.apply(destination, args);
+    if (parent.initialize) {
+        parent.initialize.apply(destination, args);
+    }
 };
 
 (function() {



More information about the fusion-commits mailing list