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 :

http://dive4elements.wald.intevation.org