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