annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/map/MapOutputTab.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-client/src/main/java/org/dive4elements/river/client/client/ui/map/MapOutputTab.java@821a02bbfb4e
children 172338b1407f
rev   line source
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
1 package org.dive4elements.river.client.client.ui.map;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
3 import com.google.gwt.core.client.GWT;
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
4 import com.google.gwt.user.client.rpc.AsyncCallback;
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
5 import com.google.gwt.user.client.ui.AbsolutePanel;
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
6 import com.smartgwt.client.util.SC;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import com.smartgwt.client.widgets.Canvas;
4570
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
8 import com.smartgwt.client.widgets.events.ParentMovedEvent;
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
9 import com.smartgwt.client.widgets.events.ParentMovedHandler;
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
10 import com.smartgwt.client.widgets.events.ResizedEvent;
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
11 import com.smartgwt.client.widgets.events.ResizedHandler;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import com.smartgwt.client.widgets.layout.HLayout;
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
13 import com.smartgwt.client.widgets.layout.VLayout;
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
14 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
1542
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
15 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
17 import org.dive4elements.river.client.client.Config;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
18 import org.dive4elements.river.client.client.FLYSConstants;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
19 import org.dive4elements.river.client.client.event.OutputParameterChangeEvent;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
20 import org.dive4elements.river.client.client.event.OutputParameterChangeHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
21 import org.dive4elements.river.client.client.event.RedrawRequestEvent;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
22 import org.dive4elements.river.client.client.event.RedrawRequestHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
23 import org.dive4elements.river.client.client.services.LoadArtifactService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.client.services.MapOutputService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.client.services.MapOutputServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.river.client.client.services.StepForwardService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.client.services.StepForwardServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
29 import org.dive4elements.river.client.client.ui.CollectionView;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
30 import org.dive4elements.river.client.client.ui.OutputTab;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
31 import org.dive4elements.river.client.client.ui.ThemePanel;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
32 import org.dive4elements.river.client.shared.model.Artifact;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
33 import org.dive4elements.river.client.shared.model.ArtifactDescription;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
34 import org.dive4elements.river.client.shared.model.AttributedTheme;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
35 import org.dive4elements.river.client.shared.model.Collection;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
36 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
37 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
38 import org.dive4elements.river.client.shared.model.DataList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
39 import org.dive4elements.river.client.shared.model.DefaultData;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
40 import org.dive4elements.river.client.shared.model.DefaultDataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
41 import org.dive4elements.river.client.shared.model.MapConfig;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
42 import org.dive4elements.river.client.shared.model.OutputMode;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
43 import org.dive4elements.river.client.shared.model.Recommendation;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
44 import org.dive4elements.river.client.shared.model.Theme;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
45 import org.dive4elements.river.client.shared.model.ThemeList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
46 import org.dive4elements.river.client.shared.model.WMSLayer;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
4739
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
48 import java.util.HashMap;
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
49 import java.util.List;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
50
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
51 import org.gwtopenmaps.openlayers.client.Bounds;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
52 import org.gwtopenmaps.openlayers.client.Map;
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
53 import org.gwtopenmaps.openlayers.client.MapWidget;
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
54 import org.gwtopenmaps.openlayers.client.event.VectorFeatureAddedListener;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
55 import org.gwtopenmaps.openlayers.client.event.VectorFeatureRemovedListener;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
56 import org.gwtopenmaps.openlayers.client.feature.VectorFeature;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
57 import org.gwtopenmaps.openlayers.client.format.GeoJSON;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
58 import org.gwtopenmaps.openlayers.client.layer.Layer;
5612
4f935415bb20 Hopefully fix for some map resizing issues.
Christian Lins <christian.lins@intevation.de>
parents: 5032
diff changeset
59 import org.gwtopenmaps.openlayers.client.layer.TransitionEffect;
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
60 import org.gwtopenmaps.openlayers.client.layer.Vector;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
61 import org.gwtopenmaps.openlayers.client.layer.WMS;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
62 import org.gwtopenmaps.openlayers.client.layer.WMSOptions;
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
63 import org.gwtopenmaps.openlayers.client.layer.WMSParams;
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65
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: 1403
diff changeset
66 public class MapOutputTab
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: 1403
diff changeset
67 extends OutputTab
4329
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
68 implements RedrawRequestHandler, ExternalWMSWindow.LayerLoader, TabSelectedHandler, OutputParameterChangeHandler {
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
70 public static final String DEFAULT_SRID = "4326";
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
71
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
72 public static final String BARRIERS_PARAMETER_KEY = "uesk.barriers";
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
73
1269
45791d12a1f4 Bugfix: #298 Floodmaps initial zoom is determined by the WSPLGEN layer's extent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 835
diff changeset
74 public static final String WSPLGEN_FACET = "floodmap.wsplgen";
45791d12a1f4 Bugfix: #298 Floodmaps initial zoom is determined by the WSPLGEN layer's extent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 835
diff changeset
75
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
76 public static final String EXTERNAL_WMS_FACTORY = "externalwmsfactory";
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
77
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
78
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
79 protected StepForwardServiceAsync feedService =
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
80 GWT.create(StepForwardService.class);
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
81
1365
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
82 protected MapOutputServiceAsync mapService =
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
83 GWT.create(MapOutputService.class);
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
84
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
85 /** Service handle to clone and add artifacts to collection. */
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
86 protected LoadArtifactServiceAsync loadArtifactService =
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
87 GWT.create(LoadArtifactService.class);
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
88
1415
dfa2d4753fc0 Triggered the reload of MapThemePanel after adding external WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
89 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
dfa2d4753fc0 Triggered the reload of MapThemePanel after adding external WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
90
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
91 protected MapToolbar controlPanel;
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
92 protected ThemePanel themePanel;
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
93 protected Canvas themePanelCanvas;
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
94 protected MapWidget mapPanel;
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 2983
diff changeset
95 protected Canvas mapPanelCanvas;
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
96 protected VLayout rootLayout = new VLayout();
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
97 protected AbsolutePanel absPan = new AbsolutePanel();
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
98 protected FloodMap floodMap;
4739
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
99 protected java.util.Map<String, String> wmsUrls = new HashMap<String, String>();
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 public MapOutputTab(
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 String title,
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 Collection collection,
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 OutputMode mode,
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 CollectionView collectionView
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 ){
1364
9981ba2ee13a Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1327
diff changeset
108 super(title, collection, collectionView, mode);
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109
1542
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
110 collectionView.registerTabHandler(this);
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
111
1376
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
112 mapService.doOut(collection, new AsyncCallback<MapConfig>() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
113 @Override
1365
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
114 public void onFailure(Throwable caught) {
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
115 GWT.log("MAP ERROR: " + caught.getMessage());
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
116 }
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
117
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
118 @Override
1376
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
119 public void onSuccess(MapConfig c) {
1365
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
120 GWT.log("MAP SUCCESS!");
1376
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
121
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
122 Bounds max = boundsFromString(c.getMaxExtent());
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
123 Bounds initial = boundsFromString(c.getInitialExtent());
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
124
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
125 if (initial == null) {
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
126 GWT.log("Warning: No initial extent set.");
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
127 initial = max;
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
128 }
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
129
4476
099d136b215b Try to fix resize problems with MapWidget in DigitizePanel (#802).
Christian Lins <christian.lins@intevation.de>
parents: 4402
diff changeset
130 setFloodmap(new FloodMap(c.getSrid(), max, 640, 480));
1376
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
131
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
132 initLayout();
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
133 initBarriers();
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
134
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
135 GWT.log("MAX EXTENT: " + max);
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
136 GWT.log("ZOOM TO: " + initial);
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
137 getMap().zoomToExtent(initial);
1365
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
138 }
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
139 }
4c65c5b60a86 First step of refactoring the map creation - implemented a MapOutputService.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1364
diff changeset
140 );
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 }
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 protected void initLayout() {
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
145 rootLayout.setHeight100();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
146 rootLayout.setWidth100();
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
147 rootLayout.setMembersMargin(2);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
148
5612
4f935415bb20 Hopefully fix for some map resizing issues.
Christian Lins <christian.lins@intevation.de>
parents: 5032
diff changeset
149 HLayout hlayout = new HLayout();
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
150 hlayout.setMembersMargin(0);
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
151
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
152 this.themePanelCanvas = createThemePanel();
1386
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1382
diff changeset
153
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1382
diff changeset
154 controlPanel = createControlPanel();
3347
6d749af6a9c2 Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents: 2983
diff changeset
155 mapPanel = floodMap.getMapWidget();
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
156
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
157 rootLayout.addMember(controlPanel);
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
158 rootLayout.addMember(absPan);
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
159 absPan.setWidth("100%");
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
160 absPan.setHeight("100%");
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
161 absPan.add(themePanelCanvas);
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
162 absPan.add(mapPanel);
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
163
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
164 rootLayout.addResizedHandler(new ResizedHandler() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
165 @Override
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
166 public void onResized(ResizedEvent e) {
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
167 doLayout();
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
168 }
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
169 });
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
170
4570
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
171 rootLayout.addParentMovedHandler(new ParentMovedHandler() {
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
172 @Override
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
173 public void onParentMoved(ParentMovedEvent event) {
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
174 mapPanel.getMap().updateSize();
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
175 }
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
176 });
8ca06d3040d0 flys-client: Map.updateSize() is now called on every windows movement
Christian Lins <christian.lins@intevation.de>
parents: 4531
diff changeset
177
798
7061c2e66039 Finished layouting the map components.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 797
diff changeset
178 setPane(rootLayout);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
179 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
180
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
181
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
182 protected void doLayout() {
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
183 if(!rootLayout.isVisible()) {
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
184 return;
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
185 }
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
186
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
187 // Manually set the height of the AbsolutePanel, somehow this is necessary
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
188 absPan.setHeight(String.valueOf(
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
189 rootLayout.getHeight() - controlPanel.getHeight() - 2) + "px");
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
190
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
191 // Calculate bounds of Map
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
192 int height = rootLayout.getHeight() -
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
193 controlPanel.getHeight() - 6;
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
194 int width = controlPanel.getWidth() -
4531
4c2c1d4cf777 Map is now properly resized when hiding ThemePanel.
Christian Lins <christian.lins@intevation.de>
parents: 4476
diff changeset
195 (themePanelCanvas.isVisible() ? themePanelCanvas.getWidth() + 4 : 2);
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
196
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
197 // Set size and position of Map
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
198 String w = String.valueOf(width) + "px";
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
199 String h = String.valueOf(height) + "px";
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
200 GWT.log("width=" + w);
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
201
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
202 mapPanel.setSize(w, h);
4531
4c2c1d4cf777 Map is now properly resized when hiding ThemePanel.
Christian Lins <christian.lins@intevation.de>
parents: 4476
diff changeset
203 mapPanel.getMap().updateSize();
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
204 if(themePanelCanvas.isVisible()) {
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
205 absPan.setWidgetPosition(mapPanel, themePanelCanvas.getWidth() + 2, 0);
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
206 }
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
207 else {
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
208 absPan.setWidgetPosition(mapPanel, 0, 0);
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
209 }
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
210
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
211 // Set bounds of ThemePanelCanvas
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
212 themePanelCanvas.setSize(themePanelCanvas.getWidthAsString(), String.valueOf(height + 2) + "px");
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
213 }
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
214
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
215
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
216 protected void initBarriers() {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
217 Vector vector = floodMap.getBarrierLayer();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
218 vector.addVectorFeatureAddedListener(
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
219 new VectorFeatureAddedListener() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
220 @Override
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
221 public void onFeatureAdded(FeatureAddedEvent e) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
222 saveBarriers();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
223 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
224 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
225 );
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
226
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
227 vector.addVectorFeatureRemovedListener(
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
228 new VectorFeatureRemovedListener() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
229 @Override
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
230 public void onFeatureRemoved(FeatureRemovedEvent e) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
231 saveBarriers();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
232 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
233 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
234 );
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
235
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
236
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
237 Artifact artifact = getArtifact();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
238
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
239 if (artifact == null) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
240 return;
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
241 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
242
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
243 ArtifactDescription desc = artifact.getArtifactDescription();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
244
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
245 String geojson = getGeoJSONFromStatic(desc);
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
246 geojson = geojson != null ? geojson : getGeoJSONFromDynamic(desc);
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
247
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
248 if (geojson == null || geojson.length() == 0) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
249 GWT.log("No geojson string found -> no barriers existing.");
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
250 return;
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
251 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
252
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
253 GeoJSON reader = new GeoJSON();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
254 VectorFeature[] features = reader.read(geojson);
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
255
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
256 vector.addFeatures(features);
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
257 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
258
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
259
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
260 public void addLayer(Layer layer) {
1448
c39aa5a6478c #409 Made layer list and map layers synchron.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1425
diff changeset
261 FloodMap map = getFloodmap();
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
262
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
263 if (map != null) {
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
264 GWT.log("Add new layer '" + layer.getName() + "' to map.");
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
265 map.addLayer(layer);
5793
4cc59122b682 Use fullRequestString as WMS Url
Andre Heinecke <aheinecke@intevation.de>
parents: 5612
diff changeset
266 if (layer instanceof WMS) {
4cc59122b682 Use fullRequestString as WMS Url
Andre Heinecke <aheinecke@intevation.de>
parents: 5612
diff changeset
267 wmsUrls.put(layer.getName(),
4cc59122b682 Use fullRequestString as WMS Url
Andre Heinecke <aheinecke@intevation.de>
parents: 5612
diff changeset
268 ((WMS)layer).getFullRequestString(new WMSParams(), null));
4cc59122b682 Use fullRequestString as WMS Url
Andre Heinecke <aheinecke@intevation.de>
parents: 5612
diff changeset
269 }
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
270 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
271 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
272
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
273
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
274 public void removeLayer(String name) {
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
275 Map map = getMap();
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
276
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
277 Layer[] layers = map.getLayers();
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
278
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
279 for (Layer layer: layers) {
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
280 if (name.equals(layer.getName())) {
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
281 map.removeLayer(layer);
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
282 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
283 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
284 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
285
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
286
1364
9981ba2ee13a Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1327
diff changeset
287 @Override
9981ba2ee13a Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1327
diff changeset
288 public void onRedrawRequest(RedrawRequestEvent event) {
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
289 mapService.doOut(collection, new AsyncCallback<MapConfig>() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
290 @Override
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
291 public void onFailure(Throwable caught) {
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
292 GWT.log("MAP ERROR: " + caught.getMessage());
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
293 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
294
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
295 @Override
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
296 public void onSuccess(MapConfig c) {
1397
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
297 GWT.log("We want to refresh the map now!");
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
298 themePanel.updateCollection();
1397
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
299 getFloodmap().update();
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
300 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
301 });
1364
9981ba2ee13a Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1327
diff changeset
302 }
9981ba2ee13a Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1327
diff changeset
303
9981ba2ee13a Display the datacage button in the map toolbar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1327
diff changeset
304
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: 1403
diff changeset
305 @Override
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: 1403
diff changeset
306 public void load(List<WMSLayer> toLoad) {
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: 1403
diff changeset
307 GWT.log("The user wants to add " + toLoad.size() + " new WMS layers.");
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
308
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
309 int len = toLoad.size();
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
310
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
311 Recommendation[] recom = new Recommendation[len];
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
312
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
313 for (int i = 0; i < len; i++) {
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
314 WMSLayer w = toLoad.get(i);
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
315
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
316 String ids = w.getServer() + ";" + w.getName() + ";" + w.getTitle();
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
317 recom[i] = new Recommendation(EXTERNAL_WMS_FACTORY, ids);
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
318 }
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
319
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
320 Collection c = getCollection();
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
321
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
322 Config config = Config.getInstance();
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
323 String locale = config.getLocale();
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
324
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
325 loadArtifactService.loadMany(c, recom, EXTERNAL_WMS_FACTORY, locale,
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
326 new AsyncCallback<Artifact[]>() {
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
327
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
328 @Override
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
329 public void onFailure(Throwable throwable) {
1415
dfa2d4753fc0 Triggered the reload of MapThemePanel after adding external WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
330 SC.warn(MSG.getString(throwable.getMessage()));
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
331 }
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
332
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
333 @Override
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
334 public void onSuccess(Artifact[] newArtifacts) {
1415
dfa2d4753fc0 Triggered the reload of MapThemePanel after adding external WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1414
diff changeset
335 getThemePanel().updateCollection();
1414
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
336 }
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
337 }
3484cbfaf369 Create new Artifacts for selected WMS layers of the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1412
diff changeset
338 );
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: 1403
diff changeset
339 }
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: 1403
diff changeset
340
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: 1403
diff changeset
341
1376
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
342 protected void setFloodmap(FloodMap floodMap) {
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
343 this.floodMap = floodMap;
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
344 }
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
345
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
346
1397
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
347 protected FloodMap getFloodmap() {
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
348 return floodMap;
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
349 }
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
350
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
351
1306
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
352 protected Map getMap() {
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
353 return floodMap.getMap();
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
354 }
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
355
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
356
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
357 protected ThemePanel getThemePanel() {
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
358 return themePanel;
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
359 }
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
360
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
361
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
362 protected String getGeoJSONFromDynamic(ArtifactDescription desc) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
363 DataList list = desc.getCurrentData();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
364
835
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
365 if (list == null) {
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
366 return null;
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
367 }
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
368
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
369 List<Data> datas = list.getAll();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
370 for (Data data: datas) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
371 String key = data.getLabel();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
372
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
373 if (key != null && key.equals(BARRIERS_PARAMETER_KEY)) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
374 DataItem def = data.getDefault();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
375
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
376 if (def != null) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
377 return def.getStringValue();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
378 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
379 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
380 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
381
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
382 return null;
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
383 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
384
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
385
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
386 protected String getGeoJSONFromStatic(ArtifactDescription desc) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
387 // TODO Implement this method, if there are reachable states right after
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
388 // the floodmap state - which is currently not the case.
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
389 return null;
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
390 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
391
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
392
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
393 public ThemeList getThemeList() {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
394 return collection.getThemeList(mode.getName());
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
395 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
396
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
397
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
398 public String getSrid() {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
399 ThemeList themeList = getThemeList();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
400
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
401 int num = themeList.getThemeCount();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
402
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
403 for (int i = 1; i <= num; i++) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
404 AttributedTheme theme = (AttributedTheme) themeList.getThemeAt(i);
835
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
405
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
406 if (theme == null) {
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
407 continue;
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
408 }
c89a42950d11 Removed the digitize controls from map widget that is used in the floodmap state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 825
diff changeset
409
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
410 String srid = theme.getAttr("srid");
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
411
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
412 if (srid != null && srid.length() > 0) {
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
413 return srid;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
414 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
415 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
416
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
417 return DEFAULT_SRID;
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
418 }
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
419
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
420
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
421 protected Bounds boundsFromString(String bounds) {
1376
28eb4dfe2cbf Call Collection.doOut to retrieve a map config and use this config to build up an OpenLayers map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1370
diff changeset
422 GWT.log("Create Bounds from String: '" + bounds + "'");
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
423 if (bounds == null || bounds.length() == 0) {
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
424 return null;
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
425 }
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
426
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
427 String[] values = bounds.split(" ");
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
428
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
429 if (values == null || values.length < 4) {
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
430 return null;
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
431 }
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
432
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
433 try {
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
434 return new Bounds(
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
435 Double.valueOf(values[0]),
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
436 Double.valueOf(values[1]),
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
437 Double.valueOf(values[2]),
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
438 Double.valueOf(values[3]));
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
439 }
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
440 catch (NumberFormatException nfe) {}
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
441
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
442 return null;
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
443 }
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
444
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
445
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
446 public Layer createWMSLayer(Theme theme) {
4752
ce570c74aa94 Removed null comparison where also instanceof is used.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4739
diff changeset
447 if (!(theme instanceof AttributedTheme)) {
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
448 return null;
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
449 }
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
450
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
451 AttributedTheme at = (AttributedTheme) theme;
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
452
4739
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
453 String name = at.getAttr("name");
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
454 String desc = at.getAttr("description");
1400
96708d81eaf6 Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
455 String url = at.getAttr("url");
96708d81eaf6 Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
456 String layers = at.getAttr("layers");
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
457
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
458 if (url == null || layers == null) {
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
459 return null;
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
460 }
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
461
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
462 WMSParams params = new WMSParams();
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
463 params.setLayers(layers);
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
464 params.setFormat("image/png");
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
465 params.setIsTransparent(true);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
466
823
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
467 WMSOptions opts = new WMSOptions();
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
468 opts.setProjection("EPSG:" + getSrid());
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
469 opts.setSingleTile(true);
407de0f4b66a Set the map projection and its max extent dynamically - information extracted from facets.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 815
diff changeset
470 opts.setRatio(1);
5032
4bf3b89b38d5 Added attribution to osm wms background layer.
Raimund Renkert <rrenkert@intevation.de>
parents: 4752
diff changeset
471 if (layers.equals("OSM-WMS-Dienst")) {
4bf3b89b38d5 Added attribution to osm wms background layer.
Raimund Renkert <rrenkert@intevation.de>
parents: 4752
diff changeset
472 opts.setAttribution(MSG.attribution());
5612
4f935415bb20 Hopefully fix for some map resizing issues.
Christian Lins <christian.lins@intevation.de>
parents: 5032
diff changeset
473 opts.setSingleTile(true);
4f935415bb20 Hopefully fix for some map resizing issues.
Christian Lins <christian.lins@intevation.de>
parents: 5032
diff changeset
474 opts.setTransitionEffect(TransitionEffect.RESIZE);
5032
4bf3b89b38d5 Added attribution to osm wms background layer.
Raimund Renkert <rrenkert@intevation.de>
parents: 4752
diff changeset
475 }
1400
96708d81eaf6 Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1397
diff changeset
476 WMS wms = new WMS(layers, url, params, opts);
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
477 wms.setIsVisible(at.getActive() == 1);
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
478 wms.setIsBaseLayer(false);
5793
4cc59122b682 Use fullRequestString as WMS Url
Andre Heinecke <aheinecke@intevation.de>
parents: 5612
diff changeset
479 // We can't set the full_url attribute here because map is not set
4cc59122b682 Use fullRequestString as WMS Url
Andre Heinecke <aheinecke@intevation.de>
parents: 5612
diff changeset
480 // at.addAttr("full_url", wms.getFullRequestString(params, null));
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
481 return wms;
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
482 }
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
483
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
484
4739
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
485 public java.util.Map<String, String> wmsUrls() {
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
486 return this.wmsUrls;
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
487 }
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
488
5014a84c0c7d Add "maptype" parameter to MapInfoService.
Christian Lins <christian.lins@intevation.de>
parents: 4570
diff changeset
489
1386
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1382
diff changeset
490 protected MapToolbar createControlPanel() {
9aa1a453eed5 Issue 294.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1382
diff changeset
491 return new MapToolbar(this, floodMap, false);
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
492 }
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
493
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
494
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
495 protected Canvas createThemePanel() {
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
496 Canvas c = new Canvas();
1327
8a93fb299e64 #288 Added legend symbols to the MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1306
diff changeset
497 c.setMinWidth(300);
4330
93e023131546 Removed the legend images from map theme panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4329
diff changeset
498 c.setWidth(200);
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
499 c.setHeight100();
1327
8a93fb299e64 #288 Added legend symbols to the MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1306
diff changeset
500 c.setCanDragResize(true);
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 796
diff changeset
501 c.setBorder("1px solid black");
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
502
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
503 themePanel = new MapThemePanel(
1555
c057ef91b268 Refactored Collection reference out of Panels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1542
diff changeset
504 this.getCollectionView(),
1306
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
505 mode,
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
506 this,
1306
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
507 new MapThemePanel.ActivateCallback() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
508 @Override
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
509 public void activate(Theme theme, boolean active) {
4329
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
510 fireActivateTheme(theme, active);
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
511 }
1306
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
512 },
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
513 new MapThemePanel.ThemeMovedCallback() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
514 @Override
1306
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
515 public void onThemeMoved(Theme theme, int oldIdx, int newIdx) {
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
516 // this code synchronizes the ThemePanel and the OpenLayers
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
517 // internal order of layers.
1403
6a7cfe9d87fe Repaired broken WMS layer controls in map theme panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1400
diff changeset
518 AttributedTheme at = (AttributedTheme) theme;
6a7cfe9d87fe Repaired broken WMS layer controls in map theme panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1400
diff changeset
519
6a7cfe9d87fe Repaired broken WMS layer controls in map theme panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1400
diff changeset
520 String name = at.getAttr("layers");
1306
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
521 Map map = getMap();
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
522 Layer[] layers = map.getLayersByName(name);
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
523
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
524 if (layers == null || layers.length == 0) {
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
525 GWT.log("Error: Cannot find layer '" + name + "'");
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
526 return;
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
527 }
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
528
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
529 map.raiseLayer(layers[0], (newIdx-oldIdx)*-1);
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
530 map.zoomTo(map.getZoom()-1);
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
531 map.zoomTo(map.getZoom()+1);
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
532 }
1377
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
533 },
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
534 new MapThemePanel.LayerZoomCallback() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
535 @Override
1377
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
536 public void onLayerZoom(Theme theme, String extent) {
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
537 Bounds zoomTo = boundsFromString(extent);
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
538
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
539 if (zoomTo == null) {
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
540 GWT.log("WARNING: No valid bounds for zooming found!");
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
541 return;
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
542 }
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
543
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
544 getMap().zoomToExtent(zoomTo);
b0fe35d4ce6b Added a 'zoom to layer' menu item to the map theme panel which triggers a zoom to the specific layer/theme.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1376
diff changeset
545 }
1306
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
546 }
2e57776f77b5 #300 Synchronized the ThemePanel's layer order with the internal order of the Map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1269
diff changeset
547 );
1397
b3264b5770b3 Update the map when receiving a RedrawRequestEvent.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1386
diff changeset
548 themePanel.addRedrawRequestHandler(this);
4329
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
549 themePanel.addOutputParameterChangeHandler(this);
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
550 c.addChild(themePanel);
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
551
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
552 return c;
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
553 }
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
554
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
555
4329
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
556 private void fireActivateTheme(Theme theme, boolean active) {
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
557 activateTheme(theme, active);
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
558 }
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
559
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
560
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
561 protected void activateTheme(Theme theme, boolean active) {
1403
6a7cfe9d87fe Repaired broken WMS layer controls in map theme panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1400
diff changeset
562 AttributedTheme at = (AttributedTheme) theme;
6a7cfe9d87fe Repaired broken WMS layer controls in map theme panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1400
diff changeset
563
6a7cfe9d87fe Repaired broken WMS layer controls in map theme panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1400
diff changeset
564 String name = at.getAttr("layers");
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
565 Layer layer = floodMap.getMap().getLayerByName(name);
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
566
1382
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
567 GWT.log("Set visibility of '" + name + "': " + active);
78542ff1f562 Update map and theme panel when new layers are added via datacage or removed by context menu.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1377
diff changeset
568
806
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
569 if (layer != null) {
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
570 layer.setIsVisible(active);
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
571 }
e50da1f74e58 The layers created in the floodmap reflect to the facets this output mode has.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 800
diff changeset
572 }
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
573
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
574
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
575 protected void saveBarriers() {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
576 Vector layer = floodMap.getBarrierLayer();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
577
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
578 GeoJSON format = new GeoJSON();
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
579 String features = format.write(layer.getFeatures());
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
580
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
581 DataItem item = new DefaultDataItem(
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
582 BARRIERS_PARAMETER_KEY, BARRIERS_PARAMETER_KEY, features);
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
583
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
584 Data data = new DefaultData(
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
585 BARRIERS_PARAMETER_KEY, BARRIERS_PARAMETER_KEY, "String",
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
586 new DataItem[] {item} );
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
587
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
588 Config config = Config.getInstance();
5612
4f935415bb20 Hopefully fix for some map resizing issues.
Christian Lins <christian.lins@intevation.de>
parents: 5032
diff changeset
589 String locale = config.getLocale();
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
590
1425
bc06a671ef60 Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1415
diff changeset
591 feedService.go(locale, getArtifact(), new Data[] { data },
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
592 new AsyncCallback<Artifact>() {
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
593 @Override
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
594 public void onFailure(Throwable caught) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
595 GWT.log("Could not save barrier geometries: " +
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
596 caught.getMessage());
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
597 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
598
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
599 @Override
825
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
600 public void onSuccess(Artifact artifact) {
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
601 GWT.log("Successfully saved barrier geometries.");
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
602 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
603 }
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
604 );
1b9b7e9ab219 Save and reload user defined geometries (barriers) in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 823
diff changeset
605 }
1542
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
606
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
607
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
608 @Override
1542
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
609 public void onTabSelected(TabSelectedEvent tse) {
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
610 if(floodMap == null) {
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
611 return;
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
612 }
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
613 if(this.equals(tse.getTab())) {
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
614 floodMap.activateScaleLine(true);
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
615 }
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
616 else {
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
617 controlPanel.activateMeasureControl(false);
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
618 floodMap.activateScaleLine(false);
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
619 }
3e2ef8e0a0dc Issue 265.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1448
diff changeset
620 }
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
621
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
622 public void toogleThemePanel() {
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
623 this.themePanelCanvas.setVisible(!themePanelCanvas.isVisible());
4402
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
624
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
625 // Trigger resize event handler
c84630d544a1 Get rid of HorizontalLayout in MapOutputTab and use manual resizing.
Christian Lins <christian.lins@intevation.de>
parents: 4330
diff changeset
626 doLayout();
2983
725470fc57d2 Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents: 1555
diff changeset
627 }
4329
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
628
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
629
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
630 @Override
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
631 public void onOutputParameterChanged(OutputParameterChangeEvent evt) {
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
632 GWT.log("OutputParameterChanged");
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
633 controlPanel.updateThemes(getThemePanel().getThemeList());
c9dcce9448f2 Added a new control 'show legend' to the map's toolbar. This control opens a window that displays the legends of all activated layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4064
diff changeset
634 }
796
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
635 }
cd8603aaa730 Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
636 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org