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