Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/InfoPanel.java @ 9063:b6919e3c2d86
work on uinfo-inundation_duration states
author | gernotbelger |
---|---|
date | Tue, 08 May 2018 15:21:23 +0200 |
parents | 5e38e2924c07 |
children | 1d6e515add81 |
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.stationinfo; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 import com.google.gwt.core.client.GWT; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.types.Overflow; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.VLayout; |
6191
9b521dfb8920
Pass the FLYS instance to the InfoPanel class.
Bernhard Herzog <bh@intevation.de>
parents:
5993
diff
changeset
|
15 import org.dive4elements.river.client.client.FLYS; |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
16 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
17 import org.dive4elements.river.client.client.services.RiverInfoService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
18 import org.dive4elements.river.client.client.services.RiverInfoServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
19 import org.dive4elements.river.client.client.ui.RiverInfoPanel; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
20 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
21 import org.dive4elements.river.client.shared.model.RiverInfo; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 /** |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
24 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
26 public abstract class InfoPanel extends VLayout { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 |
6191
9b521dfb8920
Pass the FLYS instance to the InfoPanel class.
Bernhard Herzog <bh@intevation.de>
parents:
5993
diff
changeset
|
28 /** The instance of FLYS */ |
9b521dfb8920
Pass the FLYS instance to the InfoPanel class.
Bernhard Herzog <bh@intevation.de>
parents:
5993
diff
changeset
|
29 protected FLYS flys; |
9b521dfb8920
Pass the FLYS instance to the InfoPanel class.
Bernhard Herzog <bh@intevation.de>
parents:
5993
diff
changeset
|
30 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 /** Name of the river */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 protected String river; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 /** The message class that provides i18n strings.*/ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 |
8856 | 37 protected RiverInfoServiceAsync riverInfoService = GWT.create( |
38 RiverInfoService.class); | |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 /** Panel to show the info about the river */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 protected RiverInfoPanel riverinfopanel; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 protected InfoListGrid listgrid; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 public final static String SECTION_ID = "InfoPanelSection"; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 |
6191
9b521dfb8920
Pass the FLYS instance to the InfoPanel class.
Bernhard Herzog <bh@intevation.de>
parents:
5993
diff
changeset
|
47 public InfoPanel(FLYS flys, InfoListGrid listgrid) { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 setOverflow(Overflow.HIDDEN); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 setStyleName("infopanel"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 |
6191
9b521dfb8920
Pass the FLYS instance to the InfoPanel class.
Bernhard Herzog <bh@intevation.de>
parents:
5993
diff
changeset
|
51 this.flys = flys; |
9b521dfb8920
Pass the FLYS instance to the InfoPanel class.
Bernhard Herzog <bh@intevation.de>
parents:
5993
diff
changeset
|
52 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 this.listgrid = listgrid; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 this.addMember(listgrid); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 /** |
4980
e70ff0a600a3
flys-client: Whitespace and doc cosemtics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4956
diff
changeset
|
58 * Sets and loads the river data if river is not the current set river. |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 public void setRiver(String river) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 if (!river.equals(this.river)) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
62 this.river = river; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 this.refresh(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 /** |
4980
e70ff0a600a3
flys-client: Whitespace and doc cosemtics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4956
diff
changeset
|
68 * Sets the data and closes not corresponding folds in the gauge tree. |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
69 */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 public void setData(DataList[] data) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 this.listgrid.setData(data); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 protected void render(RiverInfo riverinfo) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 if (this.riverinfopanel == null) { |
6192
165020640d7b
Instantiate RiverInfoPanel with a FLYS reference for SSO.
Bernhard Herzog <bh@intevation.de>
parents:
6191
diff
changeset
|
76 this.riverinfopanel = new RiverInfoPanel(this.flys, riverinfo); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
77 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
78 this.addMember(this.riverinfopanel, 0); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 riverinfopanel.setRiverInfo(riverinfo); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
83 this.listgrid.setRiverInfo(riverinfo); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 protected void removeAllMembers() { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 removeMembers(getMembers()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
89 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 protected abstract void refresh(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 |
7934
71a2e408adca
Moved info stack section to top level widget (parameterlist).
Raimund Renkert <rrenkert@intevation.de>
parents:
6192
diff
changeset
|
92 public abstract String getSectionTitle(); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 } |