annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RiverInfoPanel.java @ 7933:900299ab8e6e

Replaced plain gwt with smartgwt components in info panels.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 17 Jun 2014 09:45:48 +0200
parents 720c5bbe2a16
children 5e38e2924c07
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui;
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
10
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11 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
12 import com.google.gwt.i18n.client.NumberFormat;
7933
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
13 import com.smartgwt.client.types.Alignment;
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
14 import com.smartgwt.client.types.VerticalAlignment;
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
15 import com.smartgwt.client.widgets.Label;
6272
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6193
diff changeset
16 import com.smartgwt.client.widgets.form.DynamicForm;
7933
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
17 import com.smartgwt.client.widgets.layout.HLayout;
6418
c702bac7f72e Make wiki url configurable in gwt client (flys/#1197). It's probably better to retrieve
Christian Lins <christian.lins@intevation.de>
parents: 6272
diff changeset
18
c702bac7f72e Make wiki url configurable in gwt client (flys/#1197). It's probably better to retrieve
Christian Lins <christian.lins@intevation.de>
parents: 6272
diff changeset
19 import org.dive4elements.river.client.client.Config;
c702bac7f72e Make wiki url configurable in gwt client (flys/#1197). It's probably better to retrieve
Christian Lins <christian.lins@intevation.de>
parents: 6272
diff changeset
20 import org.dive4elements.river.client.client.FLYS;
c702bac7f72e Make wiki url configurable in gwt client (flys/#1197). It's probably better to retrieve
Christian Lins <christian.lins@intevation.de>
parents: 6272
diff changeset
21 import org.dive4elements.river.client.client.FLYSConstants;
c702bac7f72e Make wiki url configurable in gwt client (flys/#1197). It's probably better to retrieve
Christian Lins <christian.lins@intevation.de>
parents: 6272
diff changeset
22 import org.dive4elements.river.client.shared.model.RiverInfo;
c702bac7f72e Make wiki url configurable in gwt client (flys/#1197). It's probably better to retrieve
Christian Lins <christian.lins@intevation.de>
parents: 6272
diff changeset
23
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
24 /**
4980
e70ff0a600a3 flys-client: Whitespace and doc cosemtics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4202
diff changeset
25 * 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
26 * @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
27 */
7933
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
28 public class RiverInfoPanel extends HLayout {
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
29
6192
165020640d7b Instantiate RiverInfoPanel with a FLYS reference for SSO.
Bernhard Herzog <bh@intevation.de>
parents: 5993
diff changeset
30 /** The flys instance */
165020640d7b Instantiate RiverInfoPanel with a FLYS reference for SSO.
Bernhard Herzog <bh@intevation.de>
parents: 5993
diff changeset
31 protected FLYS flys;
165020640d7b Instantiate RiverInfoPanel with a FLYS reference for SSO.
Bernhard Herzog <bh@intevation.de>
parents: 5993
diff changeset
32
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
33 /** 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
34 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
35
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 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
37 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
38 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
39 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
40
6192
165020640d7b Instantiate RiverInfoPanel with a FLYS reference for SSO.
Bernhard Herzog <bh@intevation.de>
parents: 5993
diff changeset
41 public RiverInfoPanel(FLYS flys, RiverInfo riverinfo) {
165020640d7b Instantiate RiverInfoPanel with a FLYS reference for SSO.
Bernhard Herzog <bh@intevation.de>
parents: 5993
diff changeset
42 this.flys = flys;
165020640d7b Instantiate RiverInfoPanel with a FLYS reference for SSO.
Bernhard Herzog <bh@intevation.de>
parents: 5993
diff changeset
43
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 setStyleName("riverinfopanel");
7933
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
45 setHeight(HEIGHT + "px");
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
46 setAlign(VerticalAlignment.CENTER);
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
47 setAlign(Alignment.LEFT);
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48 setRiverInfo(riverinfo);
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
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51 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
52 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
53
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
54 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
55
7933
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
56 //removeAllLabels();
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58 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
59
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
60 String kmtext = "";
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 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
62 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
63
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
64 if (!riverinfo.isKmUp()) {
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
65 Double tmp = end;
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66 end = start;
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
67 start = tmp;
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
68 }
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
69 if (end != null) {
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
70 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
71 kmtext += " - ";
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
72 }
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
73 if (start != null) {
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
74 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
75 }
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76 kmtext += " km";
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 addLabel(kmtext, false);
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 String qtext = "";
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
81 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
82 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
83 if (qmin != null) {
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84 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
85 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
86 qtext += " - ";
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
87 }
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
88 if (qmax != null) {
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89 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
90 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
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 addLabel(qtext, false);
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
95 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
96 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
97 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
98 MSG.gauge_river_url();
6418
c702bac7f72e Make wiki url configurable in gwt client (flys/#1197). It's probably better to retrieve
Christian Lins <christian.lins@intevation.de>
parents: 6272
diff changeset
99 String wikiBaseUrl = Config.getInstance().getWikiUrl();
6546
7106f9b75004 Add SAML authentication to Info-Button.
Christian Lins <christian.lins@intevation.de>
parents: 6418
diff changeset
100 DynamicForm infoLink = WikiLinks.linkDynamicForm(this.flys, wikiBaseUrl + url,
6272
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6193
diff changeset
101 MSG.gauge_river_info_link());
24be0cc1c67c Replaced the 'old school' wiki link buttons with default links.
Raimund Renkert <rrenkert@intevation.de>
parents: 6193
diff changeset
102 infoLink.setTop(5);
7933
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
103 infoLink.setMargin(5);
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
104 addMember(infoLink);
4202
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
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
107 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
108 return RiverInfoPanel.HEIGHT +
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
109 (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
110 (2 * RiverInfoPanel.PADDING) +
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
111 (2 * RiverInfoPanel.MARGIN);
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
112 }
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 private void addLabel(String text, boolean wordwrap) {
7933
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
115 Label label = new Label("<span style='font-size:1.3em'>" + text + "</span>");
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
116 label.setWrap(wordwrap);
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
117 label.setMargin(5);
900299ab8e6e Replaced plain gwt with smartgwt components in info panels.
Raimund Renkert <rrenkert@intevation.de>
parents: 7247
diff changeset
118 addMember(label);
4202
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
119 }
1fa244f70ad5 Move RiverInfoPanel to its own java file in refactor it
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
120 }

http://dive4elements.wald.intevation.org