annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadSQTiPanel.java @ 8234:b6371be363b1

(issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel The sq ti panel no longer inherits from SQOffEpoch panel as it is now to different for that to make sense. This commit also implements createOld for the SQ Ti panel.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 08 Sep 2014 17:52:52 +0200
parents dded480e17c9
children 582e970115b6
rev   line source
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
3 *
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
7 */
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
8
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.client.client.ui.minfo;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
10
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
11 import java.util.ArrayList;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
12 import java.util.List;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
13
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
14 import com.google.gwt.core.client.GWT;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
15 import com.google.gwt.user.client.rpc.AsyncCallback;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.data.Record;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
17 import com.smartgwt.client.types.ListGridFieldType;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
18 import com.smartgwt.client.types.SelectionAppearance;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
19 import com.smartgwt.client.types.SelectionStyle;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
20 import com.smartgwt.client.util.SC;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
21 import com.smartgwt.client.widgets.Canvas;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
22 import com.smartgwt.client.widgets.Label;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
23 import com.smartgwt.client.widgets.grid.ListGrid;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
24 import com.smartgwt.client.widgets.grid.ListGridField;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
25 import com.smartgwt.client.widgets.grid.ListGridRecord;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
26 import com.smartgwt.client.widgets.layout.HLayout;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
27 import com.smartgwt.client.widgets.layout.VLayout;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
28
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
29 import org.dive4elements.river.client.client.Config;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
30 import org.dive4elements.river.client.client.services.SedimentLoadInfoService;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
31 import org.dive4elements.river.client.client.services.SedimentLoadInfoServiceAsync;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
32 import org.dive4elements.river.client.client.ui.PeriodPanel;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
33 import org.dive4elements.river.client.shared.model.ArtifactDescription;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
34 import org.dive4elements.river.client.shared.model.Data;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
35 import org.dive4elements.river.client.shared.model.DataItem;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
36 import org.dive4elements.river.client.shared.model.DataList;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
37 import org.dive4elements.river.client.shared.model.DefaultData;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
38 import org.dive4elements.river.client.shared.model.DefaultDataItem;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
39 import org.dive4elements.river.client.shared.model.SedimentLoadInfoObject;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
40 import org.dive4elements.river.client.shared.model.SedimentLoadInfoRecord;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
41
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
42 /** Show input to select an official epoch. */
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
43 public class SedLoadSQTiPanel
8234
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
44 extends PeriodPanel
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
45 {
8234
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
46 protected SedimentLoadInfoServiceAsync sedLoadInfoService =
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
47 GWT.create(SedimentLoadInfoService.class);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
48
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
49 protected ListGrid sedLoadTable;
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
50
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
51 /** Creates layout with title. */
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
52 public Canvas createWidget(DataList data) {
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
53 VLayout root = new VLayout();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
54
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
55 Label title = new Label(data.get(0).getDescription());
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
56 title.setHeight("25px");
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
57
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
58 root.addMember(title);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
59
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
60 return root;
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
61 }
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
62
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
63 /** Create layout for data entered previously. */
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
64 @Override
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
65 public Canvas createOld(DataList dataList) {
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
66 HLayout layout = new HLayout();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
67 layout.setWidth("400px");
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
68 VLayout vLayout = new VLayout();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
69 vLayout.setWidth(130);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
70 Label label = new Label(dataList.getLabel());
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
71 label.setWidth("200px");
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
72 label.setHeight(25);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
73
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
74 List<Data> items = dataList.getAll();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
75 Data str = getData(items, "sq_ti_date");
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
76 DataItem[] strItems = str.getItems();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
77
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
78 String dateString = strItems[0].getStringValue();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
79 Label dateLabel = new Label(dateString);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
80 dateLabel.setHeight(20);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
81 vLayout.addMember(dateLabel);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
82 Canvas back = getBackButton(dataList.getState());
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
83 layout.addMember(label);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
84 layout.addMember(vLayout);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
85 layout.addMember(back);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
86
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
87 GWT.log("Old data: " + strItems[0].getDescription() + " label " + strItems[0].getLabel() + " value: " + strItems[0].getStringValue());
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
88
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
89 return layout;
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
90 }
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
91
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
92 public Canvas create(DataList data) {
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
93 VLayout layout = new VLayout();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
94 Canvas helper = createHelper();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
95 this.helperContainer.addMember(helper);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
96
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
97 Canvas submit = getNextButton();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
98 Canvas widget = createWidget(data);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
99
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
100 layout.addMember(widget);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
101 layout.addMember(submit);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
102
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
103 fetchSedimentLoadData();
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
104
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
105 return layout;
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
106 }
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
107
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
108 /** Creates the helper grid in which off epochs can be selected. */
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
109 protected Canvas createHelper() {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
110 sedLoadTable = new ListGrid();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
111 sedLoadTable.setShowHeaderContextMenu(false);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
112 sedLoadTable.setWidth100();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
113 sedLoadTable.setShowRecordComponents(true);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
114 sedLoadTable.setShowRecordComponentsByCell(true);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
115 sedLoadTable.setHeight100();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
116 sedLoadTable.setEmptyMessage(MSG.empty_table());
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
117 sedLoadTable.setCanReorderFields(false);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
118 sedLoadTable.setSelectionAppearance(SelectionAppearance.CHECKBOX);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
119 sedLoadTable.setSelectionType(SelectionStyle.SINGLE);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
120
8234
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
121 ListGridField date = new ListGridField("sq_ti_date", MSG.year());
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
122 date.setType(ListGridFieldType.TEXT);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
123 date.setWidth(100);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
124
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
125 sedLoadTable.setFields(date);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
126 return sedLoadTable;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
127 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
128
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
129 /** Get data via listgrid selection. */
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
130 @Override
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
131 public Data[] getData() {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
132 List<Data> data = new ArrayList<Data>();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
133
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
134 ListGridRecord[] lgr = sedLoadTable.getSelectedRecords();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
135 if (lgr.length == 0) {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
136 GWT.log("returning empty data.");
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
137 return new Data[0];
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
138 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
139 String d = "";
8234
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
140 String desc = "";
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
141 for (int i = 0; i < lgr.length; i++) {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
142 /* Should only be one item as this is single selection */
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
143 Record r = (Record) lgr[i];
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
144 d = r.getAttribute("sq_ti_id");
8234
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
145 desc = r.getAttribute("sq_ti_date");
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
146 GWT.log("Got attribute sq_ti_id : " + d + " desc: " + desc);
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
147 }
8234
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
148 DataItem item = new DefaultDataItem("sq_ti_id", "this is ignored", d);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
149 DataItem dateLabel = new DefaultDataItem("sq_ti_date", "this is ignored", desc);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
150 data.add(new DefaultData(
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
151 "sq_ti_id",
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
152 null,
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
153 null,
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
154 new DataItem[] { item }));
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
155 data.add(new DefaultData(
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
156 "sq_ti_date",
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
157 null,
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
158 null,
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
159 new DataItem[] { dateLabel }));
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
160 return data.toArray(new Data[data.size()]);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
161 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
162
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
163 /** Fetch load info from service and populate table. */
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
164 protected void fetchSedimentLoadData() {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
165 Config config = Config.getInstance();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
166 String locale = config.getLocale ();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
167
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
168 ArtifactDescription adescr = artifact.getArtifactDescription();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
169 DataList[] data = adescr.getOldData();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
170
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
171 double[] km = artifact.getArtifactDescription().getKMRange();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
172 String river = artifact.getArtifactDescription().getRiver();
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
173
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
174 sedLoadInfoService.getSedimentLoadInfo(locale, river, "sq_time_intervals", km[0], km[1], "",
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
175 new AsyncCallback<SedimentLoadInfoObject[]>() {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
176 public void onFailure(Throwable caught) {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
177 GWT.log("Could not receive sediment load informations.");
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
178 SC.warn(caught.getMessage());
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
179 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
180
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
181 public void onSuccess(SedimentLoadInfoObject[] sedLoad) {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
182 int num = sedLoad != null ? sedLoad.length :0;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
183 GWT.log("Received " + num + " sediment load informations.");
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
184
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
185 if (num == 0) {
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
186 return;
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
187 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
188
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
189 addSedimentLoadInfo(sedLoad);
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
190 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
191 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
192 );
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
193 }
8234
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
194
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
195 /** Add record to input helper listgrid. */
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
196 protected void addSedimentLoadInfo (SedimentLoadInfoObject[] sedLoad) {
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
197 for(SedimentLoadInfoObject sl: sedLoad) {
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
198 SedimentLoadInfoRecord rec = new SedimentLoadInfoRecord(sl);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
199 sedLoadTable.addData(rec);
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
200 }
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
201 if (sedLoad.length == 1) {
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
202 /* Preselect lists with only one load. */
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
203 sedLoadTable.selectRecords(new int[] {0});
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
204 }
b6371be363b1 (issue1448) Carry sq_ti_date in artifact description anf fix sqtipanel
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8231
diff changeset
205 }
8231
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
206 }
dded480e17c9 (issue1448) Add Panel for new sq_ti_select state
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff changeset
207 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org