Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeDischargeCurvePanel.java @ 4254:33b15ac17fd1
Only create and add GaugePanel when necessary
The GaugePanel isn't created always and only show if WINFO and a river is
selected now. It is only created on demand. Therefore all access to the
GaugePanel is abstraced via methods that check if the GaugePanel is null before
accessing it's methods.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Thu, 25 Oct 2012 13:58:53 +0200 |
parents | bbc49d9450c8 |
children | 8f9f80db46f3 |
rev | line source |
---|---|
4160
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import java.util.Iterator; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 import java.util.LinkedHashMap; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 import java.util.Map; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 import com.google.gwt.core.client.GWT; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 import com.smartgwt.client.types.VerticalAlignment; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.Canvas; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.Label; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.widgets.form.DynamicForm; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.form.fields.SelectItem; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.HLayout; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.layout.VLayout; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.client.shared.model.Data; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.client.shared.model.DataItem; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.flys.client.shared.model.DataList; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.flys.client.shared.model.DefaultData; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.shared.model.DefaultDataItem; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.flys.client.client.FLYSConstants; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
24 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
26 /** |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 * This UIProvider displays the old DataItems of GaugeDischargeCurveArtifact |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 * |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 */ |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 public class GaugeDischargeCurvePanel |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 extends AbstractUIProvider |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 { |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 /** The message class that provides i18n strings.*/ |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 protected FLYSConstants messages = GWT.create(FLYSConstants.class); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 /** The combobox.*/ |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 protected DynamicForm form; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 @Override |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 public Canvas create(DataList data) { |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 VLayout layout = new VLayout(); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 return layout; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 } |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 @Override |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 public Canvas createOld(DataList dataList) { |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 HLayout layout = new HLayout(); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 VLayout vLayout = new VLayout(); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 vLayout.setWidth("400px"); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 int size = dataList.size(); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 for (int i = 0; i < size; i++) { |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 Data data = dataList.get(i); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 DataItem[] items = data.getItems(); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 for (DataItem item: items) { |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 HLayout hLayout = new HLayout(); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 hLayout.addMember(new Label(item.getLabel())); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 hLayout.addMember(new Label(item.getStringValue())); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
62 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 vLayout.addMember(hLayout); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 vLayout.setWidth("130px"); |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 } |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 } |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
68 return vLayout; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
69 } |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 @Override |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 protected Data[] getData() { |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 return null; |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 } |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 } |
bbc49d9450c8
Add a new panel to show settings of a gauge discharge curve
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
76 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |