annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQSimpleArrayPanel.java @ 5462:f2371f3aaf03

Show top level folder icons only if node has no factory If you have an empty folder the folder icon is still shown. This makes it possible to add functional "Top Level" entries in the Datacage
author Andre Heinecke <aheinecke@intevation.de>
date Tue, 26 Mar 2013 18:29:13 +0100
parents 3d7db721a278
children ec53bdeaaf76
rev   line source
1528
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import 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
4 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
5 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
6
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
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 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
18 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
19
4198
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
20 import de.intevation.flys.client.client.Config;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
21 import de.intevation.flys.client.client.FLYSConstants;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
22 import de.intevation.flys.client.client.services.GaugeInfoService;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
23 import de.intevation.flys.client.client.services.GaugeInfoServiceAsync;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
24 import de.intevation.flys.client.client.services.WQInfoService;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
25 import de.intevation.flys.client.client.services.WQInfoServiceAsync;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
26 import de.intevation.flys.client.client.ui.wq.ClickableQDTable;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
27 import de.intevation.flys.client.client.ui.wq.ClickableWTable;
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
28 import de.intevation.flys.client.client.ui.wq.ClickableWTable.ClickMode;
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
29 import de.intevation.flys.client.client.widgets.DischargeTablesChart;
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
30 import de.intevation.flys.client.shared.model.ArtifactDescription;
1528
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 import de.intevation.flys.client.shared.model.Data;
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 import de.intevation.flys.client.shared.model.DataItem;
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 import de.intevation.flys.client.shared.model.DataList;
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 import de.intevation.flys.client.shared.model.DefaultData;
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35 import de.intevation.flys.client.shared.model.DefaultDataItem;
1595
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
36 import de.intevation.flys.client.shared.model.DoubleArrayData;
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
37 import de.intevation.flys.client.shared.model.Gauge;
1528
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 import de.intevation.flys.client.shared.model.IntegerOptionsData;
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
39 import de.intevation.flys.client.shared.model.WQInfoObject;
4198
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
40 import de.intevation.flys.client.shared.model.WQInfoRecord;
1528
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
42 import java.util.ArrayList;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
43 import java.util.LinkedHashMap;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
44 import java.util.List;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
45
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
46
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 /**
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 * 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
49 * 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
50 *
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 * @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
52 */
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 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
54 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
55 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
56 {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
57 private static final long serialVersionUID = 3223369196267895010L;
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
58
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
59 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
60 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
61
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 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
63
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 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
65
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
66 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
67 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
68
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
69 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
70 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
71
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
72 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
73 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
74
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 protected 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
76
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
77 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
78
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
79 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
80 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
81 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
82
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
83 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
84 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
85
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
86
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 @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
88 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
89 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
90 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
91 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
92 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
93 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
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 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
96 initializeTables();
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
97 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
98
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 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
100 }
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
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 @Override
1556
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
104 public Canvas createOld(DataList dataList) {
1576
8e5c5c70c586 Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1556
diff changeset
105 IntegerOptionsData modeData = findOptionsData(dataList);
1595
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
106 DoubleArrayData valuesData = findValuesData(dataList);
1576
8e5c5c70c586 Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1556
diff changeset
107
8e5c5c70c586 Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1556
diff changeset
108 DataItem[] modeItems = modeData.getItems();
1556
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
109
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
110 HLayout layout = new HLayout();
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
111 VLayout valueContainer = new VLayout();
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
112
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
113 Label label = new Label(dataList.getLabel());
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
114 label.setWidth(200);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
115 label.setHeight(20);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
116
1576
8e5c5c70c586 Implemented WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1556
diff changeset
117 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
118 mode.setHeight(20);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
119 mode.setWidth(150);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
120
1595
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
121 Canvas values = createOldValues(modeData, valuesData);
1556
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
122 values.setWidth(150);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
123
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
124 valueContainer.addMember(mode);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
125 valueContainer.addMember(values);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
126
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
127 layout.addMember(label);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
128 layout.addMember(valueContainer);
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
129 layout.addMember(getBackButton(dataList.getState()));
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
130
3324ef9d8341 First step to implement WQSimpleArrayPanel.createOld().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1529
diff changeset
131 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
132 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 @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
136 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
137 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
138
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 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
140 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
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 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
143 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
144 }
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 }
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
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 @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
149 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
150 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
151
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 // 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
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 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
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
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
157
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 @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
159 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
160 // 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
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
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 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
165 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
166 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
167
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 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
169 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
170 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
171 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
172 }
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 }
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
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
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
176 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
177 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
178 @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
179 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
180 // 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
181 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
182
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
183 @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
184 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
185 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
186 }
5333
623e5c9f91ef Various i18n issues from flys/issue1180 .
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4921
diff changeset
187 }, 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
188
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 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
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 @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
192 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
193 // 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
194 }
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
195
1cdbd8a0c994 Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2467
diff changeset
196 @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
197 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
198 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
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 }, 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
201
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
202 fetchWQData();
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
203 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
204
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
205
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
206 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
207 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
208 tabs.setWidth100();
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
209 tabs.setHeight100();
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 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
212 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
213 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
214
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
215 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
216 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
217 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
218
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
219 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
220 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
221 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
222
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
223 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
224 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
225
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
226
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
227 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
228 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
229
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
230 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
231 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
232
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
233 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
234 @Override
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
235 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
236 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
237 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
238
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
239 @Override
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
240 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
241 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
242 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
243 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
244 });
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
245 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
246
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 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
249 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
250
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
251 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
252 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
253
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
254 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
255 new AsyncCallback<WQInfoObject[]>() {
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
256 @Override
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
257 public void onFailure(Throwable caught) {
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
258 GWT.log("Could not recieve wq informations.");
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
259 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
260
4568
bbd82bd8e541 flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents: 4218
diff changeset
261 @Override
2467
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
262 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
263 int num = wqi != null ? wqi.length :0;
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
264 GWT.log("Recieved " + num + " wq informations.");
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
265
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
266 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
267 return;
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
268 }
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 addWQInfo(wqi);
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
271 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
272 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
273 );
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
274 }
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
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
277 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
278 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
279 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
280
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
281 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
282 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
283 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
284 else {
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
285 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
286 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
287 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
288 }
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
289
070321cf17e1 Added the WQ tables to the helper panel of the WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1595
diff changeset
290
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
291 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
292 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
293 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
294 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
295
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
296 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
297 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
298
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
299
1595
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
300 protected Canvas createOldValues(
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
301 IntegerOptionsData modeData,
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
302 DoubleArrayData valuesData
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
303 ) {
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
304 NumberFormat nf = NumberFormat.getDecimalFormat();
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
305
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
306 DataItem[] items = modeData.getItems();
4921
d0fd78d5c1eb flys/issue1116: Fix m³/q³ label.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4568
diff changeset
307 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
308
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
309 VLayout layout = new VLayout();
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
310
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
311 for (double val: valuesData.getValues()) {
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
312 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
313 tmp.setHeight(20);
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
314 layout.addMember(tmp);
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
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
317 return layout;
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
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 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
322 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
323 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
324
1595
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
325 if (tmp instanceof DoubleArrayData) {
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
326 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
327 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
328 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
329
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
330 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
331 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
332
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
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 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
335 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
336 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
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 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
339 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
340 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
341 }
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 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
344 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
345
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
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 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
348 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
349 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
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 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
352 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
353 }
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 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
356 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
357
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
358 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
359 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
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 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
362 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
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 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
366 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
367 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
368 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
369 @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
370 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
371 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
372 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
373 });
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
374
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
375 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
376
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 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
378 }
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
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
380
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
381 protected Canvas createValuesForm(DataList dataList) {
1595
e53d773e6992 Display inserted W/Q values in WQSimpleArrayPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1576
diff changeset
382 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
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 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
385 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
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
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 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
389 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
390 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
391
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
392 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
393 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
394 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
395
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 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
397 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
398
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
399
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 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
401 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
402 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
403 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
404
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
405 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
406 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
407 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
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 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
410 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
411 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
412 }
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
413 }
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
414
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
415 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
416 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
417 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
418 }
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
419 }
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
420
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 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
422 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
423 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
424 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
425 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
426
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
427
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
428 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
429 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
430 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
431
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
432
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
433 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
434 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
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 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
437 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
438 }
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 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
440 // 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
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 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
443 // 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
444 }
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 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
447 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
448
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
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 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
451 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
452 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
453
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
454 return new DefaultData(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
455 }
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
456
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
457
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
458 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
459 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
460 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
461
ff41405a891d Added a new widget to simply insert a WQ mode and values as array.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
462 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
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(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
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 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
469 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
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 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
479 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
480 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
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 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
483 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
484 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
485 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
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 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
488 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
489 }
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 }
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 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
493 }
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 }
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 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org