annotate flys-client/src/main/java/org/dive4elements/river/client/client/ui/map/GetFeatureInfoWindow.java @ 5834:f507086aa94b

Repaired internal references.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:31:32 +0200
parents flys-client/src/main/java/de/intevation/flys/client/client/ui/map/GetFeatureInfoWindow.java@79717f1cf6eb
children 821a02bbfb4e
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 :

http://dive4elements.wald.intevation.org