annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ManualPointsEditor.java @ 3983:65e369ac4f99

ManualPointsEditor supports Date x axis values.
author Christian Lins <christian.lins@intevation.de>
date Sat, 29 Sep 2012 11:38:38 +0200
parents 62332fa199bf
children bbd82bd8e541
rev   line source
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.chart;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
3 import com.google.gwt.core.client.GWT;
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
4 import com.google.gwt.i18n.client.DateTimeFormat;
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
5 import com.google.gwt.i18n.client.NumberFormat;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
6 import com.google.gwt.json.client.JSONArray;
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
7 import com.google.gwt.json.client.JSONBoolean;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
8 import com.google.gwt.json.client.JSONNumber;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
9 import com.google.gwt.json.client.JSONParser;
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
10 import com.google.gwt.json.client.JSONString;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11 import com.google.gwt.user.client.rpc.AsyncCallback;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
13 import com.smartgwt.client.types.Alignment;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
14 import com.smartgwt.client.types.ListGridFieldType;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15 import com.smartgwt.client.util.SC;
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
16 import com.smartgwt.client.widgets.Button;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
17 import com.smartgwt.client.widgets.IButton;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
18 import com.smartgwt.client.widgets.Label;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
19 import com.smartgwt.client.widgets.Window;
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
20 import com.smartgwt.client.widgets.events.ClickEvent;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
21 import com.smartgwt.client.widgets.events.ClickHandler;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
22 import com.smartgwt.client.widgets.grid.CellEditValueFormatter;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
23 import com.smartgwt.client.widgets.grid.CellEditValueParser;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
24 import com.smartgwt.client.widgets.grid.CellFormatter;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
25 import com.smartgwt.client.widgets.grid.ListGrid;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
26 import com.smartgwt.client.widgets.grid.ListGridField;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
27 import com.smartgwt.client.widgets.grid.ListGridRecord;
1561
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
28 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
29 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
30 import com.smartgwt.client.widgets.layout.HLayout;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
31 import com.smartgwt.client.widgets.layout.VLayout;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 import de.intevation.flys.client.client.Config;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34 import de.intevation.flys.client.client.FLYSConstants;
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
35 import de.intevation.flys.client.client.event.RedrawRequestEvent;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
36 import de.intevation.flys.client.client.event.RedrawRequestHandler;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
37 import de.intevation.flys.client.client.services.FeedServiceAsync;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
38 import de.intevation.flys.client.client.services.LoadArtifactServiceAsync;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
39 import de.intevation.flys.client.shared.model.Artifact;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40 import de.intevation.flys.client.shared.model.Collection;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41 import de.intevation.flys.client.shared.model.CollectionItem;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 import de.intevation.flys.client.shared.model.Data;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 import de.intevation.flys.client.shared.model.DefaultArtifact;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44 import de.intevation.flys.client.shared.model.DefaultData;
1569
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
45 import de.intevation.flys.client.shared.model.Property;
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
46 import de.intevation.flys.client.shared.model.PropertyGroup;
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
47 import de.intevation.flys.client.shared.model.Recommendation;
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
48 import de.intevation.flys.client.shared.model.Settings;
1569
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
49 import de.intevation.flys.client.shared.model.StringProperty;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
50
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
51 import java.util.Date;
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
52 import java.util.List;
1549
42f1213dfbcc Let ManualPointEditor use RedrawRequests to let freshly edited points show up in Chart.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1548
diff changeset
53
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
54
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
55 /**
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
56 * UI to enter point data and save it to an PointArtifact.
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
57 */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
58 public class ManualPointsEditor
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
59 extends Window
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
60 implements ClickHandler
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
61 {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
62 /** The interface that provides i18n messages. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
63 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64
2924
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
65 /** Part of name of the main data item to be fed. */
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66 public static final String POINT_DATA = "manualpoints.data";
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67
1549
42f1213dfbcc Let ManualPointEditor use RedrawRequests to let freshly edited points show up in Chart.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1548
diff changeset
68 /** When we chaged something, we need a RedrawRequest(Handler). */
42f1213dfbcc Let ManualPointEditor use RedrawRequests to let freshly edited points show up in Chart.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1548
diff changeset
69 protected RedrawRequestHandler redrawRequestHandler;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
71 /** The collection */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 protected Collection collection;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
73
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
74 /** The listGrid showing point entries. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
75 protected ListGrid listGrid;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
76
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
77 protected ListGridFieldType fieldTypeX = ListGridFieldType.FLOAT;
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
78
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
79 /** Service handle to clone and add artifacts to collection. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
80 LoadArtifactServiceAsync loadArtifactService = GWT.create(
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
81 de.intevation.flys.client.client.services.LoadArtifactService.class);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
82
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
83 /** Service to feed the artifact with new point-data. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
84 FeedServiceAsync feedService = GWT.create(
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
85 de.intevation.flys.client.client.services.FeedService.class);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
86
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
87 /** UUID of artifact to feed. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
88 protected String uuid;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
89
1568
2432973ccced Handle manual points on a per-chart(type) basis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1565
diff changeset
90 /** Name of the outputmode, important when feeding data. */
2432973ccced Handle manual points on a per-chart(type) basis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1565
diff changeset
91 protected String outputModeName;
2432973ccced Handle manual points on a per-chart(type) basis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1565
diff changeset
92
2924
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
93 /** Name of the point data item. */
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
94 protected String pointDataItemName;
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
95
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
96
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
97 /**
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
98 * Setup editor dialog.
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
99 * @param collection The collection to use.
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
100 */
1549
42f1213dfbcc Let ManualPointEditor use RedrawRequests to let freshly edited points show up in Chart.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1548
diff changeset
101 public ManualPointsEditor(Collection collection,
1568
2432973ccced Handle manual points on a per-chart(type) basis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1565
diff changeset
102 RedrawRequestHandler handler, String outputModeName
1549
42f1213dfbcc Let ManualPointEditor use RedrawRequests to let freshly edited points show up in Chart.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1548
diff changeset
103 ) {
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
104 this.collection = collection;
1549
42f1213dfbcc Let ManualPointEditor use RedrawRequests to let freshly edited points show up in Chart.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1548
diff changeset
105 this.redrawRequestHandler = handler;
1568
2432973ccced Handle manual points on a per-chart(type) basis.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1565
diff changeset
106 this.outputModeName = outputModeName;
2924
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
107 this.pointDataItemName = outputModeName + "." + POINT_DATA;
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
108 init();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
109 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
110
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
111
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
112 /** Searches collection for first artifact to serve (manual) point data. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
113 public String findManualPointsUUID() {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
114 // TODO Need to be more picky (different points in different diagrams)
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
115 int size = collection.getItemLength();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
116
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
117 for (int i = 0; i < size; i++) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
118 CollectionItem item = collection.getItem(i);
3855
b6b2d9aad95d Fix for #854
Christian Lins <christian.lins@intevation.de>
parents: 3706
diff changeset
119 String dataValue = item.getData().get(pointDataItemName);
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
120 if (dataValue != null) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
121 // Found it.
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
122 uuid = item.identifier();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
123 return uuid;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
124 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
125 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
126
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
127 return null;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
128 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
129
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
130
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
131 /**
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
132 * Initialize the editor window and its components.
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
133 */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
134 protected void init() {
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
135 setTitle(MSG.addpoints());
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
136 setCanDragReposition(true);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
137 setCanDragResize(true);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
138
2905
51ed89b754ae FLYS client: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2482
diff changeset
139 // If no manualpoints artifact found, create it now.
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
140 if(findManualPointsUUID() == null) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
141 addArtifactCreateUI();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
142 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
143 else {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
144 createUI();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
145 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
146 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
147
1547
76377fe3f0c7 Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1545
diff changeset
148
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
149 /** Create and setup/add the ui. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
150 public void createUI() {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
151 Config config = Config.getInstance();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
152
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
153 Button accept = new Button(MSG.label_ok());
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
154 Button cancel = new Button(MSG.label_cancel());
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
155 cancel.addClickHandler(this);
1561
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
156
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
157 accept.addClickHandler(new ClickHandler() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
158 @Override
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
159 public void onClick(ClickEvent e) {
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
160 okClicked();
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
161 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
162 });
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
163
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
164 HLayout buttons = new HLayout();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
165 buttons.addMember(accept);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
166 buttons.addMember(cancel);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
167 buttons.setAlign(Alignment.CENTER);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
168 buttons.setHeight(30);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
169
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
170 VLayout layout = new VLayout();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
171 listGrid = new ListGrid();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
172 listGrid.setWidth100();
1570
eeee85c4d996 Adjusted table height to fill the window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1569
diff changeset
173 listGrid.setHeight("*");
1561
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
174 listGrid.setCanSort(false);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
175 listGrid.setCanEdit(true);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
176 listGrid.setShowHeaderContextMenu(false);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
177
1569
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
178 // Use X and Y as default fallback.
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
179 String xAxis = "X";
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
180 String yAxis = "Y";
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
181
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
182 // Get header text from collection settings
1569
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
183 Settings settings = this.collection.getSettings(outputModeName);
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
184 List<Property> axes = settings.getSettings("axes");
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
185 if(axes != null) {
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
186 for (Property p: axes) {
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
187 PropertyGroup pg = (PropertyGroup)p;
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
188 GWT.log(pg.toString());
1569
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
189 StringProperty id =
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
190 (StringProperty)pg.getPropertyByName("id");
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
191 if(id.getValue().equals("X")) {
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
192 StringProperty name =
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
193 (StringProperty)pg.getPropertyByName("label");
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
194 xAxis = name.getValue();
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
195 }
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
196 else if (yAxis.equals("Y")) {
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
197 StringProperty name =
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
198 (StringProperty)pg.getPropertyByName("label");
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
199 yAxis = name.getValue();
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
200 }
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
201 }
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
202 }
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
203
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
204 CellFormatter format = createCellFormatter();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
205 CellEditValueParser cevp = createCellEditValueParser();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
206 CellEditValueFormatter cevf = createCellEditValueFormatter();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
207
1569
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
208 ListGridField xField =
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
209 new ListGridField(PointRecord.ATTRIBUTE_X, xAxis);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
210 if(xAxis.equalsIgnoreCase("date") || xAxis.equalsIgnoreCase("Datum")) {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
211 // FIXME: This is a hack for Timeseries charts with Date types on the x axis
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
212 xField.setType(ListGridFieldType.DATE);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
213 this.fieldTypeX = ListGridFieldType.DATE;
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
214 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
215 else {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
216 xField.setType(ListGridFieldType.FLOAT);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
217 xField.setCellFormatter(format);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
218 xField.setEditValueParser(cevp);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
219 xField.setEditValueFormatter(cevf);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
220 }
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
221
1569
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
222 ListGridField yField =
b85761d21975 Get the axes name from collection settings and use them as table header.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1568
diff changeset
223 new ListGridField(PointRecord.ATTRIBUTE_Y, yAxis);
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
224 yField.setType(ListGridFieldType.FLOAT);
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
225 yField.setCellFormatter(format);
1604
cb3629a01126 Issue 473.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1594
diff changeset
226 yField.setEditValueParser(cevp);
cb3629a01126 Issue 473.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1594
diff changeset
227 yField.setEditValueFormatter(cevf);
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
228
1562
af29d43cf4da Added basic validation, improved editing function, minor refac.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1561
diff changeset
229 ListGridField nameField = new ListGridField(PointRecord.ATTRIBUTE_NAME,
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
230 MSG.pointname());
1561
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
231 final ListGridField removeField =
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
232 new ListGridField("_removeRecord", MSG.removepoint()){{
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
233 setType(ListGridFieldType.ICON);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
234 setIcon(GWT.getHostPageBaseURL() + MSG.removeFeature());
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
235 setCanEdit(false);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
236 setCanFilter(false);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
237 setCanSort(false);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
238 setCanGroupBy(false);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
239 setCanFreeze(false);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
240 setWidth(25);
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
241 }};
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
242
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
243 ListGridField activeField = new ListGridField(
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
244 PointRecord.ATTRIBUTE_ACTIVE, MSG.selection());
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
245 activeField.setType(ListGridFieldType.BOOLEAN);
1564
3606f2caf93e Make manual Points active by default.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1563
diff changeset
246 activeField.setDefaultValue(true);
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
247
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
248 listGrid.setFields(new ListGridField[] {activeField, xField, yField,
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
249 nameField, removeField});
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
250
1561
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
251 listGrid.addRecordClickHandler(new RecordClickHandler() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
252 @Override
1561
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
253 public void onRecordClick(final RecordClickEvent event) {
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
254 // Just handle remove-clicks
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
255 if(!event.getField().getName().equals(removeField.getName())) {
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
256 return;
2905
51ed89b754ae FLYS client: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2482
diff changeset
257 }
1561
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
258 event.getViewer().removeData(event.getRecord());
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
259 }
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
260 });
3cf3cd8dd92d Made manual points edit- and removable.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1553
diff changeset
261
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
262 // Find the artifacts uuid
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
263 findManualPointsUUID();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
264 CollectionItem item = collection.getItem(uuid);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
265
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
266 // Add points to grid
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
267 if (item != null) {
2924
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
268 // TODO store this from findPointUUID instead (we touched these).
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
269 String jsonData = item.getData().get(pointDataItemName);
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
270 JSONArray jsonArray = (JSONArray) JSONParser.parse(jsonData);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
271 for (int i = 0; i < jsonArray.size(); i++) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
272 JSONArray point = (JSONArray) jsonArray.get(i);
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
273 listGrid.addData(PointRecord.fromJSON(point));
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
274 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
275 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
276 else {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
277 GWT.log("ManualPointsEditor: No item found for " + uuid);
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
278 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
279
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
280 IButton button = new IButton(MSG.newpoint());
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
281 button.setTop(250);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
282 button.addClickHandler(new ClickHandler() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
283 @Override
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
284 public void onClick(ClickEvent event) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
285 listGrid.startEditingNew();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
286 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
287 });
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
288
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
289 layout.addMember(listGrid);
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
290 layout.addMember(button);
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
291
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
292 addItem(layout);
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
293
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
294 addItem(buttons);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
295 setWidth(380);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
296 setHeight(470);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
297 centerInPage();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
298 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
299
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
300
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
301 protected CellFormatter createCellFormatter() {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
302 return new CellFormatter() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
303 @Override
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
304 public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
305 if(value != null) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
306 NumberFormat nf = NumberFormat.getDecimalFormat();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
307 try {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
308 double d = Double.valueOf(value.toString()).doubleValue();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
309 return nf.format(d);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
310 } catch (Exception e) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
311 return value.toString();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
312 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
313 } else {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
314 return null;
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
315 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
316 }};
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
317 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
318
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
319
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
320 protected CellEditValueParser createCellEditValueParser() {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
321 return new CellEditValueParser() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
322 @Override
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
323 public Object parse(Object value, ListGridRecord record, int rowNum, int colNum) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
324 if (value == null)
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
325 return null;
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
326 try {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
327 NumberFormat nf = NumberFormat.getDecimalFormat();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
328 double d = nf.parse(value.toString());
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
329 return (new Double(d)).toString();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
330 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
331 catch(NumberFormatException nfe) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
332 return value;
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
333 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
334 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
335 };
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
336 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
337
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
338
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
339 protected CellEditValueFormatter createCellEditValueFormatter() {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
340 return new CellEditValueFormatter() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
341 @Override
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
342 public Object format(Object value, ListGridRecord record, int rowNum, int colNum) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
343 if (value == null) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
344 return "";
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
345 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
346 NumberFormat nf = NumberFormat.getDecimalFormat();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
347 try {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
348 double d = Double.valueOf(value.toString()).doubleValue();
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
349 return nf.format(d);
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
350 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
351 catch(NumberFormatException nfe) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
352 return value;
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
353 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
354 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
355 };
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
356 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
357
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
358 protected String getLocaleDateFormat() {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
359 String loc = Config.getInstance().getLocale();
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
360 if ("de".equals(loc)) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
361 return "yy.MM.yyyy";
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
362 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
363 else {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
364 return "MM/dd/yyyy";
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
365 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
366 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
367
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
368 protected String formatDate(Date date) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
369 DateTimeFormat dtf = DateTimeFormat.getFormat(getLocaleDateFormat());
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
370 return dtf.format(date);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
371 }
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
372
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
373 /** Create JSON representation of the points present in the list grid. */
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
374 protected JSONArray jsonArrayFromListGrid() {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
375 JSONArray list = new JSONArray();
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
376 int idx = 0;
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
377
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
378 for(ListGridRecord record : listGrid.getRecords()) {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
379 if (record instanceof PointRecord) {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
380 JSONArray data = new JSONArray();
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
381
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
382 PointRecord point = (PointRecord) record;
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
383 if(point.isTimeseriesPoint()) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
384 data.set(0, new JSONString(point.getXAsDate()));
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
385 GWT.log("Date: " + point.getXAsDate());
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
386 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
387 else {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
388 data.set(0, new JSONNumber(point.getX()));
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
389 }
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
390 data.set(1, new JSONNumber(point.getY()));
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
391 data.set(2, new JSONString(point.getName()));
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
392 data.set(3, JSONBoolean.getInstance(point.isActive()));
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
393
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
394 list.set(idx, data);
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
395 idx++;
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
396 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
397 else {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
398 JSONArray data = new JSONArray();
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
399
1565
87f5ed6960e8 Improved form validation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1564
diff changeset
400 String nameString = record.getAttributeAsString(PointRecord.ATTRIBUTE_NAME);
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
401 // Apply default name if none set.
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
402 if (nameString == null || nameString.equals("")) {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
403 String xString = record.getAttributeAsString(
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
404 PointRecord.ATTRIBUTE_X);
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
405 String yString = record.getAttributeAsString(
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
406 PointRecord.ATTRIBUTE_Y);
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
407 nameString = xString + "/" + yString;
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
408 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
409
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
410 if(fieldTypeX.equals(ListGridFieldType.DATE)) {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
411 Date date = record.getAttributeAsDate(PointRecord.ATTRIBUTE_X);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
412 data.set(0, new JSONString(formatDate(date)));
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
413 GWT.log("Date: " + formatDate(date));
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
414 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
415 else {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
416 data.set(0, new JSONNumber(record.
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
417 getAttributeAsDouble(PointRecord.ATTRIBUTE_X)));
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
418 }
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
419 data.set(1, new JSONNumber(record.
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
420 getAttributeAsDouble(PointRecord.ATTRIBUTE_Y)));
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
421 data.set(2, new JSONString(nameString));
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
422 data.set(3, JSONBoolean.getInstance(record.getAttributeAsBoolean(
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
423 PointRecord.ATTRIBUTE_ACTIVE)));
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
424
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
425 list.set(idx, data);
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
426 idx++;
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
427 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
428 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
429 return list;
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
430 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
431
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
432
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
433 /**
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
434 * Called when OK Button was clicked. Then, if entered values are valid,
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
435 * fire a RedrawRequest and destroy.
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
436 */
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
437 protected void okClicked() {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
438 if(isDialogValid()) {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
439 // Feed JSON-encoded content of listgrid.
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
440 JSONArray list = jsonArrayFromListGrid();
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
441
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
442 Data[] feedData = new Data[] {
2924
60c375173263 Minor refactoring.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 2905
diff changeset
443 DefaultData.createSimpleStringData(pointDataItemName,
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
444 list.toString())
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
445 };
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
446
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
447 feedService.feed(
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
448 Config.getInstance().getLocale(),
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
449 new DefaultArtifact(uuid, "TODO:hash"),
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
450 feedData,
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
451 new AsyncCallback<Artifact>() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
452 @Override
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
453 public void onFailure(Throwable caught) {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
454 GWT.log("Could not feed artifact with points.");
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
455 SC.warn(MSG.getString(caught.getMessage()));
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
456 enable();
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
457 }
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
458 @Override
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
459 public void onSuccess(Artifact fartifact) {
3706
b7e93531322f Cosmetics
Christian Lins <christian.lins@intevation.de>
parents: 2924
diff changeset
460 GWT.log("Successfully set points");
1563
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
461 redrawRequestHandler.onRedrawRequest(
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
462 new RedrawRequestEvent());
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
463 destroy();
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
464 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
465 });
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
466 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
467 else {
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
468 GWT.log("Dialog not valid");
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
469 SC.warn(MSG.error_dialog_not_valid());
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
470 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
471 }
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
472
41abc345d2f1 Added dummy handling for new boolean property of each point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1562
diff changeset
473
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
474 /** Add a ManualPointArtifact to Collection. */
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
475 public void addArtifactCreateUI() {
1553
9ad19e31d149 Improved points UI to also respect language and name of point.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1549
diff changeset
476 final Label standByLabel = new Label(MSG.standby());
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
477 addItem(standByLabel);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
478
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
479 setWidth(380);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
480 setHeight(470);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
481 centerInPage();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
482
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
483 Config config = Config.getInstance();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
484 String locale = config.getLocale();
2905
51ed89b754ae FLYS client: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2482
diff changeset
485
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
486 loadArtifactService.load(
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
487 this.collection,
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
488 new Recommendation("manualpoints", ""),
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
489 "manualpoints",
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
490 locale,
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
491 new AsyncCallback<Artifact>() {
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
492 @Override
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
493 public void onFailure(Throwable caught) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
494 GWT.log("Creating manualpoint artifact failed!");
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
495 }
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
496 @Override
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
497 public void onSuccess(Artifact artifact) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
498 GWT.log("Successfully created artifact.");
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
499 removeItem(standByLabel);
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
500 uuid = artifact.getUuid();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
501 createUI();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
502 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
503 });
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
504 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
505
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
506
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
507 /**
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
508 * This method is called when the user aborts point editing.
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
509 * @param event The event.
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
510 */
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents: 3859
diff changeset
511 @Override
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
512 public void onClick(ClickEvent event) {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
513 this.destroy();
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
514 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
515
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
516
1565
87f5ed6960e8 Improved form validation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1564
diff changeset
517 /** Return false if x or y attribute is missing. */
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
518 protected boolean isDialogValid() {
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
519 boolean valid = true;
1565
87f5ed6960e8 Improved form validation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1564
diff changeset
520 for (ListGridRecord record : listGrid.getRecords()) {
3859
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
521 try {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
522 if (record.getAttribute(PointRecord.ATTRIBUTE_X) == null
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
523 || record.getAttribute(PointRecord.ATTRIBUTE_Y) == null) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
524 return false;
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
525 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
526 }
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
527 catch(IllegalArgumentException ex) {
62332fa199bf Work on "Date" support for ManualPointsEditor.
Christian Lins <christian.lins@intevation.de>
parents: 3855
diff changeset
528
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
529 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
530 }
1604
cb3629a01126 Issue 473.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1594
diff changeset
531 if (listGrid.hasErrors()) {
cb3629a01126 Issue 473.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1594
diff changeset
532 valid = false;
cb3629a01126 Issue 473.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1594
diff changeset
533 }
1545
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
534 return valid;
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
535 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
536 }
2f0150f21e77 Added basic UI to enter manual points.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
537 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org