Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/RiverInfoPanel.java @ 4568:bbd82bd8e541
flys-client: Cosmetics and warnings.
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Mon, 19 Nov 2012 00:07:53 +0100 |
parents | 1fa244f70ad5 |
children | e70ff0a600a3 |
rev | line source |
---|---|
4202
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import java.util.Iterator; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 import com.google.gwt.core.client.GWT; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 import com.google.gwt.i18n.client.NumberFormat; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 import com.google.gwt.user.client.ui.Anchor; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 import com.google.gwt.user.client.ui.HorizontalPanel; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 import com.google.gwt.user.client.ui.Label; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 import com.google.gwt.user.client.ui.Widget; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.flys.client.client.FLYSConstants; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.flys.client.shared.model.RiverInfo; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 /** |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 */ |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
19 public class RiverInfoPanel extends HorizontalPanel { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 /** |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 * Panel to display information about a river |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 */ |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
24 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 /** The message class that provides i18n strings.*/ |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
26 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 public final static int HEIGHT = 30; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 public final static int BORDER_WIDTH = 3; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 public final static int PADDING = 8; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 public final static int MARGIN = 10; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 public RiverInfoPanel(RiverInfo riverinfo) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 setStyleName("riverinfopanel"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 setHeight("" + HEIGHT + "px"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 setVerticalAlignment(ALIGN_MIDDLE); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 setRiverInfo(riverinfo); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 public void setRiverInfo(RiverInfo riverinfo) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 GWT.log("RiverInfoPanel - setRiverInfo"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 NumberFormat nf = NumberFormat.getDecimalFormat(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 removeAllLabels(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 addLabel(riverinfo.getName(), false); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 String kmtext = ""; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 Double start = riverinfo.getKmStart(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 Double end = riverinfo.getKmEnd(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 if (!riverinfo.isKmUp()) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 Double tmp = end; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 end = start; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 start = tmp; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 if (end != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 kmtext += nf.format(end); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 kmtext += " - "; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
62 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 if (start != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 kmtext += nf.format(start); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 kmtext += " km"; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
68 addLabel(kmtext, false); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
69 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 String qtext = ""; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 Double qmin = riverinfo.getMinQ(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 Double qmax = riverinfo.getMaxQ(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 if (qmin != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 qtext += nf.format(qmin); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 qtext += " " + MSG.gauge_q_unit(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
76 qtext += " - "; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
77 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
78 if (qmax != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 qtext += nf.format(qmax); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 qtext += " " + MSG.gauge_q_unit(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
83 addLabel(qtext, false); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 Long number = riverinfo.getOfficialNumber(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 String url = number != null ? |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 MSG.gauge_river_url() + number : |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 MSG.gauge_river_url(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
89 Anchor anchor = new Anchor(MSG.gauge_river_info_link(), url, "_blank"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 add(anchor); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
92 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 public static int getStaticHeight() { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 return RiverInfoPanel.HEIGHT + |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
95 (2 * RiverInfoPanel.BORDER_WIDTH) + |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
96 (2 * RiverInfoPanel.PADDING) + |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
97 (2 * RiverInfoPanel.MARGIN); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
98 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
99 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
100 private void addLabel(String text, boolean wordwrap) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
101 Label label = new Label(text, wordwrap); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
102 add(label); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
103 setCellHeight(label, "" + HEIGHT + "px"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
104 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
105 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
106 private void removeAllLabels() { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
107 GWT.log("RiverInfoPanel - removeAllLabels"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
108 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
109 Iterator<Widget> it = this.iterator(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
110 while(it.hasNext()) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
111 it.next(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
112 it.remove(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
113 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
114 /* for (Widget wid: this) { */ |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
115 /* this.remove(wid); */ |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
116 /* } */ |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
117 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
118 } |