Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/SedLoadEpochPanel.java @ 8531:3e6d4bd1c06e
(issue1051) Add input support for epochs
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 11 Feb 2015 12:41:51 +0100 |
parents | c0da2514f4ce |
children | 73a4c3c202e5 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui.minfo; |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 import java.util.ArrayList; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 import com.google.gwt.core.client.GWT; |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
15 import com.google.gwt.user.client.rpc.AsyncCallback; |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.data.Record; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.types.ListGridFieldType; |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
18 import com.smartgwt.client.util.SC; |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.Button; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.widgets.Canvas; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 import com.smartgwt.client.widgets.Label; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 import com.smartgwt.client.widgets.events.ClickEvent; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 import com.smartgwt.client.widgets.events.ClickHandler; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 import com.smartgwt.client.widgets.form.DynamicForm; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 import com.smartgwt.client.widgets.form.fields.TextItem; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 import com.smartgwt.client.widgets.form.validator.IsIntegerValidator; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 import com.smartgwt.client.widgets.grid.ListGrid; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 import com.smartgwt.client.widgets.grid.ListGridField; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 import com.smartgwt.client.widgets.grid.ListGridRecord; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 import com.smartgwt.client.widgets.layout.HLayout; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 import com.smartgwt.client.widgets.layout.VLayout; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
35 import org.dive4elements.river.client.client.Config; |
8531
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
36 import org.dive4elements.river.client.client.FLYSConstants; |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
37 import org.dive4elements.river.client.client.services.SedimentLoadInfoService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
38 import org.dive4elements.river.client.client.services.SedimentLoadInfoServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
39 import org.dive4elements.river.client.client.ui.AbstractUIProvider; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
40 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
41 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
42 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
43 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
44 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
45 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
46 import org.dive4elements.river.client.shared.model.SedimentLoadInfoObject; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
47 import org.dive4elements.river.client.shared.model.SedimentLoadInfoRecord; |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
50 public class SedLoadEpochPanel |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 extends AbstractUIProvider |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 { |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
53 protected SedimentLoadInfoServiceAsync sedLoadInfoService = |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
54 GWT.create(SedimentLoadInfoService.class); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
55 |
8531
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
56 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
57 |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
58 protected ListGrid elements; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
59 private TextItem start; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
60 private TextItem end; |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
61 private ListGrid sedLoadTable; |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
62 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
63 public Canvas createWidget(DataList data) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
64 HLayout input = new HLayout(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
65 VLayout root = new VLayout(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
66 VLayout grid = new VLayout(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
67 VLayout intFields = new VLayout(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
68 Button add = new Button(MSG.add_date()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
69 elements = new ListGrid(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
70 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
71 Label title = new Label(data.get(0).getDescription()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
72 title.setHeight("25px"); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
73 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
74 DynamicForm form = new DynamicForm(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
75 form.setNumCols(4); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
76 start = new TextItem(MSG.from()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
77 start.setWidth(60); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
78 start.setValidators(new IsIntegerValidator()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
79 end = new TextItem(MSG.to()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
80 end.setWidth(60); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
81 end.setValidators(new IsIntegerValidator()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
82 form.setFields(start, end); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
83 add.addClickHandler(new ClickHandler() { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
84 @Override |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
85 public void onClick(ClickEvent ce) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
86 String v1 = start.getValueAsString(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
87 String v2 = end.getValueAsString(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
88 //TODO: better validation. |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
89 if (v1 == null || v2 == null) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
90 return; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
91 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
92 try { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
93 int v1i = Integer.parseInt(v1); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
94 int v2i = Integer.parseInt(v2); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
95 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
96 catch(NumberFormatException nfe) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
97 return; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
98 } |
7944
9b092c960455
Fixed sediment load epoch input panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
5993
diff
changeset
|
99 ListGridRecord r = new ListGridRecord(); |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
100 r.setAttribute("from", v1); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
101 r.setAttribute("to", v2); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
102 elements.addData(r); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
103 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
104 }); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
105 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
106 Label sel = new Label(MSG.select()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
107 sel.setHeight(25); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
108 elements.setWidth(185); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
109 elements.setHeight(120); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
110 elements.setShowHeaderContextMenu(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
111 elements.setCanReorderFields(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
112 elements.setCanSort(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
113 elements.setCanEdit(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
114 ListGridField from = new ListGridField("from", MSG.from()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
115 ListGridField to = new ListGridField("to", MSG.to()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
116 from.setWidth(70); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
117 to.setWidth(70); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
118 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
119 final ListGridField removeField = |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
120 new ListGridField("_removeRecord", "Remove Record"){{ |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
121 setType(ListGridFieldType.ICON); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
122 setIcon(GWT.getHostPageBaseURL() + MSG.removeFeature()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
123 setCanEdit(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
124 setCanFilter(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
125 setCanSort(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
126 setCanGroupBy(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
127 setCanFreeze(false); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
128 setWidth(25); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
129 }}; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
130 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
131 elements.addRecordClickHandler(new RecordClickHandler() { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
132 @Override |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
133 public void onRecordClick(final RecordClickEvent event) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
134 // Just handle remove-clicks |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
135 if(!event.getField().getName().equals(removeField.getName())) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
136 return; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
137 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
138 event.getViewer().removeData(event.getRecord()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
139 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
140 }); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
141 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
142 elements.setFields(from, to, removeField); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
143 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
144 intFields.addMember(form); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
145 intFields.addMember(add); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
146 grid.addMember(sel); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
147 grid.addMember(elements); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
148 input.addMember(intFields); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
149 input.addMember(grid); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
150 root.addMember(title); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
151 root.addMember(input); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
152 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
153 return root; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
154 } |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
155 |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
156 @Override |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
157 public Canvas createOld(DataList dataList) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
158 HLayout layout = new HLayout(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
159 layout.setWidth("400px"); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
160 VLayout vLayout = new VLayout(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
161 vLayout.setWidth(130); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
162 Label label = new Label(dataList.getLabel()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
163 label.setWidth("200px"); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
164 label.setHeight(25); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
165 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
166 List<Data> items = dataList.getAll(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
167 Data str = getData(items, "epochs"); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
168 DataItem[] strItems = str.getItems(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
169 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
170 String[] pairs = strItems[0].getLabel().split(";"); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
171 for (int i = 0; i < pairs.length; i++) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
172 String[] vals = pairs[i].split(","); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
173 Label dateLabel = new Label(vals[0] + " - " + vals[1]); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
174 dateLabel.setHeight(20); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
175 vLayout.addMember(dateLabel); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
176 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
177 Canvas back = getBackButton(dataList.getState()); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
178 layout.addMember(label); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
179 layout.addMember(vLayout); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
180 layout.addMember(back); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
181 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
182 return layout; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
183 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
184 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
185 @Override |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
186 public Canvas create(DataList data) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
187 VLayout layout = new VLayout(); |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
188 Canvas helper = createHelper(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
189 this.helperContainer.addMember(helper); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
190 |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
191 Canvas submit = getNextButton(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
192 Canvas widget = createWidget(data); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
193 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
194 layout.addMember(widget); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
195 layout.addMember(submit); |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
196 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
197 fetchSedimentLoadData(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
198 |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
199 return layout; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
200 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
201 |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
202 private Canvas createHelper() { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
203 sedLoadTable = new ListGrid(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
204 sedLoadTable.setShowHeaderContextMenu(false); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
205 sedLoadTable.setWidth100(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
206 sedLoadTable.setShowRecordComponents(true); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
207 sedLoadTable.setShowRecordComponentsByCell(true); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
208 sedLoadTable.setHeight100(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
209 sedLoadTable.setEmptyMessage(MSG.empty_table()); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
210 sedLoadTable.setCanReorderFields(false); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
211 |
8531
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
212 /* Input support pins */ |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
213 String baseUrl = GWT.getHostPageBaseURL(); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
214 ListGridField pinFrom = new ListGridField ("fromIcon", MESSAGES.from()); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
215 pinFrom.setWidth (30); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
216 pinFrom.setType (ListGridFieldType.ICON); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
217 pinFrom.setCellIcon(baseUrl + MESSAGES.markerGreen()); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
218 |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
219 ListGridField pinTo = new ListGridField ("toIcon", MESSAGES.to()); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
220 pinTo.setType (ListGridFieldType.ICON); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
221 pinTo.setWidth (30); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
222 pinTo.setCellIcon(baseUrl + MESSAGES.markerRed()); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
223 |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
224 pinFrom.addRecordClickHandler (new RecordClickHandler () { |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
225 @Override |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
226 public void onRecordClick (RecordClickEvent e) { |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
227 Record r = e.getRecord(); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
228 start.setValue(r.getAttribute("date")); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
229 } |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
230 }); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
231 pinTo.addRecordClickHandler (new RecordClickHandler () { |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
232 @Override |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
233 public void onRecordClick (RecordClickEvent e) { |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
234 Record r = e.getRecord(); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
235 end.setValue(r.getAttribute("date")); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
236 } |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
237 }); |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
238 |
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
239 |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
240 ListGridField date = new ListGridField("date", MSG.year()); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
241 date.setType(ListGridFieldType.TEXT); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
242 date.setWidth(100); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
243 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
244 ListGridField descr = |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
245 new ListGridField("description", MSG.description()); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
246 descr.setType(ListGridFieldType.TEXT); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
247 descr.setWidth("*"); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
248 |
8531
3e6d4bd1c06e
(issue1051) Add input support for epochs
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8235
diff
changeset
|
249 sedLoadTable.setFields(pinFrom, pinTo, date, descr); |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
250 return sedLoadTable; |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
251 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
252 |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
253 @Override |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
254 protected Data[] getData() { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
255 List<Data> data = new ArrayList<Data>(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
256 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
257 ListGridRecord[] lgr = elements.getRecords(); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
258 if (lgr.length == 0) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
259 return new Data[0]; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
260 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
261 String d = ""; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
262 for (int i = 0; i < lgr.length; i++) { |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
263 Record r = (Record) lgr[i]; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
264 d += r.getAttribute("from") + "," + r.getAttribute("to"); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
265 d += ";"; |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
266 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
267 |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
268 DataItem item = new DefaultDataItem("epochs", null, d); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
269 data.add(new DefaultData( |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
270 "epochs", |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
271 null, |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
272 null, |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
273 new DataItem[] { item })); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
274 return data.toArray(new Data[data.size()]); |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
275 } |
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
276 |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
277 protected void fetchSedimentLoadData() { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
278 Config config = Config.getInstance(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
279 String locale = config.getLocale (); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
280 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
281 ArtifactDescription adescr = artifact.getArtifactDescription(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
282 DataList[] data = adescr.getOldData(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
283 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
284 double[] km = artifact.getArtifactDescription().getKMRange(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
285 String river = artifact.getArtifactDescription().getRiver(); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
286 |
8230
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
287 String sq_ti_id = ""; |
8235
c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8230
diff
changeset
|
288 for (int i = 0; i < data.length; i++) { |
c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8230
diff
changeset
|
289 Data str = getData(data[i].getAll(), "sq_ti_id"); |
8230
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
290 if (str != null) { |
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
291 DataItem[] strItems = str.getItems(); |
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
292 sq_ti_id = strItems[0].getStringValue(); |
8235
c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8230
diff
changeset
|
293 break; |
8230
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
294 } |
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
295 } |
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
296 |
8235
c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8230
diff
changeset
|
297 if (sq_ti_id.isEmpty()){ |
c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8230
diff
changeset
|
298 GWT.log("Failed to find sq time interval id in data."); |
c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8230
diff
changeset
|
299 } |
c0da2514f4ce
(issue1448) Look through all the data for sq_ti_id in following states.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8230
diff
changeset
|
300 |
8230
f54c4b858213
(issue1448) Extend SedimentLoadInfo request to handle sq time intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents:
7944
diff
changeset
|
301 sedLoadInfoService.getSedimentLoadInfo(locale, river, "single", km[0], km[1], sq_ti_id, |
4299
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
302 new AsyncCallback<SedimentLoadInfoObject[]>() { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
303 public void onFailure(Throwable caught) { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
304 GWT.log("Could not recieve sediment load informations."); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
305 SC.warn(caught.getMessage()); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
306 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
307 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
308 public void onSuccess(SedimentLoadInfoObject[] sedLoad) { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
309 int num = sedLoad != null ? sedLoad.length :0; |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
310 GWT.log("Recieved " + num + " sediment load informations."); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
311 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
312 if (num == 0) { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
313 return; |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
314 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
315 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
316 addSedimentLoadInfo(sedLoad); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
317 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
318 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
319 ); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
320 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
321 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
322 |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
323 protected void addSedimentLoadInfo (SedimentLoadInfoObject[] sedLoad) { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
324 for(SedimentLoadInfoObject sl: sedLoad) { |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
325 SedimentLoadInfoRecord rec = new SedimentLoadInfoRecord(sl); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
326 sedLoadTable.addData(rec); |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
327 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
328 } |
abd304085bd4
Added helper panel to sediment load UI to display sediemnt load overviews.
Raimund Renkert <rrenkert@intevation.de>
parents:
4223
diff
changeset
|
329 |
4223
015b219a97af
Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
330 } |