annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/minfo/SedLoadEpochPanel.java @ 4223:015b219a97af

Added new UI provider for sediment load parameter input.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 23 Oct 2012 13:21:57 +0200
parents
children abd304085bd4
rev   line source
4223
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.minfo;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.util.ArrayList;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.util.List;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import com.google.gwt.core.client.GWT;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import com.smartgwt.client.data.Record;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import com.smartgwt.client.types.ListGridFieldType;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import com.smartgwt.client.widgets.Button;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.widgets.Canvas;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import com.smartgwt.client.widgets.Label;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 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
13 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
14 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
15 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
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23 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
24
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 import de.intevation.flys.client.client.ui.AbstractUIProvider;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 import de.intevation.flys.client.shared.model.Data;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 import de.intevation.flys.client.shared.model.DataItem;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 import de.intevation.flys.client.shared.model.DataList;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 import de.intevation.flys.client.shared.model.DefaultData;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 import de.intevation.flys.client.shared.model.DefaultDataItem;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 public class SedLoadEpochPanel
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 extends AbstractUIProvider
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 protected ListGrid elements;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 private TextItem start;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 private TextItem end;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 public Canvas createWidget(DataList data) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 HLayout input = new HLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 VLayout root = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 VLayout grid = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 VLayout intFields = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 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
46 elements = new ListGrid();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 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
49 title.setHeight("25px");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 DynamicForm form = new DynamicForm();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 form.setNumCols(4);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 start = new TextItem(MSG.from());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 start.setWidth(60);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 start.setValidators(new IsIntegerValidator());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 end = new TextItem(MSG.to());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 end.setWidth(60);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 end.setValidators(new IsIntegerValidator());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 form.setFields(start, end);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 add.addClickHandler(new ClickHandler() {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 public void onClick(ClickEvent ce) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 String v1 = start.getValueAsString();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 String v2 = end.getValueAsString();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 //TODO: better validation.
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 if (v1 == null || v2 == null) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 return;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 try {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 int v1i = Integer.parseInt(v1);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 int v2i = Integer.parseInt(v2);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 catch(NumberFormatException nfe) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 return;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 Record r = new Record();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 r.setAttribute("from", v1);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 r.setAttribute("to", v2);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 elements.addData(r);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 });
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 Label sel = new Label(MSG.select());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 sel.setHeight(25);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 elements.setWidth(185);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 elements.setHeight(120);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 elements.setShowHeaderContextMenu(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 elements.setCanReorderFields(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 elements.setCanSort(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 elements.setCanEdit(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 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
92 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
93 from.setWidth(70);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 to.setWidth(70);
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 final ListGridField removeField =
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 new ListGridField("_removeRecord", "Remove Record"){{
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 setType(ListGridFieldType.ICON);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 setIcon(GWT.getHostPageBaseURL() + MSG.removeFeature());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 setCanEdit(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101 setCanFilter(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102 setCanSort(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103 setCanGroupBy(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 setCanFreeze(false);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 setWidth(25);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 }};
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 elements.addRecordClickHandler(new RecordClickHandler() {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 public void onRecordClick(final RecordClickEvent event) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 // Just handle remove-clicks
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 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
113 return;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 event.getViewer().removeData(event.getRecord());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 });
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 elements.setFields(from, to, removeField);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 intFields.addMember(form);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 intFields.addMember(add);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 grid.addMember(sel);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 grid.addMember(elements);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125 input.addMember(intFields);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 input.addMember(grid);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127 root.addMember(title);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 root.addMember(input);
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 return root;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 }
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 Canvas createOld(DataList dataList) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 GWT.log("old............................");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 HLayout layout = new HLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 layout.setWidth("400px");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 VLayout vLayout = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 vLayout.setWidth(130);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 Label label = new Label(dataList.getLabel());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 label.setWidth("200px");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 label.setHeight(25);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 List<Data> items = dataList.getAll();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 Data str = getData(items, "epochs");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 DataItem[] strItems = str.getItems();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 String[] pairs = strItems[0].getLabel().split(";");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 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
149 String[] vals = pairs[i].split(",");
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 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
151 dateLabel.setHeight(20);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152 vLayout.addMember(dateLabel);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
154 Canvas back = getBackButton(dataList.getState());
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155 layout.addMember(label);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 layout.addMember(vLayout);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157 layout.addMember(back);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 return layout;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
160 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 public Canvas create(DataList data) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164 VLayout layout = new VLayout();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
165 Canvas submit = getNextButton();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
166 Canvas widget = createWidget(data);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
167
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168 layout.addMember(widget);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 layout.addMember(submit);
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
170 return layout;
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
171 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
172
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 @Override
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 protected Data[] getData() {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 List<Data> data = new ArrayList<Data>();
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 ListGridRecord[] lgr = elements.getRecords();
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
178 if (lgr.length == 0) {
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
179 return new Data[0];
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
180 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
181 String d = "";
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
182 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
183 Record r = (Record) lgr[i];
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
184 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
185 d += ";";
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
186 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
187
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
188 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
189 data.add(new DefaultData(
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
190 "epochs",
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
191 null,
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
192 null,
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
193 new DataItem[] { item }));
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
194 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
195 }
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
196
015b219a97af Added new UI provider for sediment load parameter input.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
197 }

http://dive4elements.wald.intevation.org