Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/map/GetFeatureInfoWindow.java @ 5859:a3cd78333185
Removed obsolete imports.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Sun, 28 Apr 2013 13:45:22 +0200 |
parents | 5aa05a7a34b7 |
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; |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
4965
8af500d62098
Editing Map print config.
Christian Lins <christian.lins@intevation.de>
parents:
3521
diff
changeset
|
4 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
5 import com.smartgwt.client.widgets.HTMLPane; |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
6 import com.smartgwt.client.widgets.Window; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
8 import com.smartgwt.client.widgets.layout.VLayout; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
9 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
10 import com.smartgwt.client.widgets.viewer.DetailViewer; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
11 import com.smartgwt.client.widgets.viewer.DetailViewerField; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
12 import com.smartgwt.client.widgets.viewer.DetailViewerRecord; |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
13 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
14 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
|
15 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
|
16 import java.util.Map; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
17 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
|
18 import java.util.Set; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
19 |
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
20 import org.dive4elements.river.client.client.FLYSConstants; |
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
21 |
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
22 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
|
23 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 import org.gwtopenmaps.openlayers.client.feature.VectorFeature; |
5859
a3cd78333185
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
25 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 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
|
27 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
|
28 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 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
|
30 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 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
|
32 |
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
|
33 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
|
34 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
35 protected String title; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
36 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
37 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
|
38 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 |
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
|
40 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
|
41 |
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
|
42 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
43 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
|
44 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
|
45 this.features = features; |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
46 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
|
47 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 initLayout(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
51 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
|
52 super(); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
53 features = null; |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
54 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
|
55 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
|
56 |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
57 initLayoutHTML(); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
58 } |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
59 |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
60 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
|
61 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
|
62 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
|
63 addItem(pane); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
64 setWidth(500); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
65 setHeight(300); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
66 |
5821
79717f1cf6eb
Set the title for the html feature info viewer
Andre Heinecke <aheinecke@intevation.de>
parents:
5818
diff
changeset
|
67 setTitle(MSG.getFeatureInfoWindowTitle() + " " + title); |
79717f1cf6eb
Set the title for the html feature info viewer
Andre Heinecke <aheinecke@intevation.de>
parents:
5818
diff
changeset
|
68 |
5818
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
69 setIsModal(false); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
70 // setShowModalMask(true); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
71 |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
72 centerInPage(); |
a4ff4167be1e
Request feature info on all layers and show it as html if
Andre Heinecke <aheinecke@intevation.de>
parents:
5813
diff
changeset
|
73 } |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 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
|
76 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
|
77 |
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
|
78 for (FeatureInfo feature: features) { |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
79 // Currently this should alway be only one |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
80 root.addMember(createFeatureViewer(feature)); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
81 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
|
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 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 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
|
85 |
3521
ffbdd093da74
Fixed size for GetFeatureInfoWindow.
Christian Lins <christian.lins@intevation.de>
parents:
3347
diff
changeset
|
86 setWidth(500); |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
87 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
|
88 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
89 setIsModal(false); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
90 // setShowModalMask(true); |
2470
656df7c0bdda
#556 Made GetFeatureInfoWindow modal.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1402
diff
changeset
|
91 |
1400
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
92 centerInPage(); |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
96 protected DetailViewer createFeatureViewer(FeatureInfo feature) { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
97 DetailViewer detailViewer = new DetailViewer(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
98 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
|
99 |
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
|
100 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
|
101 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
|
102 List <DetailViewerField> fields = new ArrayList<DetailViewerField>(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
103 DetailViewerRecord dr = new DetailViewerRecord(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
104 |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
105 DetailViewerField path_field = null; // 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
|
106 |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2487
diff
changeset
|
107 for (Map.Entry<String, String> entry: entries) { |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
108 String localized; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
109 try { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
110 localized = MSG.getString(entry.getKey()); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
111 } catch (MissingResourceException mre) { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
112 localized = entry.getKey(); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
113 // We filter unwanted information by localization |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
114 // Uncomment to filter out unlocalized elements |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
115 // continue; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
116 } |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
117 if (entry.getKey().equals("PATH")) { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
118 path_field = new DetailViewerField(entry.getKey(), localized); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
119 } else { |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
120 fields.add(new DetailViewerField(entry.getKey(), localized)); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
121 } |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
122 dr.setAttribute(entry.getKey(), entry.getValue()); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
123 } |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
124 if (path_field != null) |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
125 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
|
126 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
127 DetailViewerField[] fieldArray = new DetailViewerField[fields.size()]; |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
128 detailViewer.setFields(fields.toArray(fieldArray)); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
129 detailViewer.setData(new DetailViewerRecord[]{dr}); |
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
130 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
|
131 |
5813
e0ab5a566688
Rework FeatureInfo Window fopr issue 775
Andre Heinecke <aheinecke@intevation.de>
parents:
4965
diff
changeset
|
132 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
|
133 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 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
|
137 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
|
138 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
|
139 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 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
|
141 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
|
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 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
|
144 |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 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
|
146 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
|
147 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
|
148 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
|
149 } |
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 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
|
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 } |
96708d81eaf6
Added an initial GetFeatureInfo tool to get information about points in the map.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |