Mercurial > dive4elements > river
view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9108:f5b55b383ef9
VegZones Layout Nachtrag
author | gernotbelger |
---|---|
date | Tue, 29 May 2018 18:17:55 +0200 |
parents | 41f4bc83aa7a |
children | 31b3cae5de0d |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.client.client.ui.uinfo; import org.dive4elements.river.client.client.ui.PanelHelper; import org.dive4elements.river.client.shared.model.DataList; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.Button; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridRecord; import com.smartgwt.client.widgets.layout.Layout; import com.smartgwt.client.widgets.layout.VLayout; public class VegetationzonesTableEditPanel extends AbstractVegZonesTablePanel { private static final long serialVersionUID = 1L; private TextItem vegzone; private TextItem start; private TextItem end; @Override public void createWidget(final Layout root, final DataList data) { final ListGrid elements = super.createTable(root, data, 450, true); this.vegzone = PanelHelper.createItem("uinfo_vegetation_zone_label", this.MSG.uinfo_vegetation_zone_label(), 200); this.vegzone.setColSpan(4); this.start = PanelHelper.createIntegerItem("uinfo_vegetation_zones_from", this.MSG.uinfo_vegetation_zones_from(), 50); this.end = PanelHelper.createIntegerItem("uinfo_vegetation_zones_to", this.MSG.uinfo_vegetation_zones_to(), 50); final VLayout fields = new VLayout(); final Button add = new Button(this.MSG.add_date()); // TODO: make key more generic or change to more specific final DynamicForm form1 = new DynamicForm(); form1.setNumCols(4); // für Layout untereinander muss 2 eingestellt werden form1.setFields(this.vegzone, this.start, this.end); add.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent ce) { final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString(); final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString(); final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString(); final String message = validate(v1, v2, v3); if (message != null) { SC.warn(message); return; } final ListGridRecord r = new ListGridRecord(); r.setAttribute("vegzone", v3); r.setAttribute("from", v1); r.setAttribute("to", v2); elements.addData(r); } }); fields.addMember(form1); root.addMember(fields); root.addMember(PanelHelper.getSpacer(10)); root.addMember(add); root.addMember(PanelHelper.getSpacer(20)); } protected String validate(final String v1, final String v2, final String v3) { if (v1 == null || v2 == null || v3 == null || v1.trim().isEmpty() || v2.trim().isEmpty() || v3.trim().isEmpty()) return this.MSG.uinfo_vegetation_zones_validation_empty(); try { final Integer from = Integer.valueOf(v1); final Integer to = Integer.valueOf(v2); if (from < 0 || from > 365) return this.MSG.uinfo_vegetation_zones_validation_range(); if (to < 0 || to > 365) return this.MSG.uinfo_vegetation_zones_validation_range(); if (from > to) return this.MSG.uinfo_vegetation_zones_validation_from_greater_to(); return null; } catch (final NumberFormatException e) { return this.MSG.uinfo_vegetation_zones_invalid_integer(); } } }