Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/RiverInfoPanel.java @ 5635:cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 03 Apr 2013 16:17:04 +0200 |
parents | e70ff0a600a3 |
children |
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 /** |
4980
e70ff0a600a3
flys-client: Whitespace and doc cosemtics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4202
diff
changeset
|
17 * Panel to display information about a river. |
4202
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 * @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
|
19 */ |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 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
|
21 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 /** 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
|
23 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
|
24 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 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
|
26 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
|
27 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
|
28 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
|
29 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 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
|
31 setStyleName("riverinfopanel"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 setHeight("" + HEIGHT + "px"); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 setVerticalAlignment(ALIGN_MIDDLE); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 setRiverInfo(riverinfo); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 } |
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 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
|
39 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
|
40 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 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
|
42 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 removeAllLabels(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 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
|
46 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 String kmtext = ""; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 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
|
49 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
|
50 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 if (!riverinfo.isKmUp()) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 Double tmp = end; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 end = start; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 start = tmp; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 if (end != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 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
|
58 kmtext += " - "; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 if (start != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 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
|
62 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 kmtext += " km"; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 addLabel(kmtext, false); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 String qtext = ""; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
68 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
|
69 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
|
70 if (qmin != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 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
|
72 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
|
73 qtext += " - "; |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 if (qmax != null) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
76 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
|
77 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
|
78 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 addLabel(qtext, false); |
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 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
|
83 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
|
84 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
|
85 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
|
86 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
|
87 add(anchor); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
89 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 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
|
91 return RiverInfoPanel.HEIGHT + |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
92 (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
|
93 (2 * RiverInfoPanel.PADDING) + |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 (2 * RiverInfoPanel.MARGIN); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
95 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
96 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
97 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
|
98 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
|
99 add(label); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
100 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
|
101 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
102 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
103 private void removeAllLabels() { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
104 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
|
105 |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
106 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
|
107 while(it.hasNext()) { |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
108 it.next(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
109 it.remove(); |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
110 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
111 /* 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
|
112 /* this.remove(wid); */ |
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 } |
1fa244f70ad5
Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
115 } |