Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapToolbar.java @ 802:d45ad7fd3027
Added map tools to measure lines and polygons.
flys-client/trunk@2323 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 12 Jul 2011 15:04:50 +0000 |
parents | 95cc560ce7c4 |
children | 1b9b7e9ab219 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapToolbar.java Tue Jul 12 13:44:27 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapToolbar.java Tue Jul 12 15:04:50 2011 +0000 @@ -43,7 +43,8 @@ protected ImgButton selectButton; protected ImgButton removeButton; - protected DrawControl drawControl; + protected DrawControl drawControl; + protected MeasureControl measureControl; protected Canvas position; @@ -70,6 +71,7 @@ drawControl = createDrawControl(); selectButton = createSelectFeatureControl(); removeButton = createRemoveFeatureControl(); + measureControl = createMeasureControl(); addMember(zoomToMaxButton); addMember(zoomBoxButton); @@ -78,6 +80,7 @@ addMember(drawControl); addMember(selectButton); addMember(removeButton); + addMember(measureControl); addMember(spacer); addMember(position); } @@ -129,6 +132,11 @@ } + protected void activateMeasureControl(boolean activate) { + measureControl.activate(activate); + } + + protected ImgButton createButton(String img, ClickHandler handler) { ImgButton btn = new ImgButton(); @@ -198,6 +206,7 @@ activatePan(false); activateDrawFeature(false); activateSelectFeature(false); + activateMeasureControl(false); } public void disable() { @@ -239,6 +248,7 @@ activatePan(true); activateDrawFeature(false); activateSelectFeature(false); + activateMeasureControl(false); } public void disable() { @@ -259,6 +269,7 @@ activatePan(false); activateDrawFeature(true); activateSelectFeature(false); + activateMeasureControl(false); } public void disable() { @@ -302,6 +313,7 @@ activatePan(false); activateZoomBox(false); activateSelectFeature(true); + activateMeasureControl(false); } public void disable() { @@ -346,5 +358,23 @@ protected Canvas createMousePosition(Canvas mapWrapper) { return new MapPositionPanel(floodMap.getMapWidget(), mapWrapper); } + + + protected MeasureControl createMeasureControl() { + EnableDisableCmd cmd = new EnableDisableCmd() { + public void enable() { + activateDrawFeature(false); + activatePan(false); + activateZoomBox(false); + activateSelectFeature(false); + } + + public void disable() { + // do nothing + } + }; + + return new MeasureControl(floodMap, cmd); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :