annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/sq/SQCampaignChart.java @ 5861:172338b1407f

GWT client: Added copyright header.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:30:15 +0200
parents 5aa05a7a34b7
children ea9eef426962
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui.sq;
3373
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import com.google.gwt.core.client.GWT;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import com.google.gwt.json.client.JSONNumber;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import com.google.gwt.json.client.JSONObject;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import com.google.gwt.json.client.JSONString;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import com.smartgwt.client.types.Alignment;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.widgets.Img;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import com.smartgwt.client.widgets.events.ResizedHandler;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import com.smartgwt.client.widgets.layout.VLayout;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
20 import org.dive4elements.river.client.client.Config;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
21 import org.dive4elements.river.client.shared.model.Artifact;
3373
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 public class SQCampaignChart extends VLayout {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 private final Artifact artifact;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 protected Img chartImg;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 public SQCampaignChart(Artifact artifact, ResizedHandler resizeHandler) {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 super();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 this.artifact = artifact;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 this.chartImg = new Img();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 addResizedHandler(resizeHandler);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 setAlign(Alignment.CENTER);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 }
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 public void update() {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 Config config = Config.getInstance();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 String locale = config.getLocale();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
43
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 int hWidth = getWidth() - 12;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 int hHeight = getHeight() - 12;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 if ((int) (hHeight * 4f / 3) < hWidth) {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 hWidth = (int) (hHeight * 4f / 3);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 }
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 else {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 hHeight = (int) (hWidth * 3f / 4);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 }
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 String river = artifact.getArtifactDescription().getRiver();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 JSONObject jfix = new JSONObject();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57 JSONObject jfilter = new JSONObject();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58 JSONObject jrName = new JSONObject();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 JSONString jrValue = new JSONString(river);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60 JSONObject jextent = new JSONObject();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61 JSONNumber jwidth = new JSONNumber(hWidth);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 JSONNumber jheight = new JSONNumber(hHeight);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64 jrName.put("name", jrValue);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
65 jfilter.put("river", jrName);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 jextent.put("width", jwidth);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67 jextent.put("height", jheight);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 jfilter.put("extent", jextent);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 jfix.put("sq", jfilter);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70 String filter = jfix.toString();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 String imgUrl = GWT.getModuleBaseURL();
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 imgUrl += "sq-km-chart";
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 imgUrl += "?locale=" + locale;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 imgUrl += "&filter=" + filter;
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 if (chartImg != null && hasMember(chartImg)) {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 chartImg.setWidth(hWidth);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 chartImg.setHeight(hHeight);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 chartImg.setSrc(imgUrl);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 }
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 else {
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 chartImg = new Img(imgUrl, hWidth, hHeight);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 addMember(chartImg);
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 }
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 }
86e69788c946 Added a new UIProvider that allows the input of a time period; the helper panel displays the field campaigns of MINFO's SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 }

http://dive4elements.wald.intevation.org