annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9066:b5d7a9d79837

uinfo.inundation_duration ui
author gernotbelger
date Fri, 11 May 2018 17:04:35 +0200
parents gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTable.java@28c50f5efceb
children a5cf8d7bff3c
rev   line source
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
3 *
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
7 */
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
8
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
9 package org.dive4elements.river.client.client.ui.uinfo;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
10
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
11 import java.util.ArrayList;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
12 import java.util.List;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
13
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.client.client.ui.AbstractUIProvider;
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
15 import org.dive4elements.river.client.client.ui.PanelHelper;
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
16 import org.dive4elements.river.client.shared.model.Data;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
17 import org.dive4elements.river.client.shared.model.DataItem;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
18 import org.dive4elements.river.client.shared.model.DataList;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
19 import org.dive4elements.river.client.shared.model.DefaultData;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.client.shared.model.DefaultDataItem;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
21
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
22 import com.google.gwt.core.client.GWT;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
23 import com.smartgwt.client.data.Record;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
24 import com.smartgwt.client.types.ListGridFieldType;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
25 import com.smartgwt.client.widgets.Button;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
26 import com.smartgwt.client.widgets.Canvas;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
27 import com.smartgwt.client.widgets.Label;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
28 import com.smartgwt.client.widgets.events.ClickEvent;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
29 import com.smartgwt.client.widgets.events.ClickHandler;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
30 import com.smartgwt.client.widgets.form.DynamicForm;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
31 import com.smartgwt.client.widgets.form.fields.TextItem;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
32 import com.smartgwt.client.widgets.form.validator.IsIntegerValidator;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
33 import com.smartgwt.client.widgets.form.validator.IsStringValidator;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
34 import com.smartgwt.client.widgets.grid.ListGrid;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
35 import com.smartgwt.client.widgets.grid.ListGridField;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
36 import com.smartgwt.client.widgets.grid.ListGridRecord;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
37 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
38 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
39 import com.smartgwt.client.widgets.layout.HLayout;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
40 import com.smartgwt.client.widgets.layout.VLayout;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
41
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
42 public class VegetationzonesTableEditPanel extends AbstractUIProvider {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
43 private static final long serialVersionUID = 1L;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
44
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
45 protected ListGrid elements;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
46 private TextItem vegzone;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
47 private TextItem start;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
48 private TextItem end;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
49 private ListGrid table;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
50
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
51 private static final String datakey = "vegzones";
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
52
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
53 public Canvas createWidget(final DataList data) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
54
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
55 final VLayout root = new VLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
56 final HLayout input = new HLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
57 final VLayout tableLayout = new VLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
58 final HLayout fields = new HLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
59 final HLayout fields2 = new HLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
60
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
61 final Button add = new Button(this.MSG.add_date()); // TODO: make key more generic or change to more specific
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
62 this.elements = new ListGrid();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
63
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
64 final Label title = new Label(data.get(0).getDescription());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
65 title.setHeight("35px"); // orig:25
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
66
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
67 this.vegzone = PanelHelper.createItem("uinfo_vegetation_zone_label", this.MSG.uinfo_vegetation_zone_label(), 200, new IsStringValidator());
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
68 this.start = PanelHelper.createItem("uinfo_vegetation_zones_from", this.MSG.uinfo_vegetation_zones_from(), 40, new IsIntegerValidator());
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
69 this.end = PanelHelper.createItem("uinfo_vegetation_zones_to", this.MSG.uinfo_vegetation_zones_to(), 40, new IsIntegerValidator());
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
70
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
71 final DynamicForm form1 = new DynamicForm();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
72 final DynamicForm form2 = new DynamicForm();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
73 form2.setNumCols(5);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
74 form1.setNumCols(7);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
75 form1.setFields(this.vegzone);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
76 form2.setFields(this.start, this.end);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
77
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
78 add.addClickHandler(new ClickHandler() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
79 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
80 public void onClick(final ClickEvent ce) {
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
81 final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString();
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
82 final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString();
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
83 final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString();
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
84 if (v1 == null || v2 == null || v3 == null) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
85 return;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
86 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
87
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
88 final ListGridRecord r = new ListGridRecord();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
89 r.setAttribute("vegzone", v3);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
90 r.setAttribute("from", v1);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
91 r.setAttribute("to", v2);
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
92 VegetationzonesTableEditPanel.this.elements.addData(r);
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
93 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
94 });
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
95
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
96 final Label sel = new Label(this.MSG.select());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
97 sel.setHeight(25);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
98 this.elements.setWidth(450); // 185
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
99 this.elements.setHeight(500); // 120
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
100 this.elements.setShowHeaderContextMenu(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
101 this.elements.setCanReorderFields(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
102 this.elements.setCanSort(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
103 this.elements.setCanEdit(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
104 final ListGridField vegzone = new ListGridField("vegzone", this.MSG.uinfo_vegetation_zones_label());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
105 final ListGridField from = new ListGridField("from", this.MSG.uinfo_vegetation_zones_from());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
106 final ListGridField to = new ListGridField("to", this.MSG.uinfo_vegetation_zones_to());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
107 vegzone.setWidth(285);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
108 from.setWidth(70);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
109 to.setWidth(70);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
110
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
111 final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
112 {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
113 setType(ListGridFieldType.ICON);
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
114 setIcon(GWT.getHostPageBaseURL() + VegetationzonesTableEditPanel.this.MSG.removeFeature());
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
115 setCanEdit(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
116 setCanFilter(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
117 setCanSort(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
118 setCanGroupBy(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
119 setCanFreeze(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
120 setWidth(25);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
121 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
122 };
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
123
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
124 this.elements.addRecordClickHandler(new RecordClickHandler() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
125 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
126 public void onRecordClick(final RecordClickEvent event) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
127 // Just handle remove-clicks
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
128 if (!event.getField().getName().equals(removeField.getName())) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
129 return;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
130 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
131 event.getViewer().removeData(event.getRecord());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
132 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
133 });
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
134
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
135 this.elements.setFields(vegzone, from, to, removeField);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
136
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
137 fields.addMember(form1);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
138 fields2.addMember(form2);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
139 // fields2.addMember(add);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
140
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
141 tableLayout.addMember(this.elements);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
142 root.addMember(title);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
143 root.addMember(input);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
144 root.addMember(tableLayout);
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
145 root.addMember(PanelHelper.getSpacer(10));
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
146 root.addMember(fields);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
147 root.addMember(fields2);
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
148 root.addMember(PanelHelper.getSpacer(10));
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
149 root.addMember(add);
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
150 root.addMember(PanelHelper.getSpacer(20));
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
151
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
152 return root;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
153 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
154
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
155 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
156 public Canvas createOld(final DataList dataList) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
157 final HLayout layout = new HLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
158 layout.setWidth("400px");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
159 final VLayout vLayout = new VLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
160 vLayout.setWidth(130);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
161 final Label label = new Label(dataList.getLabel());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
162 label.setWidth("200px");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
163 label.setHeight(25);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
164
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
165 final List<Data> items = dataList.getAll();
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
166 final Data str = getData(items, datakey);
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
167 final DataItem[] strItems = str.getItems();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
168
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
169 final String[] entries = strItems[0].getLabel().split(";");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
170 for (final String entry : entries) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
171 final String[] vals = entry.split(",");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
172 final Label dateLabel = new Label(vals[0] + " - " + vals[1]);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
173 dateLabel.setHeight(20);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
174 vLayout.addMember(dateLabel);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
175 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
176 final Canvas back = getBackButton(dataList.getState());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
177 layout.addMember(label);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
178 layout.addMember(vLayout);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
179 layout.addMember(back);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
180
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
181 return layout;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
182 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
183
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
184 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
185 public Canvas create(final DataList data) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
186 final VLayout layout = new VLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
187 final Canvas helper = createHelper();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
188 this.helperContainer.addMember(helper);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
189
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
190 final Canvas submit = getNextButton();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
191 final Canvas widget = createWidget(data);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
192
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
193 layout.addMember(widget);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
194 layout.addMember(submit); // TODO: SUBMIT
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
195
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
196 // fetchSedimentLoadData(); //TODO: feed from database...
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
197
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
198 return layout;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
199 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
200
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
201 private Canvas createHelper() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
202 this.table = new ListGrid();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
203 this.table.setShowHeaderContextMenu(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
204 this.table.setWidth100();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
205 this.table.setShowRecordComponents(true);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
206 this.table.setShowRecordComponentsByCell(true);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
207 this.table.setHeight100();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
208 this.table.setEmptyMessage(this.MSG.empty_table());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
209 this.table.setCanReorderFields(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
210
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
211 /* Input support pins */
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
212 // final String baseUrl = GWT.getHostPageBaseURL();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
213 // final ListGridField pinFrom = new ListGridField("fromIcon", this.MSG.uinfo_vegetation_zones_from());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
214 // pinFrom.setWidth(300);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
215 // pinFrom.setType(ListGridFieldType.ICON);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
216 // pinFrom.setCellIcon(baseUrl + this.MSG.markerGreen());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
217 //
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
218 // final ListGridField pinTo = new ListGridField("toIcon", this.MSG.uinfo_vegetation_zones_to());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
219 // pinTo.setType(ListGridFieldType.ICON);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
220 // pinTo.setWidth(300);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
221 // pinTo.setCellIcon(baseUrl + this.MSG.markerRed());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
222 //
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
223 // pinFrom.addRecordClickHandler(new RecordClickHandler() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
224 // @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
225 // public void onRecordClick(final RecordClickEvent e) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
226 // final Record r = e.getRecord();
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
227 // VegetationzonesTableEditPanel.this.vegzone.setValue(r.getAttribute("date")); // date??
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
228 // }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
229 // });
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
230 //
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
231 // pinFrom.addRecordClickHandler(new RecordClickHandler() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
232 // @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
233 // public void onRecordClick(final RecordClickEvent e) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
234 // final Record r = e.getRecord();
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
235 // VegetationzonesTableEditPanel.this.start.setValue(r.getAttribute("date"));
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
236 // }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
237 // });
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
238 //
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
239 // pinTo.addRecordClickHandler(new RecordClickHandler() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
240 // @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
241 // public void onRecordClick(final RecordClickEvent e) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
242 // final Record r = e.getRecord();
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
243 // VegetationzonesTableEditPanel.this.end.setValue(r.getAttribute("date"));
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
244 // }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
245 // });
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
246 //
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
247 // final ListGridField date = new ListGridField("date", this.MSG.year());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
248 // date.setType(ListGridFieldType.TEXT);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
249 // date.setWidth(100);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
250 //
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
251 // final ListGridField descr = new ListGridField("description", this.MSG.description());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
252 // descr.setType(ListGridFieldType.TEXT);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
253 // descr.setWidth("*");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
254 //
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
255 // this.table.setFields(pinFrom, pinTo, date, descr);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
256 return this.table;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
257 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
258
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
259 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
260 protected Data[] getData() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
261 final List<Data> data = new ArrayList<Data>();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
262
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
263 final ListGridRecord[] lgr = this.elements.getRecords();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
264 if (lgr.length == 0) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
265 return new Data[0];
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
266 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
267 String d = "";
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
268 for (final ListGridRecord element : lgr) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
269 final Record r = element;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
270 d += r.getAttribute("vegzone") + "," + r.getAttribute("from") + "," + r.getAttribute("to");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
271 d += ";";
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
272 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
273
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
274 final DataItem item = new DefaultDataItem(datakey, null, d); // DATA-key
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents: 9064
diff changeset
275 data.add(new DefaultData(datakey, null, null, new DataItem[] { item }));
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
276 return data.toArray(new Data[data.size()]);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
277 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
278
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents:
diff changeset
279 }

http://dive4elements.wald.intevation.org