Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/map/MapToolbar.java @ 2469:505e68d8d131
Take care on nullpointers in the MapToolbar because the info button is not always enabled.
flys-client/trunk@4184 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 30 Mar 2012 06:26:30 +0000 |
parents | 0235cdb62c98 |
children | a1ff911e8365 |
rev | line source |
---|---|
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.map; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
5 import com.smartgwt.client.types.Alignment; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import com.smartgwt.client.types.SelectionType; |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
7 import com.smartgwt.client.util.SC; |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
8 import com.smartgwt.client.widgets.Button; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
9 import com.smartgwt.client.widgets.Canvas; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.ImgButton; |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
11 import com.smartgwt.client.widgets.Label; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.widgets.events.ClickEvent; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.events.ClickHandler; |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.HLayout; |
2452
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
15 import com.smartgwt.client.widgets.events.ResizedEvent; |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
16 import com.smartgwt.client.widgets.events.ResizedHandler; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import org.gwtopenmaps.openlayers.client.Map; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import org.gwtopenmaps.openlayers.client.control.DragPan; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
20 import org.gwtopenmaps.openlayers.client.control.SelectFeature; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
21 import org.gwtopenmaps.openlayers.client.control.SelectFeatureOptions; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import org.gwtopenmaps.openlayers.client.control.ZoomBox; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
23 import org.gwtopenmaps.openlayers.client.feature.VectorFeature; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
24 import org.gwtopenmaps.openlayers.client.layer.Vector; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
25 import org.gwtopenmaps.openlayers.client.util.Attributes; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.flys.client.client.FLYSConstants; |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
28 import de.intevation.flys.client.client.ui.Toolbar; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
29 import de.intevation.flys.client.client.utils.EnableDisableCmd; |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
30 import de.intevation.flys.client.shared.model.ThemeList; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 /** |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 */ |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
36 public class MapToolbar extends Toolbar { |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
40 protected FloodMap floodMap; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
41 protected DragPan pan; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
42 protected ZoomBox zoomBox; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
43 protected SelectFeature selectFeature; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
44 protected GetFeatureInfo getFeatureInfo; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
46 protected Button datacageButton; |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
47 |
1406
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
48 protected ImgButton addWMSButton; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 protected ImgButton zoomToMaxButton; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 protected ImgButton zoomBoxButton; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 protected ImgButton zoomOutButton; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 protected ImgButton panButton; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
53 protected ImgButton selectButton; |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
54 protected ImgButton infoButton; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
55 protected ImgButton removeButton; |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
56 protected ImgButton elevationButton; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
57 |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
58 protected Label epsgLabel; |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
59 |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
60 protected DrawControl drawControl; |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
61 protected MeasureControl measureControl; |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
62 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
63 protected Canvas position; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 |
1386
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1364
diff
changeset
|
66 public MapToolbar(MapOutputTab mapTab, FloodMap floodMap) { |
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1364
diff
changeset
|
67 this(mapTab, floodMap, true); |
833
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
68 } |
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
69 |
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
70 |
1386
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1364
diff
changeset
|
71 public MapToolbar(FloodMap floodMap, boolean digitize) { |
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1364
diff
changeset
|
72 this(null, floodMap, digitize); |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
73 } |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
74 |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
75 |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
76 public MapToolbar( |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
77 MapOutputTab mapTab, |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
78 FloodMap floodMap, |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
79 boolean digitize) |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
80 { |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
81 super(mapTab); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 setWidth100(); |
2452
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
84 setHeight(38); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 setMembersMargin(10); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 setPadding(5); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 setBorder("1px solid black"); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 this.floodMap = floodMap; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 zoomToMaxButton = createMaxExtentControl(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 zoomBoxButton = createZoomBoxControl(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 zoomOutButton = createZoomOutControl(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 panButton = createPanControl(); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
94 drawControl = createDrawControl(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
95 selectButton = createSelectFeatureControl(); |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
96 infoButton = createGetFeatureInfo(); |
833
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
97 measureControl = createMeasureControl(); |
1386
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1364
diff
changeset
|
98 position = createMousePosition(); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
99 removeButton = createRemoveFeatureControl(); |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
100 elevationButton = createElevationControl(); |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
101 epsgLabel = createEPSGLabel(); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
103 if (mapTab != null) { |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
104 datacageButton = createDatacageControl(); |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
105 addMember(datacageButton); |
1406
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
106 |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
107 addWMSButton = createWMSControl(); |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
108 addMember(addWMSButton); |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
109 } |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
110 |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 addMember(zoomToMaxButton); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 addMember(zoomBoxButton); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 addMember(zoomOutButton); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 addMember(panButton); |
833
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
115 |
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
116 if (digitize) { |
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
117 addMember(drawControl); |
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
118 addMember(selectButton); |
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
119 addMember(removeButton); |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
120 addMember(elevationButton); |
833
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
121 } |
dcecdd9693a8
Added a UIProvider that displays a combobox on the left and a map widget in the helper container.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
825
diff
changeset
|
122 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
123 if (infoButton != null) { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
124 addMember(infoButton); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
125 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
126 |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
127 addMember(measureControl); |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
128 addMember(createRightPanel()); |
2452
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
129 |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
130 addResizedHandler(new ResizedHandler() { |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
131 public void onResized(ResizedEvent e) { |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
132 if (getVisibleWidth() < 656) { |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
133 setHeight(55); |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
134 } |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
135 else { |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
136 setHeight(38); |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
137 } |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
138 } |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
139 }); |
0235cdb62c98
Issue 563.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2449
diff
changeset
|
140 |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
141 } |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
142 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
143 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
144 protected HLayout createRightPanel() { |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
145 HLayout right = new HLayout(); |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
146 right.setAlign(Alignment.RIGHT); |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
147 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
148 right.addMember(epsgLabel); |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
149 right.addMember(position); |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
150 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
151 return right; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 protected Map getMap() { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 return floodMap.getMap(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 protected void activatePan(boolean activate) { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
161 if (activate) { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 panButton.select(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 pan.activate(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 else { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 panButton.deselect(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 pan.deactivate(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 protected void activateZoomBox(boolean activate) { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
173 if (activate) { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 zoomBoxButton.select(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
175 zoomBox.activate(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
177 else { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
178 zoomBoxButton.deselect(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
179 zoomBox.deactivate(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
180 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
181 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
182 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 |
1389
d29a9fa10313
Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1386
diff
changeset
|
184 public void activateDrawFeature(boolean activate) { |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
185 drawControl.activate(activate); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
186 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
187 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
188 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
189 protected void activateSelectFeature(boolean activate) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
190 if (activate) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
191 selectButton.select(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
192 selectFeature.activate(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
193 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
194 else { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
195 selectButton.deselect(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
196 selectFeature.deactivate(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
197 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
198 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
199 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
200 |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
201 protected void activateMeasureControl(boolean activate) { |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
202 measureControl.activate(activate); |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
203 } |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
204 |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
205 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
206 protected void activateGetFeatureInfo(boolean activate) { |
2469
505e68d8d131
Take care on nullpointers in the MapToolbar because the info button is not always enabled.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2452
diff
changeset
|
207 if (infoButton == null) { |
505e68d8d131
Take care on nullpointers in the MapToolbar because the info button is not always enabled.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2452
diff
changeset
|
208 return; |
505e68d8d131
Take care on nullpointers in the MapToolbar because the info button is not always enabled.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2452
diff
changeset
|
209 } |
505e68d8d131
Take care on nullpointers in the MapToolbar because the info button is not always enabled.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2452
diff
changeset
|
210 |
2447
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
211 if (activate) { |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
212 infoButton.select(); |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
213 } |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
214 else { |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
215 infoButton.deselect(); |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
216 } |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
217 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
218 getFeatureInfo.activate(activate); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
219 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
220 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
221 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
222 protected ImgButton createButton(String img, ClickHandler handler) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
223 ImgButton btn = new ImgButton(); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
224 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
225 String baseUrl = GWT.getHostPageBaseURL(); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
226 btn.setSrc(baseUrl + img); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
227 btn.setWidth(20); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
228 btn.setHeight(20); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
229 btn.setShowDown(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
230 btn.setShowRollOver(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
231 btn.setShowDisabled(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
232 btn.setShowDisabledIcon(true); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
233 btn.setShowDownIcon(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
234 btn.setShowFocusedIcon(false); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
236 if (handler != null) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
237 btn.addClickHandler(handler); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
238 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
239 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
240 return btn; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
241 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
242 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
243 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
244 protected ImgButton createToggleButton( |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
245 String img, |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
246 final EnableDisableCmd cmd |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
247 ) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
248 final ImgButton btn = new ImgButton(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
249 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
250 String baseUrl = GWT.getHostPageBaseURL(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
251 btn.setSrc(baseUrl + img); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
252 btn.setActionType(SelectionType.CHECKBOX); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
253 btn.setSize(20); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
254 btn.setShowRollOver(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
255 btn.setSelected(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
256 btn.addClickHandler(new ClickHandler() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
257 public void onClick(ClickEvent e) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
258 if (btn.isSelected()) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
259 cmd.enable(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
260 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
261 else { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
262 cmd.disable(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
263 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
264 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
265 }); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
266 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
267 return btn; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
268 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
269 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
270 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
271 protected ImgButton createMaxExtentControl() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
272 ImgButton zoomToMax = createButton(MSG.zoom_all(), new ClickHandler() { |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
273 public void onClick(ClickEvent event) { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
274 floodMap.getMap().zoomToMaxExtent(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
275 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
276 }); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
277 |
880
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
278 zoomToMax.setTooltip(MSG.zoomMaxExtent()); |
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
279 |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
280 return zoomToMax; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
281 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
282 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
283 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
284 protected ImgButton createZoomBoxControl() { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
285 zoomBox = new ZoomBox(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
286 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
287 EnableDisableCmd cmd = new EnableDisableCmd() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
288 public void enable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
289 activatePan(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
290 activateDrawFeature(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
291 activateSelectFeature(false); |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
292 activateMeasureControl(false); |
2447
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
293 activateGetFeatureInfo(false); |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
294 activateZoomBox(true); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
295 } |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
296 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
297 public void disable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
298 activateZoomBox(false); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
299 } |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
300 }; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
301 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
302 ImgButton button = createToggleButton(MSG.zoom_in(), cmd); |
880
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
303 button.setTooltip(MSG.zoomIn()); |
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
304 |
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
305 Map map = getMap(); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
306 map.addControl(zoomBox); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
307 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
308 return button; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
309 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
310 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
311 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
312 protected ImgButton createZoomOutControl() { |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
313 ImgButton zoomOut = createButton(MSG.zoom_out(), new ClickHandler() { |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
314 public void onClick(ClickEvent event) { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
315 Map map = floodMap.getMap(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
316 int level = map.getZoom(); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
317 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
318 if (level > 1) { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
319 map.zoomTo(level-1); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
320 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
321 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
322 }); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
323 |
880
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
324 zoomOut.setTooltip(MSG.zoomOut()); |
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
325 |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
326 return zoomOut; |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
327 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
328 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
329 |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
330 protected ImgButton createPanControl() { |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
331 pan = new DragPan(); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
332 getMap().addControl(pan); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
333 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
334 EnableDisableCmd cmd = new EnableDisableCmd() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
335 public void enable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
336 activateZoomBox(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
337 activateDrawFeature(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
338 activateSelectFeature(false); |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
339 activateMeasureControl(false); |
2447
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
340 activateGetFeatureInfo(false); |
1695d66896f9
Deactivate GetFeatureInfo button if another toggle button is pressed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1433
diff
changeset
|
341 activatePan(true); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
342 } |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
343 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
344 public void disable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
345 activatePan(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
346 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
347 }; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
348 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
349 final ImgButton button = createToggleButton(MSG.pan(), cmd); |
880
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
350 button.setTooltip(MSG.moveMap()); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
351 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
352 return button; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
353 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
354 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
355 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
356 protected DrawControl createDrawControl() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
357 EnableDisableCmd cmd = new EnableDisableCmd() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
358 public void enable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
359 activateZoomBox(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
360 activatePan(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
361 activateDrawFeature(true); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
362 activateSelectFeature(false); |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
363 activateMeasureControl(false); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
364 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
365 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
366 public void disable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
367 activateDrawFeature(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
368 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
369 }; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
370 return new DrawControl(getMap(), floodMap.getBarrierLayer(), cmd); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
371 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
372 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
373 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
374 protected ImgButton createSelectFeatureControl() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
375 SelectFeatureOptions opts = new SelectFeatureOptions(); |
825
1b9b7e9ab219
Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
802
diff
changeset
|
376 opts.setBox(true); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
377 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
378 // VectorFeatures selected by the SelectFeature control are manually |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
379 // marked with the string "mark.delete". The control to remove selected |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
380 // features makes use of this string to determine if the feature should |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
381 // be deleted (is marked) or not. Actually, we would like to use the |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
382 // OpenLayers native mechanism to select features, but for some reason |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
383 // this doesn't work here. After a feature has been selected, the layer |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
384 // still has no selected features. |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
385 opts.onSelect(new SelectFeature.SelectFeatureListener() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
386 public void onFeatureSelected(VectorFeature feature) { |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
387 floodMap.selectFeature(feature); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
388 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
389 }); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
390 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
391 opts.onUnSelect(new SelectFeature.UnselectFeatureListener() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
392 public void onFeatureUnselected(VectorFeature feature) { |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
393 floodMap.disableFeature(feature); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
394 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
395 }); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
396 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
397 selectFeature = new SelectFeature(floodMap.getBarrierLayer(), opts); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
398 getMap().addControl(selectFeature); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
399 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
400 EnableDisableCmd cmd = new EnableDisableCmd() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
401 public void enable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
402 activateDrawFeature(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
403 activatePan(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
404 activateZoomBox(false); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
405 activateSelectFeature(true); |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
406 activateMeasureControl(false); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
407 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
408 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
409 public void disable() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
410 activateSelectFeature(false); |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
411 floodMap.disableFeatures(); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
412 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
413 }; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
414 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
415 ImgButton button = createToggleButton(MSG.selectFeature(), cmd); |
880
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
416 button.setTooltip(MSG.selectObject()); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
417 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
418 return button; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
419 } |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
420 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
421 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
422 protected ImgButton createRemoveFeatureControl() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
423 ImgButton remove = createButton(MSG.removeFeature(),new ClickHandler() { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
424 public void onClick(ClickEvent event) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
425 Vector barriers = floodMap.getBarrierLayer(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
426 VectorFeature[] features = barriers.getFeatures(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
427 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
428 if (features == null || features.length == 0) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
429 return; |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
430 } |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
431 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
432 for (int i = features.length-1; i >= 0; i--) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
433 VectorFeature feature = features[i]; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
434 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
435 Attributes attr = feature.getAttributes(); |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
436 int del = attr.getAttributeAsInt(FloodMap.MARK_SELECTED); |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
437 |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
438 if (del == 1) { |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
439 barriers.removeFeature(feature); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
440 feature.destroy(); |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
441 } |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
442 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
443 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
444 }); |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
445 |
880
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
446 remove.setTooltip(MSG.removeObject()); |
22dc88b17253
Added tooltips for the maptoolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
833
diff
changeset
|
447 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
448 return remove; |
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
449 } |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
450 |
800
95cc560ce7c4
Added map controls for digitizing and removing barriers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
799
diff
changeset
|
451 |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
452 protected ImgButton createElevationControl() { |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
453 ImgButton btn = createButton(MSG.adjustElevation(), new ClickHandler() { |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
454 public void onClick(ClickEvent evt) { |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
455 Vector barriers = floodMap.getBarrierLayer(); |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
456 VectorFeature[] features = barriers.getFeatures(); |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
457 |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
458 VectorFeature feature = null; |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
459 |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
460 if (features == null || features.length == 0) { |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
461 SC.warn(MSG.error_no_feature_selected()); |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
462 return; |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
463 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
464 |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
465 boolean multipleFeatures = false; |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
466 |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
467 for (VectorFeature f: features) { |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
468 Attributes attr = f.getAttributes(); |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
469 if (attr.getAttributeAsInt(FloodMap.MARK_SELECTED) == 1) { |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
470 if (feature == null) { |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
471 feature = f; |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
472 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
473 else { |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
474 multipleFeatures = true; |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
475 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
476 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
477 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
478 |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
479 if (feature == null) { |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
480 SC.warn(MSG.error_no_feature_selected()); |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
481 return; |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
482 } |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
483 |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
484 new ElevationWindow(floodMap, feature).show(); |
1317
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
485 |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
486 if (multipleFeatures) { |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
487 SC.warn(MSG.warning_use_first_feature()); |
45b9b1fc26e2
Improved error handling while using the elevation control - Make selected features in the map visible.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1315
diff
changeset
|
488 } |
1315
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
489 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
490 }); |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
491 |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
492 btn.setTooltip(MSG.adjustElevationTooltip()); |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
493 |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
494 return btn; |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
495 } |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
496 |
cf0f906921de
#297 Implemented a window to adjust elevations of geometries in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
880
diff
changeset
|
497 |
1386
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1364
diff
changeset
|
498 protected Canvas createMousePosition() { |
9aa1a453eed5
Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1364
diff
changeset
|
499 return new MapPositionPanel(floodMap.getMapWidget()); |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
500 } |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
501 |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
502 |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
503 protected MeasureControl createMeasureControl() { |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
504 EnableDisableCmd cmd = new EnableDisableCmd() { |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
505 public void enable() { |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
506 activateDrawFeature(false); |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
507 activatePan(false); |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
508 activateZoomBox(false); |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
509 activateSelectFeature(false); |
2449
e73e92c70290
Deactivate measure control when activating GetFeatureInfo control and reverse.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2447
diff
changeset
|
510 activateGetFeatureInfo(false); |
802
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
511 } |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
512 |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
513 public void disable() { |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
514 // do nothing |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
515 } |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
516 }; |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
517 |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
518 return new MeasureControl(floodMap, cmd); |
d45ad7fd3027
Added map tools to measure lines and polygons.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
800
diff
changeset
|
519 } |
1364
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
520 |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
521 |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
522 protected Button createDatacageControl() { |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
523 Button btn = new Button(MSG.databasket()); |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
524 btn.addClickHandler(new ClickHandler() { |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
525 public void onClick(ClickEvent evt) { |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
526 openDatacageWindow((MapOutputTab) getOutputTab()); |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
527 } |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
528 }); |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
529 |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
530 return btn; |
9981ba2ee13a
Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1317
diff
changeset
|
531 } |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
532 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
533 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
534 protected ImgButton createGetFeatureInfo() { |
1404
09566522e899
Query GetFeatureInfo with layers defined in MapThemePanel - which are the real layers in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
535 MapOutputTab ot = (MapOutputTab) getOutputTab(); |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
536 if (ot == null) { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
537 return null; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
538 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
539 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
540 ThemeList tl = ot.getCollection().getThemeList("floodmap"); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
541 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
542 getFeatureInfo = new GetFeatureInfo( |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
543 getMap(), |
1404
09566522e899
Query GetFeatureInfo with layers defined in MapThemePanel - which are the real layers in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
544 ot.getThemePanel(), |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
545 "gml"); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
546 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
547 EnableDisableCmd cmd = new EnableDisableCmd() { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
548 public void enable() { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
549 activateDrawFeature(false); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
550 activatePan(false); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
551 activateZoomBox(false); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
552 activateSelectFeature(false); |
2449
e73e92c70290
Deactivate measure control when activating GetFeatureInfo control and reverse.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2447
diff
changeset
|
553 activateMeasureControl(false); |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
554 activateGetFeatureInfo(true); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
555 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
556 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
557 public void disable() { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
558 activateGetFeatureInfo(false); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
559 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
560 }; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
561 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
562 ImgButton button = createToggleButton(MSG.getFeatureInfo(), cmd); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
563 button.setTooltip(MSG.getFeatureInfoTooltip()); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
564 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
565 return button; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1389
diff
changeset
|
566 } |
1406
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
567 |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
568 |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
569 protected ImgButton createWMSControl() { |
1418
750a53950e9f
The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1412
diff
changeset
|
570 final String srs = floodMap.getRiverProjection(); |
750a53950e9f
The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1412
diff
changeset
|
571 |
1406
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
572 ImgButton add = createButton(MSG.addWMS(), new ClickHandler() { |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
573 public void onClick(ClickEvent event) { |
1412
659a488243da
Added code to trigger loading selected WMS layers from ExternalWMSWindow. Note: no code for loading/adding layers to the current map existing yet.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1406
diff
changeset
|
574 MapOutputTab ot = (MapOutputTab) getOutputTab(); |
1418
750a53950e9f
The WMSLayerTree displays WMS layers that support a given SRS only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1412
diff
changeset
|
575 new ExternalWMSWindow(ot, srs).start(); |
1406
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
576 } |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
577 }); |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
578 |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
579 add.setTooltip(MSG.addWMSTooltip()); |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
580 |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
581 return add; |
6c8a29abbe30
Added an initial control that allows (when it is finished) adding map layers from external WMS.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1404
diff
changeset
|
582 } |
1433
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
583 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
584 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
585 protected Label createEPSGLabel() { |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
586 Label epsgLabel = new Label(floodMap.getRiverProjection()); |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
587 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
588 epsgLabel.setAlign(Alignment.RIGHT); |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
589 epsgLabel.setWidth(75); |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
590 |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
591 return epsgLabel; |
d73f503f2465
Added a label that displays the current map projection to the MapToolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1418
diff
changeset
|
592 } |
799
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
593 } |
f4299b90c996
Added controls to navigate in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
594 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |