Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9107:41f4bc83aa7a
vegzones improved
author | gernotbelger |
---|---|
date | Tue, 29 May 2018 15:19:03 +0200 |
parents | 611a523fc42f |
children | f5b55b383ef9 |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java Tue May 29 11:38:13 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java Tue May 29 15:19:03 2018 +0200 @@ -11,30 +11,34 @@ import org.dive4elements.river.client.client.ui.PanelHelper; import org.dive4elements.river.client.shared.model.DataList; -import com.google.gwt.core.client.GWT; -import com.smartgwt.client.types.ListGridFieldType; +import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.Button; -import com.smartgwt.client.widgets.Canvas; 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.validator.IsIntegerValidator; -import com.smartgwt.client.widgets.form.validator.IsStringValidator; -import com.smartgwt.client.widgets.grid.ListGridField; +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.grid.events.RecordClickEvent; -import com.smartgwt.client.widgets.grid.events.RecordClickHandler; import com.smartgwt.client.widgets.layout.HLayout; +import com.smartgwt.client.widgets.layout.Layout; public class VegetationzonesTableEditPanel extends AbstractVegZonesTablePanel { private static final long serialVersionUID = 1L; + private TextItem vegzone; + + private TextItem start; + + private TextItem end; + @Override - public Canvas createWidget(final DataList data) { - super.createTable(data, 450); - this.vegzone = PanelHelper.createItem("uinfo_vegetation_zone_label", this.MSG.uinfo_vegetation_zone_label(), 200, new IsStringValidator()); - this.start = PanelHelper.createItem("uinfo_vegetation_zones_from", this.MSG.uinfo_vegetation_zones_from(), 40, new IsIntegerValidator()); - this.end = PanelHelper.createItem("uinfo_vegetation_zones_to", this.MSG.uinfo_vegetation_zones_to(), 40, new IsIntegerValidator()); + 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.start = PanelHelper.createIntegerItem("uinfo_vegetation_zones_from", this.MSG.uinfo_vegetation_zones_from(), 40); + this.end = PanelHelper.createIntegerItem("uinfo_vegetation_zones_to", this.MSG.uinfo_vegetation_zones_to(), 40); final HLayout fields = new HLayout(); final HLayout fields2 = new HLayout(); @@ -53,16 +57,9 @@ final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString(); final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString(); final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString(); - if (v1 == null || v2 == null || v3 == null) { - return; - } - try { - final double test = Double.valueOf(v1); - final double test2 = Double.valueOf(v2); - // TODO: MAKE MESSAGE, Apply Format (1.000,00) - } - catch (final Exception e) { - e.printStackTrace(); + final String message = validate(v1, v2, v3); + if (message != null) { + SC.warn(message); return; } @@ -70,46 +67,42 @@ r.setAttribute("vegzone", v3); r.setAttribute("from", v1); r.setAttribute("to", v2); - VegetationzonesTableEditPanel.this.elements.addData(r); + elements.addData(r); } }); - final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") { - { - setType(ListGridFieldType.ICON); - setIcon(GWT.getHostPageBaseURL() + VegetationzonesTableEditPanel.this.MSG.removeFeature()); - setCanEdit(false); - setCanFilter(false); - setCanSort(false); - setCanGroupBy(false); - setCanFreeze(false); - setWidth(25); - } - }; - - this.elements.addRecordClickHandler(new RecordClickHandler() { - @Override - public void onRecordClick(final RecordClickEvent event) { - // Just handle remove-clicks - if (!event.getField().getName().equals(removeField.getName())) { - return; - } - event.getViewer().removeData(event.getRecord()); - } - }); - - this.elements.setFields(super.vegzoneField, super.fromField, super.toField, removeField); - fields.addMember(form1); fields2.addMember(form2); - this.root.addMember(fields); - this.root.addMember(fields2); - this.root.addMember(PanelHelper.getSpacer(10)); - this.root.addMember(add); - this.root.addMember(PanelHelper.getSpacer(20)); - - return this.root; + root.addMember(fields); + root.addMember(fields2); + 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(); + } + } +} \ No newline at end of file