annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/PointRecord.java @ 4205:0dd8963cec9c

Set also the width of the GaugeTree when resizing the GaugePanel GWT is no longer able to calculate and set the correct width of the GaugeTree since the GaugeTree is added via a Canvas wrapper. Therefore set the width manually when resizing the GaugeTree.
author Björn Ricks <bjoern.ricks@intevation.de>
date Mon, 22 Oct 2012 15:33:16 +0200
parents 65e369ac4f99
children
rev   line source
3983
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.chart;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
2
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
3 import com.google.gwt.json.client.JSONArray;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
4 import com.google.gwt.json.client.JSONBoolean;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
5 import com.google.gwt.json.client.JSONNumber;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
6 import com.google.gwt.json.client.JSONString;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
7 import com.google.gwt.json.client.JSONValue;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
8
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
9 import com.smartgwt.client.widgets.grid.ListGridRecord;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
10
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
11 /** Simple record to store points. */
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
12 public class PointRecord extends ListGridRecord {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
13 protected static final String ATTRIBUTE_X = "X";
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
14 protected static final String ATTRIBUTE_Y = "Y";
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
15 protected static final String ATTRIBUTE_NAME = "name";
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
16 protected static final String ATTRIBUTE_ACTIVE = "active";
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
17
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
18 /** From a JSON-encoded point, create a PointRecord. */
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
19 public static PointRecord fromJSON(JSONArray jsonArray) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
20 JSONValue x = jsonArray.get(0);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
21 JSONNumber y = (JSONNumber) jsonArray.get(1);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
22 JSONString s = (JSONString) jsonArray.get(2);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
23 JSONBoolean b = (JSONBoolean)jsonArray.get(3);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
24
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
25 if(x instanceof JSONNumber) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
26 return new PointRecord(
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
27 b.booleanValue(), ((JSONNumber)x).doubleValue(),
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
28 y.doubleValue(), s.stringValue());
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
29 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
30 else {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
31 return new PointRecord(
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
32 b.booleanValue(), ((JSONString)x).stringValue(),
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
33 y.doubleValue(), s.stringValue());
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
34 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
35 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
36
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
37 protected boolean isTimeseriesPoint = false;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
38
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
39 public PointRecord(boolean isActive, double x, double y, String name) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
40 setActive(isActive);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
41 setName(name);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
42 setX(x);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
43 setY(y);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
44 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
45
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
46 /**
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
47 * Constructor taking the x axis value as String representing a Date value.
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
48 * @param isActive
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
49 * @param x
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
50 * @param y
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
51 * @param name
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
52 */
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
53 public PointRecord(boolean isActive, String x, double y, String name) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
54 setActive(isActive);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
55 setName(name);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
56 setX(x);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
57 setY(y);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
58
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
59 this.isTimeseriesPoint = true;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
60 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
61
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
62 public void setActive(boolean isActive) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
63 setAttribute(ATTRIBUTE_ACTIVE, isActive);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
64 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
65
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
66 public boolean isActive() {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
67 return getAttributeAsBoolean(ATTRIBUTE_ACTIVE);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
68 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
69
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
70 public boolean isTimeseriesPoint() {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
71 return this.isTimeseriesPoint;
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
72 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
73
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
74 public void setName(String name) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
75 setAttribute(ATTRIBUTE_NAME, name);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
76 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
77
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
78 public String getName() {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
79 return getAttributeAsString(ATTRIBUTE_NAME);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
80 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
81
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
82 public void setX(double x) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
83 setAttribute(ATTRIBUTE_X, x);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
84 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
85
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
86 public void setX(String date) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
87 setAttribute(ATTRIBUTE_X, date);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
88 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
89
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
90 public void setY(double y) {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
91 setAttribute(ATTRIBUTE_Y, y);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
92 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
93
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
94 public double getX() {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
95 return getAttributeAsDouble(ATTRIBUTE_X);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
96 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
97
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
98 public String getXAsDate() {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
99 return getAttributeAsString(ATTRIBUTE_X);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
100 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
101
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
102 public double getY() {
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
103 return getAttributeAsDouble(ATTRIBUTE_Y);
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
104 }
65e369ac4f99 ManualPointsEditor supports Date x axis values.
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
105 }

http://dive4elements.wald.intevation.org