Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WQSimpleArrayPanel.java @ 8443:df65f24af5bc
(issue1762) Use getValue to obtain dateRange values
The getToValue was always the initial value regardless
of what has been entered in the form.
According to the documentation both getToValue and getFromValue
should return the "initial value" of the form field. But wether
this means the value before validation corrections or the value
the field is initialized with (which is also not true in both
cases as the field is set only after creation) It returned
the real value for the from date but not for the to date.
With an explicit getValue we workaround this issue.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 22 Oct 2014 17:33:43 +0200 |
parents | 685c2be0541c |
children | 5e38e2924c07 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
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 |
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.google.gwt.core.client.GWT; |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
12 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
|
13 import com.google.gwt.user.client.rpc.AsyncCallback; |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
14 |
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
|
15 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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 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
|
23 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
|
24 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
|
25 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
|
26 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
|
27 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
28 import org.dive4elements.river.client.client.Config; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
29 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
30 import org.dive4elements.river.client.client.services.GaugeInfoService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
31 import org.dive4elements.river.client.client.services.GaugeInfoServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
32 import org.dive4elements.river.client.client.services.WQInfoService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
33 import org.dive4elements.river.client.client.services.WQInfoServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
34 import org.dive4elements.river.client.client.ui.wq.ClickableQDTable; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
35 import org.dive4elements.river.client.client.ui.wq.ClickableWTable; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
36 import org.dive4elements.river.client.client.ui.wq.ClickableWTable.ClickMode; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
37 import org.dive4elements.river.client.client.widgets.DischargeTablesChart; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
38 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
39 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
40 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
41 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
42 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
43 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
44 import org.dive4elements.river.client.shared.model.DoubleArrayData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
45 import org.dive4elements.river.client.shared.model.Gauge; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
46 import org.dive4elements.river.client.shared.model.IntegerOptionsData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
47 import org.dive4elements.river.client.shared.model.WQInfoObject; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
48 import org.dive4elements.river.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
|
49 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
50 import java.util.ArrayList; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
51 import java.util.LinkedHashMap; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
52 import java.util.List; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
53 |
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
|
54 |
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 * 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
|
57 * 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
|
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 * @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
|
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 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
|
62 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
|
63 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
|
64 { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
65 private static final long serialVersionUID = 3223369196267895010L; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
66 |
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
|
67 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
|
68 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
|
69 |
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 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
|
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 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
|
73 |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
74 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
|
75 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
|
76 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
77 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
|
78 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
|
79 |
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
|
80 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
|
81 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
|
82 |
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 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
|
84 |
4200
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
85 protected TabSet tabs; |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
86 |
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
|
87 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
|
88 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
|
89 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
|
90 |
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
|
91 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
|
92 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
|
93 |
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
|
94 |
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 @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
|
96 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
|
97 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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 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
|
104 initializeTables(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
105 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
|
106 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 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
|
108 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 @Override |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
112 public Canvas createOld(DataList dataList) { |
1576
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
113 IntegerOptionsData modeData = findOptionsData(dataList); |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
114 DoubleArrayData valuesData = findValuesData(dataList); |
1576
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
115 |
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
116 DataItem[] modeItems = modeData.getItems(); |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
117 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
118 HLayout layout = new HLayout(); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
119 VLayout valueContainer = new VLayout(); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
120 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
121 Label label = new Label(dataList.getLabel()); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
122 label.setWidth(200); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
123 label.setHeight(20); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
124 |
1576
8e5c5c70c586
Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1556
diff
changeset
|
125 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
|
126 mode.setHeight(20); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
127 mode.setWidth(150); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
128 |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
129 Canvas values = createOldValues(modeData, valuesData); |
1556
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
130 values.setWidth(150); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
131 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
132 valueContainer.addMember(mode); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
133 valueContainer.addMember(values); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
134 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
135 layout.addMember(label); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
136 layout.addMember(valueContainer); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
137 layout.addMember(getBackButton(dataList.getState())); |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
138 |
3324ef9d8341
First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1529
diff
changeset
|
139 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
|
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 @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
|
144 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
|
145 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
|
146 |
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 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
|
148 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
|
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 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
|
151 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
|
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 |
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 |
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 @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
|
157 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
|
158 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
|
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 // 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
|
161 |
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 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
|
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 |
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 |
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 @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
|
167 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
|
168 // 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
|
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 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
172 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
|
173 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
|
174 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
|
175 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 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
|
177 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
|
178 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
|
179 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
|
180 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
181 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
182 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 |
5641 | 184 /** Initialize the w/q/d tables for the helper area. */ |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
185 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
|
186 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
|
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 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
|
195 } |
5333
623e5c9f91ef
Various i18n issues from flys/issue1180 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4921
diff
changeset
|
196 }, ClickMode.SINGLE, true); |
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
|
197 |
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
|
198 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
|
199 |
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
|
200 @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
|
201 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
|
202 // 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
|
203 } |
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
|
204 |
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
|
205 @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
|
206 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
|
207 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
|
208 } |
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
|
209 }, 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
|
210 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
211 fetchWQData(); |
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 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
214 |
5641 | 215 /** Put interactive tables to the helper area. */ |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
216 protected void initializeHelperPanel() { |
4200
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
217 tabs = new TabSet(); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
218 tabs.setWidth100(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
219 tabs.setHeight100(); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
220 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
221 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
|
222 Tab q = new Tab(MSG.wq_table_q()); |
5337
3d7db721a278
Part of i18n fixes for flys/issue1180.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5333
diff
changeset
|
223 Tab c = new Tab(MSG.discharge_tables_chart()); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
224 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
225 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
|
226 q.setPane(qTable); |
4218
6ae99d996f79
flys/issue903: Display the discharge tables of the selected gauge as chart in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4200
diff
changeset
|
227 c.setPane(new DischargeTablesChart(this.artifact)); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
228 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
229 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
|
230 tabs.addTab(q, 1); |
4218
6ae99d996f79
flys/issue903: Display the discharge tables of the selected gauge as chart in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4200
diff
changeset
|
231 tabs.addTab(c, 2); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
232 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
233 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
|
234 } |
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 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
|
238 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
|
239 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
240 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
|
241 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
|
242 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
243 gaugeService.getGaugeInfo(river, refGauge, new AsyncCallback<List<Gauge>>() { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
244 @Override |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
245 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
|
246 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
|
247 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
248 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
249 @Override |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
250 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
|
251 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
|
252 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
|
253 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
254 }); |
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 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
257 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
258 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
|
259 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
|
260 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
261 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
|
262 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
|
263 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
264 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
|
265 new AsyncCallback<WQInfoObject[]>() { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
266 @Override |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
267 public void onFailure(Throwable caught) { |
6557
685c2be0541c
Debug/typo fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
268 GWT.log("Could not receive wq informations."); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
269 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
270 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
4218
diff
changeset
|
271 @Override |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
272 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
|
273 int num = wqi != null ? wqi.length :0; |
6557
685c2be0541c
Debug/typo fixes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
274 GWT.log("Received " + num + " wq informations."); |
2467
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
275 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
276 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
|
277 return; |
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 addWQInfo(wqi); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
281 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
282 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
283 ); |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
284 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
285 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
286 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
287 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
|
288 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
|
289 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
|
290 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
291 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
|
292 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
|
293 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
294 else { |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
295 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
|
296 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
297 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
298 } |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
299 |
070321cf17e1
Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1595
diff
changeset
|
300 |
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
|
301 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
|
302 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
|
303 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
|
304 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
|
305 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
306 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
|
307 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
308 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
309 |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
310 protected Canvas createOldValues( |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
311 IntegerOptionsData modeData, |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
312 DoubleArrayData valuesData |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
313 ) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
314 NumberFormat nf = NumberFormat.getDecimalFormat(); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
315 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
316 DataItem[] items = modeData.getItems(); |
4921
d0fd78d5c1eb
flys/issue1116: Fix m³/q³ label.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4568
diff
changeset
|
317 String unit = items[0].getStringValue().equals("0") ? "cm" : "m³/s"; |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
318 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
319 VLayout layout = new VLayout(); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
320 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
321 for (double val: valuesData.getValues()) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
322 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
|
323 tmp.setHeight(20); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
324 layout.addMember(tmp); |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
325 } |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
326 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
327 return layout; |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
328 } |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
329 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
330 |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
331 protected DoubleArrayData findValuesData(DataList 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
|
332 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
|
333 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
|
334 |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
335 if (tmp instanceof DoubleArrayData) { |
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
336 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
|
337 } |
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 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
|
341 } |
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 |
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 |
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 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
|
345 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
|
346 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
|
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 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
|
349 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
|
350 } |
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 |
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 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
|
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 |
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 |
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 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
|
358 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
|
359 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
|
360 |
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 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
|
362 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
|
363 } |
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 |
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 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
|
366 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
|
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 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
|
369 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
|
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 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
|
372 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
|
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 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
|
376 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
|
377 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
|
378 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
|
379 @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
|
380 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
|
381 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
|
382 } |
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 }); |
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 |
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 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
|
386 |
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 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
|
388 } |
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 |
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 protected Canvas createValuesForm(DataList dataList) { |
1595
e53d773e6992
Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1576
diff
changeset
|
392 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
|
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 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
|
395 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
|
396 } |
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 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
|
399 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
|
400 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
|
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 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
|
403 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
|
404 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
|
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 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
|
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 |
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 |
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 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
|
411 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
|
412 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
|
413 } |
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 |
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 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
|
416 valuesWrapper.addChild(panelW); |
4200
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
417 showWTable(); |
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
|
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 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
|
420 valuesWrapper.addChild(panelQ); |
4200
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
421 showQDTable(); |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
422 } |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
423 } |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
424 |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
425 public void showWTable() { |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
426 if (tabs != null) { |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
427 tabs.selectTab(0); |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
428 } |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
429 } |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
430 |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
431 public void showQDTable() { |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
432 if (tabs != null) { |
1f212836998e
flys/issue901: Changing the W/Q mode in WQSimpleArrayPanel (used in historical discharge calculation) will now switch the W/QD table in the helper panel, too.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
4198
diff
changeset
|
433 tabs.selectTab(1); |
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
|
434 } |
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 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
|
439 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
|
440 } |
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 |
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 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
|
444 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
|
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 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
|
447 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
|
448 } |
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 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
|
450 // 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
|
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 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
|
453 // 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
|
454 } |
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 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
|
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 |
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 |
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 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
|
461 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
|
462 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
|
463 |
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 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
|
465 } |
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 |
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 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
|
469 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
|
470 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
|
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 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
|
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 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
|
475 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
476 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
477 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
478 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
|
479 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
|
480 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
|
481 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
482 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
|
483 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
484 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
|
485 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
486 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
487 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
488 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
|
489 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
|
490 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
|
491 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
492 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
|
493 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
|
494 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
|
495 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
|
496 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
497 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
|
498 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
|
499 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
500 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
501 |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
502 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
|
503 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
504 } |
ff41405a891d
Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
505 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |