Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/OverviewOutputTab.java @ 2982:d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
flys-client/trunk@4981 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 13 Jul 2012 10:09:20 +0000 |
parents | 5161e25392ea |
children | e746e57c65c0 |
rev | line source |
---|---|
2977
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.chart; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 import java.util.Date; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 import java.util.HashMap; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 import java.util.Map; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
6 import java.util.Set; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 import com.google.gwt.core.client.GWT; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.Canvas; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.Img; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.widgets.events.ResizedEvent; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.events.ResizedHandler; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.HLayout; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.layout.VLayout; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.client.client.Config; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.client.client.ui.CollectionView; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.flys.client.client.ui.OutputTab; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.shared.model.Collection; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.flys.client.shared.model.OutputMode; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 /** |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 * An overview output tab. This tab displays an overview of all charts |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 * integrated in the current calculation mode. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 * |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 */ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 public class OverviewOutputTab |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 extends OutputTab |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 implements ResizedHandler |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 /** The collection view.*/ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 protected CollectionView view; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 /** The root layout. */ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 protected HLayout root; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 /** The columns */ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 protected VLayout[] columns; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 /** The chart container.*/ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 protected Canvas[][] charts; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 /** All relevant output modes. */ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 protected Map<String, OutputMode> relModes; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 public OverviewOutputTab( |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 String title, |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 Collection collection, |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 OutputMode mode, |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 CollectionView collectionView) |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 super(title, collection, collectionView, mode); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 relModes = new HashMap<String, OutputMode>(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 Map<String, OutputMode> modes = collection.getOutputModes(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 Set<String> keys = modes.keySet(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 // Get all relevant outputs. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 for (String key: keys) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 OutputMode m = modes.get(key); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 if (m.getType().equals("chart")) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 relModes.put(key, m); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 root = new HLayout(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 setPane(root); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 root.addResizedHandler(this); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 // Get the column and row count and initialize the grid. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 int width = getColumnCount(relModes.size()); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 int height = getRowCount(relModes.size()); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 charts = new Canvas[width][height]; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 columns = new VLayout[width]; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 for (int i = 0; i < width; i++) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 columns[i] = new VLayout(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 root.addMember(columns[i]); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 for (int j = 0; j < height; j++) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 charts[i][j] = new Canvas(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 // This is for 3, 6 or 9 charts only! |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 // TODO: Calculate the height. |
2982
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
91 charts[i][j].setHeight("50%"); |
2977
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 String type = |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 ((OutputMode)relModes.values() |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 .toArray()[j + i * height]).getName(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 columns[i].addMember(charts[i][j]); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 charts[i][j].addChild( |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 new Img(getImgUrl( |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 charts[i][j].getWidth(), |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 charts[i][j].getHeight(), type))); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 /** |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 * Resize handler. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 * |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 * @param event The resize event. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 */ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 @Override |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 public void onResized(ResizedEvent event) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 for (int i = 0; i < charts.length; i++) { |
2982
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
115 // This is for 3, 6 or 9 charts only! |
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
116 // TODO: Calculate the width. |
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
117 columns[i].setWidth(root.getWidth()/3); |
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
118 |
2977
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 for (int j = 0; j < charts[i].length; j++) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 String type = |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 ((OutputMode)relModes.values() |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 .toArray()[j + i * charts[i].length]).getName(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 Canvas[] children = charts[i][j].getChildren(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 for (int k = 0; k < children.length; k++) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 charts[i][j].removeChild(children[k]); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 charts[i][j].addChild(new Img( |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 getImgUrl( |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 charts[i][j].getWidth(), |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 charts[i][j].getHeight(), |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 type), |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 charts[i][j].getWidth(), |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 charts[i][j].getHeight() |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 )); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 /** |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 * Returns the column count for the grid. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 * |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 * @param count all fields |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 * @return the column count |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 */ |
2982
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
146 protected int getRowCount(int count) { |
2977
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 if (count <= 3) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 return 1; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 else if (count > 3 && count < 9) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 return 2; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 else { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 return 3; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 /** |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 * Returns the row count for the grid. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 * |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 * @param count all fields |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 * @return the row count |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 */ |
2982
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
165 protected int getColumnCount(int count) { |
2977
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 if(count <= 3) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 return count; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 else if(count > 3 && count < 9) { |
2982
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
170 return ((count + (count % 2))/getRowCount(count)); |
2977
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 else { |
2982
d2a54ae0016b
Switched from 2 columns and 3 rows to 3 columns and 2 rows in sq chart overview.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2977
diff
changeset
|
173 return (count + (3 - (count % 3))/getRowCount(count)); |
2977
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
174 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
178 /** |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 * Builds the URL that points to the chart image. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 * |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
181 * @param width The width of the requested chart. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 * @param height The height of the requested chart. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
183 * @param xr Optional x range (used for zooming). |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 * @param yr Optional y range (used for zooming). |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
185 * |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
186 * @return the URL to the chart image. |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 */ |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 protected String getImgUrl(int width, int height, String type) { |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 Config config = Config.getInstance(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
191 String imgUrl = GWT.getModuleBaseURL(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 imgUrl += "chart"; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
193 imgUrl += "?uuid=" + collection.identifier(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 imgUrl += "&type=" + type; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
195 imgUrl += "&locale=" + config.getLocale(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 imgUrl += "×tamp=" + new Date().getTime(); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
197 imgUrl += "&width=" + Integer.toString(width); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
198 imgUrl += "&height=" + Integer.toString(height); |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
200 return imgUrl; |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 } |
5161e25392ea
Added chart overview to sq relation in minfo module.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |