[Commits] r2636 - sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets

commits at geoext.org commits at geoext.org
Thu Mar 24 19:42:50 CET 2011


Author: adube
Date: 2011-03-24 19:42:49 +0100 (Thu, 24 Mar 2011)
New Revision: 2636

Modified:
   sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js
Log:
WFSTFeatureEditing - isDrawing flag removed, toggleMainPanelControler

Modified: sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js	2011-03-24 16:06:52 UTC (rev 2635)
+++ sandbox/mapgears/geoext.ux/ux/WFSTFeatureEditing/lib/GeoExt.ux/widgets/WFSTFeatureEditingManager.js	2011-03-24 18:42:49 UTC (rev 2636)
@@ -97,8 +97,6 @@
 
     editMenuButton: null,
 
-    isDrawing: false,
-
     /** private: method[constructor]
      *  Private constructor override.
      */
@@ -139,8 +137,7 @@
             "border": true,
             "width": 300,
             "region": "west",
-            "resizable": true,
-            "collapsible": true
+            "resizable": true
         });
 
         this.featureEditorGridContainer = new Ext.Panel({
@@ -309,27 +306,28 @@
             OpenLayers.Handler.Point;
         var drawControl = new OpenLayers.Control.DrawFeature(layer, handler);
         drawControl.events.on({
-            "activate": function() { this.setVisibility(true); },
-            "deactivate": function() { this.setVisibility(false); },
+            "activate": function() {
+                this.layer.setVisibility(true);
+            },
+            "deactivate": function() { this.layer.setVisibility(false); },
             "featureadded": function(e) {
                 var feature = e.feature;
                 if (feature) {
-                    var layer = feature.layer;
-                    var multiGeom = layer.wfstFeatureEditing.multiGeometry;
+                    var multiGeom = this.layer.wfstFeatureEditing.multiGeometry;
     
                     // if we're dealing with a "MultiGeometry" layer, we
                     // must cast the geometry as "Multi" when the feature
                     // drawing is completed
                     if (multiGeom) {
-                        layer.eraseFeatures([feature]);
+                        this.layer.eraseFeatures([feature]);
                         feature.geometry = new multiGeom(feature.geometry);
                     }
-                    this.wfstFeatureEditing.drawControl.deactivate();
-                    this.wfstFeatureEditing.highlightControl.activate();
-                    this.wfstFeatureEditing.selectControl.select(feature);
+                    this.layer.wfstFeatureEditing.drawControl.deactivate();
+                    this.layer.wfstFeatureEditing.highlightControl.activate();
+                    this.layer.wfstFeatureEditing.selectControl.select(feature);
                 }
             },
-            scope: layer
+            scope: {layer: layer, manager: this}
         });
 
         // create the action, add it to BOTH the toolbar and menu (hidden) to
@@ -353,9 +351,6 @@
             this.drawMenuButton.menu.items.getCount() - 1
         ];
         drawMenuItem.show();
-        drawMenuItem.on("click", function() {
-            this.isDrawing = true;
-        }, this);
 
         layer.wfstFeatureEditing.drawAction = drawAction;
         layer.wfstFeatureEditing.drawControl = drawControl;
@@ -378,10 +373,9 @@
         selectControl.events.on({
             "activate": function() {
                 this.layer.setVisibility(true);
-                this.manager.mainPanelContainer &&
-                    this.manager.mainPanelContainer.expand() &&
-                    this.manager.mainPanelContainer.show();
 
+                this.manager.toggleMainPanelContainer(true);
+
                 this.layer.wfstFeatureEditing.featureGrid.enable();
                 this.manager.featureGridContainer.setActiveTab(
                     this.manager.featureGridContainer.items.items.indexOf(
@@ -452,9 +446,6 @@
             this.editMenuButton.menu.items.getCount() - 1
         ];
         editMenuItem.show();
-        editMenuItem.on("click", function() {
-            this.isDrawing = false;
-        }, this);
 
         layer.wfstFeatureEditing.editAction = editAction;
 
@@ -583,10 +574,6 @@
             layer.wfstFeatureEditing.editorGrid.dirty &&
                 layer.wfstFeatureEditing.editorGrid.cancel();
             this.closeEditing(layer);
-            if (this.isDrawing) {
-                feature.layer.wfstFeatureEditing.highlightControl.deactivate();
-                feature.layer.wfstFeatureEditing.drawControl.activate();
-            }
             if(feature && feature.state === OpenLayers.State.INSERT) {
                 feature.layer && feature.layer.destroyFeatures([feature]);
             }
@@ -620,5 +607,15 @@
     onCommitFail: function(e) {
         // todo : show error message instead
         alert("an error occured");
+    },
+
+    toggleMainPanelContainer: function(display) {
+        if (display) {
+            this.mainPanelContainer.expand();
+            this.mainPanelContainer.show();
+        } else {
+            this.mainPanelContainer.expand();
+            this.mainPanelContainer.show();
+        }
     }
 });



More information about the Commits mailing list