diff flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java @ 1389:d29a9fa10313

Issue 265. Hide the barrier layer and deactivate draw control on stacksection minimize. flys-client/trunk@3206 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 09 Nov 2011 18:00:12 +0000
parents e2749cc3b7ad
children bc06a671ef60
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java	Wed Nov 09 17:07:36 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java	Wed Nov 09 18:00:12 2011 +0000
@@ -11,6 +11,8 @@
 import com.smartgwt.client.widgets.events.ResizedHandler;
 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
+import com.smartgwt.client.widgets.events.VisibilityChangedHandler;
+import com.smartgwt.client.widgets.events.VisibilityChangedEvent;
 
 import org.gwtopenmaps.openlayers.client.Map;
 import org.gwtopenmaps.openlayers.client.feature.VectorFeature;
@@ -35,12 +37,13 @@
 
 public class DigitizePanel
 extends SelectProvider
-implements TabSelectedHandler {
+implements TabSelectedHandler, VisibilityChangedHandler {
 
     protected MapInfoServiceAsync mapInfo = GWT.create(MapInfoService.class);
 
     protected FloodMap floodMap;
 
+    protected MapPanel mapPanel;
 
     public static final String UESK_BARRIERS = "uesk.barriers";
 
@@ -53,6 +56,8 @@
     public Canvas create(DataList list) {
         List<Data> data = list.getAll();
 
+        helperContainer.addVisibilityChangedHandler(this);
+
         Data barriers = null;
         for (int i = data.size()-1; i >= 0; i--) {
             Data d = data.get(i);
@@ -117,7 +122,7 @@
 
 
     public void createMapWidget(MapInfo mapInfo, String geojson) {
-        final MapPanel mapPanel = new MapPanel(mapInfo, true);
+        mapPanel = new MapPanel(mapInfo, true);
 
         floodMap = mapPanel.getFloodMap();
         Map map  = floodMap.getMap();
@@ -188,5 +193,15 @@
             floodMap.showBarrierLayer();
         }
     }
+
+    public void onVisibilityChanged(VisibilityChangedEvent vce) {
+        if (!vce.getIsVisible()) {
+            floodMap.hideBarrierLayer();
+            mapPanel.getMapToolbar().activateDrawFeature(false);
+        }
+        else {
+            floodMap.showBarrierLayer();
+        }
+    }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org