Mercurial > dive4elements > river
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 : |