Mercurial > dive4elements > river
view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/sinfo/CollisionLoadEpochPanel.java @ 9263:abf14917be32
Moved stepping behaviour of NaviOutputChart into an exchangeable strategy.
Allows for distinct values stepping of sinfo flood duration.
author | gernotbelger |
---|---|
date | Tue, 17 Jul 2018 19:48:18 +0200 |
parents | aafae1ab25f0 |
children |
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.sinfo; import org.dive4elements.river.client.client.ui.AbstractEpochPanel; 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.widgets.Button; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; 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.ListGridField; 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.VLayout; public class CollisionLoadEpochPanel extends AbstractEpochPanel { private static final long serialVersionUID = 1L; @Override protected String getDatakey() { return "epochs"; } public CollisionLoadEpochPanel() { super(Type.multi); } @Override protected Canvas createWidget(final DataList data) { final HLayout input = new HLayout(); final VLayout root = new VLayout(); final VLayout grid = new VLayout(); final VLayout intFields = new VLayout(); final Button add = new Button(this.MSG.add_date()); final ListGrid elements = createListGrid(); elements.setWidth(185); elements.setHeight(120); final Label title = new Label(data.get(0).getDescription()); title.setHeight("25px"); final DynamicForm form = new DynamicForm(); form.setNumCols(4); final TextItem start = createStartInputItem(this.MSG.from()); final TextItem end = createEndInputItem(this.MSG.to()); form.setFields(start, end); add.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent ce) { final String v1 = start.getValueAsString(); final String v2 = end.getValueAsString(); if (v1 == null || v2 == null) { return; } if (!isValidEpoch(v1, v2)) { return; } final ListGridRecord r = new ListGridRecord(); r.setAttribute("from", v1); r.setAttribute("to", v2); elements.addData(r); } }); final Label sel = new Label(this.MSG.select()); sel.setHeight(25); final ListGridField from = new ListGridField("from", this.MSG.from()); final ListGridField to = new ListGridField("to", this.MSG.to()); from.setWidth(70); to.setWidth(70); final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") { { setType(ListGridFieldType.ICON); setIcon(GWT.getHostPageBaseURL() + CollisionLoadEpochPanel.this.MSG.removeFeature()); setCanEdit(false); setCanFilter(false); setCanSort(false); setCanGroupBy(false); setCanFreeze(false); setWidth(25); } }; 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()); } }); elements.setFields(from, to, removeField); intFields.addMember(form); intFields.addMember(add); grid.addMember(sel); grid.addMember(elements); input.addMember(intFields); input.addMember(grid); root.addMember(title); root.addMember(input); return root; } }