Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java @ 787:4e0b73b7113b
Added new UI providers.
flys-client/trunk@2284 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 05 Jul 2011 17:28:04 +0000 |
parents | 3fa64c796ffc |
children | dfbc6693247e |
comparison
equal
deleted
inserted
replaced
786:06457f0dbad9 | 787:4e0b73b7113b |
---|---|
35 | 35 |
36 public class DistancePanel extends AbstractUIProvider implements BlurHandler { | 36 public class DistancePanel extends AbstractUIProvider implements BlurHandler { |
37 | 37 |
38 public static final int DEFAULT_STEP_WIDTH = 100; | 38 public static final int DEFAULT_STEP_WIDTH = 100; |
39 | 39 |
40 public static final String FIELD_LOWER = "ld_from"; | |
41 public static final String FIELD_UPPER = "ld_to"; | |
42 public static final String FIELD_STEP = "ld_step"; | |
43 | |
40 | 44 |
41 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); | 45 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
42 | 46 |
43 protected RangeTable distancesTable; | 47 protected RangeTable distancesTable; |
44 protected LocationsTable locationsTable; | 48 protected LocationsTable locationsTable; |
50 protected double min; | 54 protected double min; |
51 protected double max; | 55 protected double max; |
52 | 56 |
53 | 57 |
54 public DistancePanel() { | 58 public DistancePanel() { |
59 this("right"); | |
60 } | |
61 | |
62 | |
63 public DistancePanel(String labelOrientation) { | |
55 distancesTable = new RangeTable(); | 64 distancesTable = new RangeTable(); |
56 locationsTable = new LocationsTable(); | 65 locationsTable = new LocationsTable(); |
57 distancePanel = new DoubleRangePanel( | 66 distancePanel = new DoubleRangePanel( |
58 MSG.unitFrom(), MSG.unitTo(), MSG.unitWidth(), | 67 getLabelFrom(), getLabelTo(), getLabelStep(), |
59 0d, 0d, 0d, 250, this); | 68 0d, 0d, 0d, 250, this, labelOrientation); |
60 } | 69 } |
61 | 70 |
62 | 71 |
63 @Override | 72 @Override |
64 public Canvas create(DataList data) { | 73 public Canvas create(DataList data) { |
74 Data d = data.get(0); | |
75 | |
65 VLayout layout = new VLayout(); | 76 VLayout layout = new VLayout(); |
66 layout.setMembersMargin(10); | 77 layout.setMembersMargin(10); |
67 | 78 |
68 Label label = new Label(MSG.distance_state()); | 79 Label label = new Label(d.getDescription()); |
69 | 80 |
70 Canvas submit = getNextButton(); | 81 Canvas submit = getNextButton(); |
71 | 82 |
72 label.setHeight(25); | 83 label.setHeight(25); |
73 distancePanel.setHeight(50); | 84 distancePanel.setHeight(50); |
107 | 118 |
108 | 119 |
109 protected String getOldSelectionString(DataList dataList) { | 120 protected String getOldSelectionString(DataList dataList) { |
110 List<Data> items = dataList.getAll(); | 121 List<Data> items = dataList.getAll(); |
111 | 122 |
112 Data dFrom = getData(items, "ld_from"); | 123 Data dFrom = getData(items, getLowerField()); |
113 Data dTo = getData(items, "ld_to"); | 124 Data dTo = getData(items, getUpperField()); |
114 Data dStep = getData(items, "ld_step"); | 125 Data dStep = getData(items, getStepField()); |
115 | 126 |
116 DataItem[] from = dFrom.getItems(); | 127 DataItem[] from = dFrom.getItems(); |
117 DataItem[] to = dTo.getItems(); | 128 DataItem[] to = dTo.getItems(); |
118 DataItem[] step = dStep.getItems(); | 129 DataItem[] step = dStep.getItems(); |
119 | 130 |
120 StringBuilder sb = new StringBuilder(); | 131 StringBuilder sb = new StringBuilder(); |
121 sb.append(from[0].getLabel()); | 132 sb.append(from[0].getLabel()); |
122 sb.append(" " + MSG.unitFrom() + " "); | 133 sb.append(" " + getLabelFrom() + " "); |
123 sb.append(to[0].getLabel()); | 134 sb.append(to[0].getLabel()); |
124 sb.append(" " + MSG.unitTo() + " "); | 135 sb.append(" " + getLabelTo() + " "); |
125 sb.append(step[0].getLabel()); | 136 sb.append(step[0].getLabel()); |
126 sb.append(" " + MSG.unitWidth()); | 137 sb.append(" " + getLabelStep()); |
127 | 138 |
128 return sb.toString(); | 139 return sb.toString(); |
140 } | |
141 | |
142 | |
143 protected String getLabelFrom() { | |
144 return MSG.unitFrom(); | |
145 } | |
146 | |
147 | |
148 protected String getLabelTo() { | |
149 return MSG.unitTo(); | |
150 } | |
151 | |
152 | |
153 protected String getLabelStep() { | |
154 return MSG.unitWidth(); | |
155 } | |
156 | |
157 | |
158 protected String getLowerField() { | |
159 return FIELD_LOWER; | |
160 } | |
161 | |
162 | |
163 protected String getUpperField() { | |
164 return FIELD_UPPER; | |
165 } | |
166 | |
167 | |
168 protected String getStepField() { | |
169 return FIELD_STEP; | |
129 } | 170 } |
130 | 171 |
131 | 172 |
132 @Override | 173 @Override |
133 public List<String> validate() { | 174 public List<String> validate() { |
189 return data; | 230 return data; |
190 } | 231 } |
191 | 232 |
192 | 233 |
193 protected Data getDataFrom() { | 234 protected Data getDataFrom() { |
194 String value = String.valueOf(distancePanel.getFrom()); | 235 String value = String.valueOf(distancePanel.getFrom()); |
195 DataItem item = new DefaultDataItem("ld_from", "ld_from", value); | 236 String field = getLowerField(); |
237 | |
238 DataItem item = new DefaultDataItem(field, field, value); | |
196 return new DefaultData( | 239 return new DefaultData( |
197 "ld_from", null, null, new DataItem[] { item }); | 240 field, null, null, new DataItem[] { item }); |
198 } | 241 } |
199 | 242 |
200 | 243 |
201 protected Data getDataTo() { | 244 protected Data getDataTo() { |
202 String value = String.valueOf(distancePanel.getTo()); | 245 String value = String.valueOf(distancePanel.getTo()); |
203 DataItem item = new DefaultDataItem("ld_to", "ld_to", value); | 246 String field = getUpperField(); |
247 | |
248 DataItem item = new DefaultDataItem(field, field, value); | |
204 return new DefaultData( | 249 return new DefaultData( |
205 "ld_to", null, null, new DataItem[] { item }); | 250 field, null, null, new DataItem[] { item }); |
206 } | 251 } |
207 | 252 |
208 | 253 |
209 protected Data getDataStep() { | 254 protected Data getDataStep() { |
210 String value = String.valueOf(distancePanel.getStep()); | 255 String value = String.valueOf(distancePanel.getStep()); |
211 DataItem item = new DefaultDataItem("ld_step","ld_step", value); | 256 String field = getStepField(); |
257 | |
258 DataItem item = new DefaultDataItem(field, field, value); | |
212 return new DefaultData( | 259 return new DefaultData( |
213 "ld_step", null, null, new DataItem[] { item }); | 260 field, null, null, new DataItem[] { item }); |
214 } | 261 } |
215 | 262 |
216 | 263 |
217 @Override | 264 @Override |
218 public void onBlur(BlurEvent event) { | 265 public void onBlur(BlurEvent event) { |
219 distancePanel.validateForm(); | 266 distancePanel.validateForm(); |
220 } | 267 } |
221 | 268 |
222 | 269 |
223 protected void initMinMaxValues(DataList data) { | 270 protected void initMinMaxValues(DataList data) { |
224 Data f = getData(data.getAll(), "ld_from"); | 271 Data f = getData(data.getAll(), getLowerField()); |
225 Data t = getData(data.getAll(), "ld_to"); | 272 Data t = getData(data.getAll(), getUpperField()); |
226 | 273 |
227 DataItem[] fItems = f.getItems(); | 274 DataItem[] fItems = f.getItems(); |
228 DataItem[] tItems = t.getItems(); | 275 DataItem[] tItems = t.getItems(); |
229 | 276 |
230 try { | 277 try { |
244 initDefaultStep(data); | 291 initDefaultStep(data); |
245 } | 292 } |
246 | 293 |
247 | 294 |
248 protected void initDefaultFrom(DataList data) { | 295 protected void initDefaultFrom(DataList data) { |
249 Data f = getData(data.getAll(), "ld_from"); | 296 Data f = getData(data.getAll(), getLowerField()); |
250 | 297 |
251 double from = min; | 298 double from = getDefaultFrom(); |
252 | 299 |
253 try { | 300 try { |
254 from = getDefaultValue(f); | 301 from = getDefaultValue(f); |
255 } | 302 } |
256 catch (NumberFormatException nfe) { | 303 catch (NumberFormatException nfe) { |
259 | 306 |
260 distancePanel.setFrom(from); | 307 distancePanel.setFrom(from); |
261 } | 308 } |
262 | 309 |
263 | 310 |
311 protected double getDefaultFrom() { | |
312 return min; | |
313 } | |
314 | |
315 | |
264 protected void initDefaultTo(DataList data) { | 316 protected void initDefaultTo(DataList data) { |
265 Data t = getData(data.getAll(), "ld_to"); | 317 Data t = getData(data.getAll(), getUpperField()); |
266 | 318 |
267 double to = max; | 319 double to = getDefaultTo(); |
268 | 320 |
269 try { | 321 try { |
270 to = getDefaultValue(t); | 322 to = getDefaultValue(t); |
271 } | 323 } |
272 catch (NumberFormatException nfe) { | 324 catch (NumberFormatException nfe) { |
275 | 327 |
276 distancePanel.setTo(to); | 328 distancePanel.setTo(to); |
277 } | 329 } |
278 | 330 |
279 | 331 |
332 protected double getDefaultTo() { | |
333 return max; | |
334 } | |
335 | |
336 | |
280 protected void initDefaultStep(DataList data) { | 337 protected void initDefaultStep(DataList data) { |
281 Data s = getData(data.getAll(), "ld_step"); | 338 Data s = getData(data.getAll(), getStepField()); |
282 | 339 |
283 double step = (double) DEFAULT_STEP_WIDTH; | 340 double step = getDefaultStep(); |
284 | 341 |
285 try { | 342 try { |
286 step = getDefaultValue(s); | 343 step = getDefaultValue(s); |
287 } | 344 } |
288 catch (NumberFormatException nfe) { | 345 catch (NumberFormatException nfe) { |
289 // do nothing | 346 // do nothing |
290 } | 347 } |
291 | 348 |
292 distancePanel.setStep(step); | 349 distancePanel.setStep(step); |
350 } | |
351 | |
352 | |
353 protected double getDefaultStep() { | |
354 return (double) DEFAULT_STEP_WIDTH; | |
293 } | 355 } |
294 | 356 |
295 | 357 |
296 protected double getDefaultValue(Data data) | 358 protected double getDefaultValue(Data data) |
297 throws NumberFormatException | 359 throws NumberFormatException |