annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RiverInfoPanel.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-client/src/main/java/org/dive4elements/river/client/client/ui/RiverInfoPanel.java@821a02bbfb4e
children 172338b1407f
rev   line source
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
1 package org.dive4elements.river.client.client.ui;
4202
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
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
12 import org.dive4elements.river.client.client.FLYSConstants;
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
14 import org.dive4elements.river.client.shared.model.RiverInfo;
4202
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 }

http://dive4elements.wald.intevation.org