comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterMatrixPanel.java @ 2525:da1d897ed66d

Implemented ParameterMatrixPanel.getData(). flys-client/trunk@4412 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 15 May 2012 14:24:09 +0000
parents 39cf246b28c4
children 33e2a1e23ae8
comparison
equal deleted inserted replaced
2524:39cf246b28c4 2525:da1d897ed66d
1 package de.intevation.flys.client.client.ui; 1 package de.intevation.flys.client.client.ui;
2
3 import java.util.List;
4 import java.util.Map;
5 import java.util.Set;
2 6
3 import com.google.gwt.core.client.GWT; 7 import com.google.gwt.core.client.GWT;
4 8
5 import com.smartgwt.client.types.FieldType; 9 import com.smartgwt.client.types.FieldType;
6 import com.smartgwt.client.widgets.Canvas; 10 import com.smartgwt.client.widgets.Canvas;
8 import com.smartgwt.client.widgets.layout.VLayout; 12 import com.smartgwt.client.widgets.layout.VLayout;
9 13
10 import de.intevation.flys.client.shared.model.Data; 14 import de.intevation.flys.client.shared.model.Data;
11 import de.intevation.flys.client.shared.model.DataItem; 15 import de.intevation.flys.client.shared.model.DataItem;
12 import de.intevation.flys.client.shared.model.DataList; 16 import de.intevation.flys.client.shared.model.DataList;
17 import de.intevation.flys.client.shared.model.DefaultData;
18 import de.intevation.flys.client.shared.model.DefaultDataItem;
13 import de.intevation.flys.client.shared.model.IntegerOptionsData; 19 import de.intevation.flys.client.shared.model.IntegerOptionsData;
14 20
15 /** 21 /**
16 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
17 */ 23 */
18 public class ParameterMatrixPanel extends AbstractUIProvider { 24 public class ParameterMatrixPanel extends AbstractUIProvider {
19 25
26 private ParameterMatrix matrix;
27
20 @Override 28 @Override
21 protected Data[] getData() { 29 protected Data[] getData() {
22 GWT.log("TODO: IMPLEMENT RadioPanel.getData()"); 30 Map<String, List<String>> selection = matrix.getSelection();
23 return new Data[0]; 31 Set<Map.Entry<String, List<String>>> entries = selection.entrySet();
32
33 Data[] list = new Data[selection.size()];
34
35 int i = 0;
36
37 for (Map.Entry<String, List<String>> entry: entries) {
38 String value = buildValueString(entry.getValue());
39
40 DataItem item = new DefaultDataItem(
41 entry.getKey(),
42 null,
43 value);
44
45 list[i++] = new DefaultData(
46 entry.getKey(), null, null, new DataItem[] { item });
47 }
48
49 return list;
24 } 50 }
51
52
53 protected String buildValueString(List<String> values) {
54 StringBuilder sb = new StringBuilder();
55
56 boolean first = true;
57
58 for (String value: values) {
59 if (!first) {
60 sb.append(";");
61 }
62
63 sb.append(value);
64
65 first = false;
66 }
67
68 return sb.toString();
69 }
70
25 71
26 @Override 72 @Override
27 public Canvas createOld(DataList dataList) { 73 public Canvas createOld(DataList dataList) {
28 GWT.log("TODO: IMPLEMENT RadioPanel.createOld()"); 74 GWT.log("TODO: IMPLEMENT RadioPanel.createOld()");
29 return new Label("TODO: DISPLAY INSERTED VALUES"); 75 return new Label("TODO: DISPLAY INSERTED VALUES");
32 @Override 78 @Override
33 public Canvas create(DataList dataList) { 79 public Canvas create(DataList dataList) {
34 VLayout v = new VLayout(); 80 VLayout v = new VLayout();
35 v.addMember(createTitle(dataList)); 81 v.addMember(createTitle(dataList));
36 82
37 ParameterMatrix matrix = new ParameterMatrix(); 83 matrix = new ParameterMatrix();
38 84
39 for (Data data: dataList.getAll()) { 85 for (Data data: dataList.getAll()) {
40 if (data instanceof IntegerOptionsData) { 86 if (data instanceof IntegerOptionsData) {
41 matrix.addColumn((IntegerOptionsData) data); 87 matrix.addColumn((IntegerOptionsData) data);
42 } 88 }
43 } 89 }
44 90
45 v.addMember(matrix.create()); 91 v.addMember(matrix.create());
92 v.addMember(getNextButton());
46 93
47 return v; 94 return v;
48 } 95 }
49 96
50 97

http://dive4elements.wald.intevation.org