Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/SingleLocationPanel.java @ 1534:98123d34529b
Added UI parts and event for filtering distances and locations.
flys-client/trunk@3749 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 23 Jan 2012 11:07:38 +0000 |
parents | 4a5e65551923 |
children | 92f81eac034a |
comparison
equal
deleted
inserted
replaced
1533:7fcec57c2f2c | 1534:98123d34529b |
---|---|
1 package de.intevation.flys.client.client.ui; | 1 package de.intevation.flys.client.client.ui; |
2 | 2 |
3 import java.util.ArrayList; | 3 import java.util.ArrayList; |
4 import java.util.List; | 4 import java.util.List; |
5 import java.util.LinkedHashMap; | |
5 | 6 |
6 import com.google.gwt.core.client.GWT; | 7 import com.google.gwt.core.client.GWT; |
7 import com.google.gwt.i18n.client.NumberFormat; | 8 import com.google.gwt.i18n.client.NumberFormat; |
8 | 9 |
9 import com.smartgwt.client.util.SC; | 10 import com.smartgwt.client.util.SC; |
10 import com.smartgwt.client.widgets.Canvas; | 11 import com.smartgwt.client.widgets.Canvas; |
11 import com.smartgwt.client.widgets.Label; | 12 import com.smartgwt.client.widgets.Label; |
13 import com.smartgwt.client.widgets.form.DynamicForm; | |
12 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; | 14 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
13 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; | 15 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
14 import com.smartgwt.client.widgets.form.fields.FormItem; | 16 import com.smartgwt.client.widgets.form.fields.FormItem; |
17 import com.smartgwt.client.widgets.form.fields.SelectItem; | |
18 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; | |
19 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; | |
20 | |
15 import com.smartgwt.client.widgets.layout.HLayout; | 21 import com.smartgwt.client.widgets.layout.HLayout; |
16 import com.smartgwt.client.widgets.layout.VLayout; | 22 import com.smartgwt.client.widgets.layout.VLayout; |
17 import com.smartgwt.client.widgets.grid.ListGrid; | 23 import com.smartgwt.client.widgets.grid.ListGrid; |
18 import com.smartgwt.client.widgets.grid.ListGridField; | 24 import com.smartgwt.client.widgets.grid.ListGridField; |
19 import com.smartgwt.client.widgets.grid.ListGridRecord; | 25 import com.smartgwt.client.widgets.grid.ListGridRecord; |
39 import de.intevation.flys.client.client.FLYSConstants; | 45 import de.intevation.flys.client.client.FLYSConstants; |
40 import de.intevation.flys.client.client.Config; | 46 import de.intevation.flys.client.client.Config; |
41 import de.intevation.flys.client.client.ui.range.DistanceInfoDataSource; | 47 import de.intevation.flys.client.client.ui.range.DistanceInfoDataSource; |
42 import de.intevation.flys.client.client.event.FilterHandler; | 48 import de.intevation.flys.client.client.event.FilterHandler; |
43 import de.intevation.flys.client.client.event.StringFilterEvent; | 49 import de.intevation.flys.client.client.event.StringFilterEvent; |
50 import de.intevation.flys.client.client.event.RangeFilterEvent; | |
44 | 51 |
45 | 52 |
46 /** | 53 /** |
47 * This UIProvider creates a widget to enter locations. | 54 * This UIProvider creates a widget to enter locations. |
48 * | 55 * |
302 | 309 |
303 layout.addMember(container); | 310 layout.addMember(container); |
304 | 311 |
305 container.setMembersMargin(30); | 312 container.setMembersMargin(30); |
306 | 313 |
307 TableFilter filter = new TableFilter(); | 314 final TableFilter filter = new TableFilter(); |
308 filter.setHeight("30px"); | 315 filter.setHeight("30px"); |
309 filter.addFilterHandler(this); | 316 filter.addFilterHandler(this); |
310 | 317 |
318 final RangeTableFilter filterRange = new RangeTableFilter(); | |
319 filterRange.setHeight("30px"); | |
320 filterRange.addFilterHandler(this); | |
321 filterRange.setVisible(false); | |
322 | |
323 SelectItem filterCriteria = new SelectItem(); | |
324 filterCriteria.setShowTitle(false); | |
325 filterCriteria.setWidth(100); | |
326 filterCriteria.addChangedHandler(new ChangedHandler() { | |
327 public void onChanged(ChangedEvent e) { | |
328 if(e.getValue().toString().equals("range")) { | |
329 filterRange.setVisible(true); | |
330 filter.setVisible(false); | |
331 filter.clear(); | |
332 } | |
333 else { | |
334 filterRange.setVisible(false); | |
335 filterRange.clear(); | |
336 filter.setVisible(true); | |
337 } | |
338 } | |
339 }); | |
340 | |
341 LinkedHashMap<String, String> filterMap = | |
342 new LinkedHashMap<String, String>(); | |
343 filterMap.put("description", MESSAGES.description()); | |
344 filterMap.put("range", MESSAGES.range()); | |
345 filterCriteria.setValueMap(filterMap); | |
346 filterCriteria.setValue("description"); | |
347 | |
348 DynamicForm form = new DynamicForm(); | |
349 form.setFields(filterCriteria); | |
350 | |
351 HLayout filterLayout = new HLayout(); | |
352 filterLayout.addMember(form); | |
353 filterLayout.addMember(filter); | |
354 filterLayout.addMember(filterRange); | |
355 | |
311 helperContainer.addMember(locationTable); | 356 helperContainer.addMember(locationTable); |
312 helperContainer.addMember(filter); | 357 helperContainer.addMember(filterLayout); |
313 createInputPanel(); | 358 createInputPanel(); |
314 return layout; | 359 return layout; |
315 } | 360 } |
316 | 361 |
317 public void onFilterCriteriaChanged(StringFilterEvent event) { | 362 public void onFilterCriteriaChanged(StringFilterEvent event) { |
323 } | 368 } |
324 else { | 369 else { |
325 // TODO Remove filter | 370 // TODO Remove filter |
326 } | 371 } |
327 } | 372 } |
373 | |
374 | |
375 public void onFilterCriteriaChanged(RangeFilterEvent event) { | |
376 GWT.log("filter range"); | |
377 } | |
378 | |
328 | 379 |
329 @Override | 380 @Override |
330 public List<String> validate() { | 381 public List<String> validate() { |
331 List<String> errors = new ArrayList<String>(); | 382 List<String> errors = new ArrayList<String>(); |
332 NumberFormat nf = NumberFormat.getDecimalFormat(); | 383 NumberFormat nf = NumberFormat.getDecimalFormat(); |