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();

http://dive4elements.wald.intevation.org