comparison flys-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixFunctionSelect.java @ 5834:f507086aa94b

Repaired internal references.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:31:32 +0200
parents flys-client/src/main/java/de/intevation/flys/client/client/ui/fixation/FixFunctionSelect.java@84a48acabd78
children 821a02bbfb4e
comparison
equal deleted inserted replaced
5833:a2bdc0f524e8 5834:f507086aa94b
1 package de.intevation.flys.client.client.ui.fixation;
2
3 import com.smartgwt.client.types.VerticalAlignment;
4 import com.smartgwt.client.widgets.Canvas;
5 import com.smartgwt.client.widgets.Label;
6 import com.smartgwt.client.widgets.form.DynamicForm;
7 import com.smartgwt.client.widgets.form.fields.SelectItem;
8 import com.smartgwt.client.widgets.layout.HLayout;
9 import com.smartgwt.client.widgets.layout.VLayout;
10
11 import de.intevation.flys.client.shared.model.Data;
12 import de.intevation.flys.client.shared.model.DataItem;
13 import de.intevation.flys.client.shared.model.DataList;
14 import de.intevation.flys.client.shared.model.DefaultData;
15 import de.intevation.flys.client.shared.model.DefaultDataItem;
16
17 import java.util.HashMap;
18 import java.util.Iterator;
19 import java.util.LinkedHashMap;
20 import java.util.Map;
21
22 public class FixFunctionSelect extends FixationPanel {
23 private static final Map<String, String> funcDesc = new HashMap<String, String>();
24
25 static {
26 funcDesc.put("log", "W(Q) = m*ln(Q + b)");
27 funcDesc.put("linear", "W(Q) = m * Q + b");
28 funcDesc.put("log-linear", "W(Q) = a*ln(m*Q+b)");
29 funcDesc.put("exp", "W(Q) = m * a^Q + b");
30 funcDesc.put("quad", "W(Q) = n*Q^2+m*Q+b");
31 funcDesc.put("pow", "W(Q) = a * Q^c + d");
32 funcDesc.put("sq-pow", "S(Q) = a * Q^b");
33 }
34
35 /** The combobox.*/
36 protected DynamicForm form;
37
38 @Override
39 public Canvas createWidget(DataList data) {
40 VLayout layout = new VLayout();
41 layout.setAlign(VerticalAlignment.TOP);
42 layout.setHeight(25);
43
44 LinkedHashMap initial = new LinkedHashMap();
45
46 form = new DynamicForm();
47
48 int size = data.size();
49
50 for (int i = 0; i < size; i++) {
51 Data d = data.get(i);
52
53 Label label = new Label(d.getDescription());
54 label.setValign(VerticalAlignment.TOP);
55 label.setHeight(20);
56 label.setWidth(400);
57
58 SelectItem combobox = new SelectItem(d.getLabel());
59 combobox.setWidth(250);
60
61 LinkedHashMap<String, String> funcTypes = new LinkedHashMap<String, String>();
62
63 boolean defaultSet = false;
64 boolean first = true;
65
66 DataItem def = d.getDefault();
67 String defValue = def != null ? def.getStringValue() : null;
68
69 if (defValue != null && defValue.length() > 0) {
70 initial.put(d.getLabel(), def.getStringValue());
71 defaultSet = true;
72 }
73
74 // I was here. Me 2.
75 for (DataItem item: d.getItems()) {
76 if (!defaultSet && first) {
77 initial.put(d.getLabel(), item.getStringValue());
78 first = false;
79 }
80
81 funcTypes.put(item.getStringValue(), item.getLabel());
82 }
83
84 label.setWidth(50);
85 combobox.setValueMap(funcTypes);
86 combobox.setShowTitle(false);
87 form.setItems(combobox);
88
89 layout.addMember(label);
90 layout.addMember(form);
91 }
92
93 form.setValues(initial);
94
95 layout.setAlign(VerticalAlignment.TOP);
96
97 return layout;
98 }
99
100
101 @Override
102 public Canvas createOld(DataList dataList) {
103 HLayout layout = new HLayout();
104 VLayout vLayout = new VLayout();
105 layout.setWidth("400px");
106
107 Label label = new Label(dataList.getLabel());
108 label.setWidth("200px");
109
110 int size = dataList.size();
111 for (int i = 0; i < size; i++) {
112 Data data = dataList.get(i);
113 DataItem[] items = data.getItems();
114
115 for (DataItem item: items) {
116 HLayout hLayout = new HLayout();
117
118 String desc = funcDesc.containsKey(item.getLabel()) ?
119 funcDesc.get(item.getLabel()) : item.getLabel();
120 hLayout.addMember(label);
121 hLayout.addMember(new Label(desc));
122
123 vLayout.addMember(hLayout);
124 vLayout.setWidth("130px");
125 }
126 }
127
128 Canvas back = getBackButton(dataList.getState());
129
130 layout.addMember(label);
131 layout.addMember(vLayout);
132 layout.addMember(back);
133
134 return layout;
135 }
136
137
138 @Override
139 public Data[] getData() {
140 Map values = form.getValues();
141 Iterator keys = values.keySet().iterator();
142
143 Data[] list = new Data[values.size()];
144 int i = 0;
145
146 while (keys.hasNext()) {
147 String fieldname = (String) keys.next();
148 String selection = (String) values.get(fieldname);
149
150 DataItem item = new DefaultDataItem(fieldname, null, selection);
151
152 list[i++] = new DefaultData(
153 fieldname, null, null, new DataItem[] { item });
154 }
155
156 return list;
157 }
158
159
160 @Override
161 public void setValues(String cid, boolean checked) {
162 }
163
164 @Override
165 public boolean renderCheckboxes() {
166 return false;
167 }
168
169 @Override
170 public void success() {
171 }
172
173 }

http://dive4elements.wald.intevation.org