Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQSimpleArrayPanel.java @ 4198:1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
The new tables define listener interfaces (clicked lower or upper icon) to listen to user clicks.
In addition to this, there is an enum ClickMode with NONE, SINGLE and RANGE options, which allows to
specifiy, which icons are displayed in the tables. NONE means no icon for user clicks, SINGLE has 1
icon, RANGE 2 icons for lower and upper.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 13:31:25 +0200 |
parents | 070321cf17e1 |
children | 1f212836998e |
rev | line source |
---|---|
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import java.util.ArrayList; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 import java.util.LinkedHashMap; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import java.util.List; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import com.google.gwt.core.client.GWT; |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
8 import com.google.gwt.i18n.client.NumberFormat; |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
9 import com.google.gwt.user.client.rpc.AsyncCallback; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.Canvas; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.Label; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.widgets.form.DynamicForm; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
18 import com.smartgwt.client.widgets.layout.HLayout; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.layout.VLayout; |
4198
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
20 import com.smartgwt.client.widgets.tab.Tab; |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
21 import com.smartgwt.client.widgets.tab.TabSet; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 |
4198
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
23 import de.intevation.flys.client.client.Config; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
24 import de.intevation.flys.client.client.FLYSConstants; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
25 import de.intevation.flys.client.client.services.GaugeInfoService; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
26 import de.intevation.flys.client.client.services.GaugeInfoServiceAsync; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
27 import de.intevation.flys.client.client.services.WQInfoService; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
28 import de.intevation.flys.client.client.services.WQInfoServiceAsync; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
29 import de.intevation.flys.client.client.ui.wq.ClickableQDTable; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
30 import de.intevation.flys.client.client.ui.wq.ClickableWTable; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
31 import de.intevation.flys.client.client.ui.wq.ClickableWTable.ClickMode; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
32 import de.intevation.flys.client.client.ui.wq.QDTable; |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
33 import de.intevation.flys.client.shared.model.ArtifactDescription; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 import de.intevation.flys.client.shared.model.Data; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 import de.intevation.flys.client.shared.model.DataItem; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 import de.intevation.flys.client.shared.model.DataList; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 import de.intevation.flys.client.shared.model.DefaultData; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 import de.intevation.flys.client.shared.model.DefaultDataItem; |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
39 import de.intevation.flys.client.shared.model.DoubleArrayData; |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
40 import de.intevation.flys.client.shared.model.Gauge; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 import de.intevation.flys.client.shared.model.IntegerOptionsData; |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
42 import de.intevation.flys.client.shared.model.WQInfoObject; |
4198
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
43 import de.intevation.flys.client.shared.model.WQInfoRecord; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 /** |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 * An UIProvider for inserting a mode for W or Q and an array of values for each |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 * mode. |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 * |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 */ |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 public class WQSimpleArrayPanel |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 extends AbstractUIProvider |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 implements BlurHandler |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 public static final String FIELD_MODE = "field_mode"; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 public static final String FIELD_VALUES = "field_values"; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 public static final int MODE_W = 0; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
63 protected GaugeInfoServiceAsync gaugeService = |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
64 GWT.create(GaugeInfoService.class); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
65 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
66 protected WQInfoServiceAsync wqInfoService = |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
67 GWT.create(WQInfoService.class); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
68 |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 protected String modeName; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 protected String valuesName; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 protected Canvas valuesWrapper; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 protected DynamicForm modeForm; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 protected DoubleArrayPanel panelW; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 protected DoubleArrayPanel panelQ; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 |
4198
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
78 protected ClickableWTable wTable; |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
79 protected ClickableQDTable qTable; |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
80 |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 @Override |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 public Canvas create(DataList data) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 VLayout rootLayout = new VLayout(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 rootLayout.addMember(createLabel(data)); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 rootLayout.addMember(createModeForm(data)); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 rootLayout.addMember(createValuesForm(data)); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 rootLayout.addMember(getNextButton()); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 initializeMode(data); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
91 initializeTables(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
92 initializeHelperPanel(); |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
93 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 return rootLayout; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 @Override |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
99 public Canvas createOld(DataList dataList) { |
1576
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
100 IntegerOptionsData modeData = findOptionsData(dataList); |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
101 DoubleArrayData valuesData = findValuesData(dataList); |
1576
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
102 |
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
103 DataItem[] modeItems = modeData.getItems(); |
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
104 DataItem[] valuesItems = valuesData.getItems(); |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
105 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
106 HLayout layout = new HLayout(); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
107 VLayout valueContainer = new VLayout(); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
108 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
109 Label label = new Label(dataList.getLabel()); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
110 label.setWidth(200); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
111 label.setHeight(20); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
112 |
1576
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
113 Label mode = new Label(modeItems[0].getLabel()); |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
114 mode.setHeight(20); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
115 mode.setWidth(150); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
116 |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
117 Canvas values = createOldValues(modeData, valuesData); |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
118 values.setWidth(150); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
119 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
120 valueContainer.addMember(mode); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
121 valueContainer.addMember(values); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
122 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
123 layout.addMember(label); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
124 layout.addMember(valueContainer); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
125 layout.addMember(getBackButton(dataList.getState())); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
126 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
127 return layout; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 @Override |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 protected Data[] getData() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 Data mode = getModeAsData(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 if (getMode() == MODE_W) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
136 return new Data[] { mode, getWValuesAsData() }; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
137 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 else { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 return new Data[] { mode, getQValuesAsData() }; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
144 @Override |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
145 public List<String> validate() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
146 List<String> errors = new ArrayList<String>(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
147 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
148 // TODO IMPLEMENT ME |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
150 return errors; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
151 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
152 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 @Override |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 public void onBlur(BlurEvent event) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 // TODO TRIGGER VALIDATION HERE |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
160 protected void initializeMode(DataList dataList) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
161 IntegerOptionsData data = findOptionsData(dataList); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
162 DataItem[] items = data != null ? data.getItems() : null; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 if (items != null) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 String value = items[0].getStringValue(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 modeForm.setValue(modeName, value); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 switchMode(value); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
172 protected void initializeTables() { |
4198
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
173 wTable = new ClickableWTable(new ClickableWTable.WClickedListener() { |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
174 @Override |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
175 public void clickedUpper(double value) { |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
176 // nothing to do here |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
177 } |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
178 |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
179 @Override |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
180 public void clickedLower(double value) { |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
181 panelW.addValue(value); |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
182 } |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
183 }, ClickMode.SINGLE); |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
184 |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
185 qTable = new ClickableQDTable(new ClickableQDTable.QClickedListener() { |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
186 |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
187 @Override |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
188 public void clickedUpper(double value) { |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
189 // nothing to do here |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
190 } |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
191 |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
192 @Override |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
193 public void clickedLower(double value) { |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
194 panelQ.addValue(value); |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
195 } |
1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2467
diff
changeset
|
196 }, ClickableQDTable.ClickMode.SINGLE); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
197 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
198 fetchWQData(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
199 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
200 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
201 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
202 protected void initializeHelperPanel() { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
203 TabSet tabs = new TabSet(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
204 tabs.setWidth100(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
205 tabs.setHeight100(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
206 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
207 Tab w = new Tab(MSG.wq_table_w()); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
208 Tab q = new Tab(MSG.wq_table_q()); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
209 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
210 w.setPane(wTable); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
211 q.setPane(qTable); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
212 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
213 tabs.addTab(w, 0); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
214 tabs.addTab(q, 1); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
215 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
216 helperContainer.addMember(tabs); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
217 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
218 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
219 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
220 protected void fetchWQData() { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
221 ArtifactDescription desc = artifact.getArtifactDescription(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
222 DataList[] data = desc.getOldData(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
223 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
224 final String river = desc.getRiver(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
225 final String refGauge = desc.getReferenceGauge(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
226 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
227 gaugeService.getGaugeInfo(river, refGauge, new AsyncCallback<List<Gauge>>() { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
228 public void onFailure(Throwable throwable) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
229 GWT.log("ERROR WHILE FETCHING GAUGES!"); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
230 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
231 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
232 public void onSuccess(List<Gauge> gauges) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
233 Gauge g = gauges.get(0); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
234 updateWQData(river, g.getLower(), g.getUpper()); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
235 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
236 }); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
237 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
238 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
239 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
240 protected void updateWQData(String river, double lower, double upper) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
241 GWT.log("FETCH WQ INFO FOR " + lower + " - " + upper + " now!"); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
242 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
243 Config config = Config.getInstance(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
244 String locale = config.getLocale(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
245 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
246 wqInfoService.getWQInfo(locale, river, lower, upper, |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
247 new AsyncCallback<WQInfoObject[]>() { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
248 public void onFailure(Throwable caught) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
249 GWT.log("Could not recieve wq informations."); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
250 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
251 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
252 public void onSuccess(WQInfoObject[] wqi) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
253 int num = wqi != null ? wqi.length :0; |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
254 GWT.log("Recieved " + num + " wq informations."); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
255 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
256 if (num == 0) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
257 return; |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
258 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
259 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
260 addWQInfo(wqi); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
261 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
262 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
263 ); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
264 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
265 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
266 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
267 protected void addWQInfo (WQInfoObject[] wqi) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
268 for(WQInfoObject wi: wqi) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
269 WQInfoRecord rec = new WQInfoRecord(wi); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
270 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
271 if (wi.getType().equals("W")) { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
272 wTable.addData(rec); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
273 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
274 else { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
275 qTable.addData(rec); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
276 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
277 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
278 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
279 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
280 |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
281 protected Canvas createLabel(DataList dataList) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
282 Label label = new Label(MSG.wqHistorical()); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
283 label.setWidth100(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
284 label.setHeight(25); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
285 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
286 return label; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
287 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
288 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
289 |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
290 protected Canvas createOldValues( |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
291 IntegerOptionsData modeData, |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
292 DoubleArrayData valuesData |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
293 ) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
294 NumberFormat nf = NumberFormat.getDecimalFormat(); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
295 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
296 DataItem[] items = modeData.getItems(); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
297 String unit = items[0].getStringValue().equals("0") ? "cm" : "q³/s"; |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
298 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
299 VLayout layout = new VLayout(); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
300 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
301 for (double val: valuesData.getValues()) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
302 Label tmp = new Label(nf.format(val) + " " + unit); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
303 tmp.setHeight(20); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
304 layout.addMember(tmp); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
305 } |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
306 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
307 return layout; |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
308 } |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
309 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
310 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
311 protected DoubleArrayData findValuesData(DataList dataList) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
312 DoubleArrayData data = null; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
313 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
314 for (int i = 0, n = dataList.size(); i < n; i++) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
315 Data tmp = dataList.get(i); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
316 |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
317 if (tmp instanceof DoubleArrayData) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
318 return (DoubleArrayData) tmp; |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
319 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
320 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
321 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
322 return null; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
323 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
324 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
325 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
326 protected IntegerOptionsData findOptionsData(DataList dataList) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
327 IntegerOptionsData data = null; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
328 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
329 for (int i = 0, n = dataList.size(); i < n; i++) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
330 Data tmp = dataList.get(i); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
331 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
332 if (tmp instanceof IntegerOptionsData) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
333 return (IntegerOptionsData) tmp; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
334 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
335 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
336 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
337 return null; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
338 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
339 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
340 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
341 protected Canvas createModeForm(DataList dataList) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
342 IntegerOptionsData data = findOptionsData(dataList); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
343 DataItem[] opts = data != null ? data.getItems() : null; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
344 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
345 if (data == null || opts == null) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
346 return new Label("NO MODES FOUND"); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
347 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
348 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
349 modeName = data.getLabel(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
350 modeForm = new DynamicForm(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
351 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
352 RadioGroupItem items = new RadioGroupItem(data.getLabel()); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
353 LinkedHashMap values = new LinkedHashMap(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
354 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
355 for (DataItem opt: opts) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
356 values.put(opt.getStringValue(), opt.getLabel()); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
357 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
358 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
359 items.setValueMap(values); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
360 items.setVertical(false); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
361 items.setShowTitle(false); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
362 items.addChangedHandler(new ChangedHandler() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
363 @Override |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
364 public void onChanged(ChangedEvent event) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
365 switchMode((String) event.getValue()); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
366 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
367 }); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
368 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
369 modeForm.setFields(items); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
370 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
371 return modeForm; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
372 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
373 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
374 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
375 protected Canvas createValuesForm(DataList dataList) { |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
376 DoubleArrayData data = findValuesData(dataList); |
1528
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
377 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
378 if (data == null) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
379 return new Label("NO VALUES GIVEN!"); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
380 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
381 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
382 valuesName = data.getLabel(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
383 panelW = new DoubleArrayPanel(MSG.unitWSingle(), null, this); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
384 panelQ = new DoubleArrayPanel(MSG.unitQSingle(), null, this); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
385 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
386 valuesWrapper = new Canvas(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
387 valuesWrapper.setWidth100(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
388 valuesWrapper.setHeight(35); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
389 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
390 return valuesWrapper; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
391 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
392 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
393 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
394 public void switchMode(String newMode) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
395 for (Canvas child: valuesWrapper.getChildren()) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
396 valuesWrapper.removeChild(child); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
397 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
398 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
399 if (newMode.equals("0")) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
400 valuesWrapper.addChild(panelW); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
401 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
402 else if (newMode.equals("1")) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
403 valuesWrapper.addChild(panelQ); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
404 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
405 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
406 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
407 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
408 public String getModeAsString() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
409 return (String) modeForm.getValue(modeName); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
410 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
411 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
412 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
413 public int getMode() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
414 String modeValue = getModeAsString(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
415 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
416 try { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
417 return Integer.valueOf(modeValue); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
418 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
419 catch (NumberFormatException nfe) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
420 // do something |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
421 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
422 catch (NullPointerException npe) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
423 // do something |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
424 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
425 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
426 return -1; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
427 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
428 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
429 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
430 public Data getModeAsData() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
431 String value = getModeAsString(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
432 DataItem item = new DefaultDataItem(value, value, value); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
433 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
434 return new DefaultData(modeName, null, null, new DataItem[] { item }); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
435 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
436 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
437 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
438 public Data getWValuesAsData() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
439 double[] values = panelW.getInputValues(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
440 String valueStr = getStringValue(values); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
441 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
442 DataItem item = new DefaultDataItem(valueStr, valueStr, valueStr); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
443 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
444 return new DefaultData(valuesName, null, null, new DataItem[] { item }); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
445 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
446 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
447 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
448 public Data getQValuesAsData() { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
449 double[] values = panelQ.getInputValues(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
450 String valueStr = getStringValue(values); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
451 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
452 DataItem item = new DefaultDataItem(valueStr, valueStr, valueStr); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
453 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
454 return new DefaultData(valuesName, null, null, new DataItem[] { item }); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
455 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
456 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
457 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
458 protected static String getStringValue(double[] values) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
459 StringBuilder sb = new StringBuilder(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
460 boolean first = true; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
461 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
462 for (double value: values) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
463 if (first) { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
464 sb.append(String.valueOf(value)); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
465 first = false; |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
466 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
467 else { |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
468 sb.append(";" + String.valueOf(value)); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
469 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
470 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
471 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
472 return sb.toString(); |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
473 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
474 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
475 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |