Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/map/GetFeatureInfoWindow.java @ 9702:20456a3c92e2
Img -> Image; correct URL for WMS Legend
author | dnt_bjoernsen <d.tironi@bjoernsen.de> |
---|---|
date | Thu, 21 Jan 2021 13:22:37 +0100 |
parents | 5e38e2924c07 |
children |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5859
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5859
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5859
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5961
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5859
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5961
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5859
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5859
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui.map; |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
11 import com.google.gwt.core.client.GWT; |
4965
8af500d62098
Editing Map print config.
Christian Lins <christian.lins@intevation.de>
parents:
3521
diff
changeset
|
12 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
13 import com.smartgwt.client.widgets.HTMLPane; |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
14 import com.smartgwt.client.widgets.Window; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
15 |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
16 import com.smartgwt.client.widgets.layout.VLayout; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
17 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
18 import com.smartgwt.client.widgets.viewer.DetailViewer; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
19 import com.smartgwt.client.widgets.viewer.DetailViewerField; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
20 import com.smartgwt.client.widgets.viewer.DetailViewerRecord; |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
21 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
22 import java.util.ArrayList; |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
23 import java.util.List; |
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
24 import java.util.Map; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
25 import java.util.MissingResourceException; |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
26 import java.util.Set; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
27 |
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
28 import org.dive4elements.river.client.client.FLYSConstants; |
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
29 |
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
30 import org.dive4elements.river.client.shared.model.FeatureInfo; |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
31 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 import org.gwtopenmaps.openlayers.client.feature.VectorFeature; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
33 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 import org.gwtopenmaps.openlayers.client.util.Attributes; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 import org.gwtopenmaps.openlayers.client.util.JSObject; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 public class GetFeatureInfoWindow extends Window { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
41 protected List<FeatureInfo> features; |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
43 protected String title; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
44 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
45 protected String featureInfoHTML; |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
46 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
48 public static final int ROW_HEIGHT = 25; |
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
49 |
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
50 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
51 public GetFeatureInfoWindow(List<FeatureInfo> features, String title) { |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 super(); |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
53 this.features = features; |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
54 this.title = title; |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
55 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 initLayout(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
59 public GetFeatureInfoWindow(String featureInfoHTML, String title) { |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
60 super(); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
61 features = null; |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
62 this.title = title; |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
63 this.featureInfoHTML = featureInfoHTML; |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
64 |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
65 initLayoutHTML(); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
66 } |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
67 |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
68 protected void initLayoutHTML() { |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
69 HTMLPane pane = new HTMLPane(); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
70 pane.setContents(featureInfoHTML); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
71 addItem(pane); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
72 setWidth(500); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
73 setHeight(300); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
74 |
5821
79717f1cf6eb
Set the title for the html feature info viewer
Andre Heinecke <aheinecke@intevation.de>
parents:
5818
diff
changeset
|
75 setTitle(MSG.getFeatureInfoWindowTitle() + " " + title); |
79717f1cf6eb
Set the title for the html feature info viewer
Andre Heinecke <aheinecke@intevation.de>
parents:
5818
diff
changeset
|
76 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
77 setIsModal(false); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
78 // setShowModalMask(true); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
79 |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
80 centerInPage(); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
81 } |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 protected void initLayout() { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 VLayout root = new VLayout(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
86 for (FeatureInfo feature: features) { |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
87 // Currently this should alway be only one |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
88 root.addMember(createFeatureViewer(feature)); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
89 setTitle(MSG.getFeatureInfoWindowTitle() + " " + title); |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 addItem(root); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 |
3521
ffbdd093da74
Fixed size for GetFeatureInfoWindow.
Christian Lins <christian.lins@intevation.de>
parents:
3347
diff
changeset
|
94 setWidth(500); |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
95 setHeight(300); |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
97 setIsModal(false); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
98 // setShowModalMask(true); |
2470
656df7c0bdda
#556 Made GetFeatureInfoWindow modal.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1402
diff
changeset
|
99 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 centerInPage(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
104 protected DetailViewer createFeatureViewer(FeatureInfo feature) { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
105 DetailViewer detailViewer = new DetailViewer(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
106 detailViewer.setWidth(487); |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
107 |
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
108 Map<String, String> attrs = feature.getAttrs(); |
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
109 Set<Map.Entry<String, String>> entries = attrs.entrySet(); |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
110 List <DetailViewerField> fields = new ArrayList<DetailViewerField>(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
111 DetailViewerRecord dr = new DetailViewerRecord(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
112 |
8856 | 113 DetailViewerField path_field = null; |
114 // Make sure path is always the last element | |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
115 |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
116 for (Map.Entry<String, String> entry: entries) { |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
117 String localized; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
118 try { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
119 localized = MSG.getString(entry.getKey()); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
120 } catch (MissingResourceException mre) { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
121 localized = entry.getKey(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
122 // We filter unwanted information by localization |
5961
55687a506296
Only show localized elements in getfeatureinfo
Andre Heinecke <aheinecke@intevation.de>
parents:
5861
diff
changeset
|
123 continue; |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
124 } |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
125 if (entry.getKey().equals("PATH")) { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
126 path_field = new DetailViewerField(entry.getKey(), localized); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
127 } else { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
128 fields.add(new DetailViewerField(entry.getKey(), localized)); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
129 } |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
130 dr.setAttribute(entry.getKey(), entry.getValue()); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
131 } |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
132 if (path_field != null) |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
133 fields.add(path_field); |
1402
15ef3d3081b7
Parse GetFeatureInfo response on our own and display resulting FeatureInfo objects in the GetFeatureInfoWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1400
diff
changeset
|
134 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
135 DetailViewerField[] fieldArray = new DetailViewerField[fields.size()]; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
136 detailViewer.setFields(fields.toArray(fieldArray)); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
137 detailViewer.setData(new DetailViewerRecord[]{dr}); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
138 detailViewer.setCanSelectText(true); |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
140 return detailViewer; |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 protected String[][] extractProperties(VectorFeature feature) { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 Attributes tmp = feature.getAttributes(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 JSObject jsobj = tmp.getJSObject(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 String tmpNames = jsobj.getPropertyNames(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 String[] allNames = tmpNames.split(","); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 String[][] attr = new String[allNames.length][]; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 for (int i = 0, n = attr.length; i < n; i++) { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 attr[i] = new String[] { |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 allNames[i], |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 jsobj.getPropertyAsString(allNames[i]) }; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 return attr; |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
161 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |