comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixGaugeSelectPanel.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixGaugeSelectPanel.java@821a02bbfb4e
children 172338b1407f
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.client.client.ui.fixation;
2
3 import com.google.gwt.core.client.GWT;
4
5 import com.smartgwt.client.widgets.Canvas;
6 import com.smartgwt.client.widgets.Label;
7 import com.smartgwt.client.widgets.form.DynamicForm;
8 import com.smartgwt.client.widgets.form.fields.SelectItem;
9 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
10 import com.smartgwt.client.widgets.layout.HLayout;
11 import com.smartgwt.client.widgets.layout.VLayout;
12
13 import org.dive4elements.river.client.client.FLYSConstants;
14 import org.dive4elements.river.client.shared.model.Data;
15 import org.dive4elements.river.client.shared.model.DataItem;
16 import org.dive4elements.river.client.shared.model.DataList;
17 import org.dive4elements.river.client.shared.model.DefaultData;
18 import org.dive4elements.river.client.shared.model.DefaultDataItem;
19
20 import java.util.ArrayList;
21 import java.util.LinkedHashMap;
22 import java.util.List;
23
24 /**
25 * This UIProvider creates a panel for location or distance input.
26 *
27 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
28 */
29 public class FixGaugeSelectPanel
30 extends FixationPanel
31 {
32 /** The message class that provides i18n strings. */
33 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
34
35 protected String first;
36 protected String second;
37
38 protected SelectItem from;
39 protected SelectItem to;
40
41 protected LinkedHashMap<String, String> mapValues;
42
43 public FixGaugeSelectPanel() {
44 htmlOverview = "";
45
46 mapValues = new LinkedHashMap<String, String>();
47 mapValues.put("0", MESSAGES.gauge_mnq());
48 mapValues.put("1", MESSAGES.gauge_mq());
49 mapValues.put("2", MESSAGES.gauge_mhq());
50 mapValues.put("3", MESSAGES.gauge_hq5());
51 }
52
53 @Override
54 public Canvas createWidget(DataList data) {
55 instances.put(this.artifact.getUuid(), this);
56
57 VLayout layout = new VLayout();
58
59 Label title = new Label(MESSAGES.gauge_class());
60 title.setHeight(25);
61
62 from = new SelectItem(MESSAGES.from());
63 to = new SelectItem(MESSAGES.to());
64
65 from.setShowTitle(false);
66 to.setShowTitle(false);
67 from.setValueMap(mapValues);
68 from.setDefaultValues("0");
69 from.setWidth(160);
70 to.setValueMap(mapValues);
71 to.setDefaultValues("3");
72 to.setWidth(160);
73
74 DynamicForm form = new DynamicForm();
75 StaticTextItem separator = new StaticTextItem("separator");
76 separator.setShowTitle(false);
77 separator.setValue(MESSAGES.to());
78 form.setNumCols(5);
79 form.setFields(from, separator, to);
80
81 layout.addMember(title);
82 layout.addMember(form);
83
84 return layout;
85 }
86
87 @Override
88 public Canvas createOld(DataList dataList) {
89 List<Data> items = dataList.getAll();
90
91 Data f = getData(items, "q1");
92 Data t = getData(items, "q2");
93 DataItem[] fItems = f.getItems();
94 DataItem[] tItems = t.getItems();
95
96 StringBuilder sb = new StringBuilder();
97 sb.append(mapValues.get(fItems[0].getLabel()));
98 sb.append(" " + MESSAGES.to() + " ");
99 sb.append(mapValues.get(tItems[0].getLabel()));
100
101 Label old = new Label(sb.toString());
102 old.setWidth(130);
103
104 HLayout layout = new HLayout();
105 layout.setWidth("400px");
106 Label label = new Label(dataList.getLabel());
107 label.setWidth("200px");
108
109 Canvas back = getBackButton(dataList.getState());
110
111 layout.addMember(label);
112 layout.addMember(old);
113 layout.addMember(back);
114 return layout;
115 }
116
117
118 /**
119 * This method returns the selected data.
120 *
121 * @return the selected/inserted data.
122 */
123 @Override
124 public Data[] getData() {
125 List<Data> data = new ArrayList<Data>();
126
127 boolean valid = saveClassValues();
128 if (valid) {
129 DataItem firstItem = new DefaultDataItem("q1", "q1", this.first);
130 DataItem secItem = new DefaultDataItem("q2", "q2", this.second);
131 data.add(new DefaultData(
132 "q1",
133 null,
134 null,
135 new DataItem[] { firstItem }));
136 data.add(new DefaultData(
137 "q2",
138 null,
139 null,
140 new DataItem[] { secItem }));
141 }
142 return data.toArray(new Data[data.size()]);
143 }
144
145
146 @Override
147 public void setValues(String cid, boolean checked) {
148 // No user interaction, do nothing.
149 }
150
151
152 @Override
153 public boolean renderCheckboxes() {
154 // No selection, return false.
155 return false;
156 }
157
158
159 @Override
160 public void success() {}
161
162 protected boolean saveClassValues() {
163 String v1 = from.getValueAsString();
164 String v2 = to.getValueAsString();
165 try {
166 int v1i = Integer.parseInt(v1);
167 int v2i = Integer.parseInt(v2);
168 if (v1i <= v2i) {
169 this.first = v1;
170 this.second = v2;
171 return true;
172 }
173 }
174 catch(NumberFormatException nfe) {
175 return false;
176 }
177 return false;
178 }
179 }

http://dive4elements.wald.intevation.org