Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTablePanel.java @ 9299:4a6cc7c6716a
uinfo.inundation_duration veg'zone select
author | gernotbelger |
---|---|
date | Wed, 25 Jul 2018 14:42:44 +0200 |
parents | 431f1c269be5 |
children | 517b93254995 |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTablePanel.java Wed Jul 25 11:33:48 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTablePanel.java Wed Jul 25 14:42:44 2018 +0200 @@ -8,13 +8,31 @@ package org.dive4elements.river.client.client.ui.uinfo; +import java.util.List; + +import org.dive4elements.river.client.client.ui.DatacageWidget; +import org.dive4elements.river.client.client.ui.DatacageWidgetData; import org.dive4elements.river.client.shared.model.DataList; +import org.dive4elements.river.client.shared.model.User; +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.layout.Layout; +import com.smartgwt.client.widgets.layout.VLayout; +import com.smartgwt.client.widgets.tree.TreeNode; public class VegetationzonesTablePanel extends AbstractVegZonesTablePanel { private static final long serialVersionUID = 1L; + private final User user; + + public VegetationzonesTablePanel(final User user) { + super(); + this.user = user; + } @Override public void createWidget(final Layout root, final DataList data) { @@ -23,4 +41,34 @@ // fetchSedimentLoadData(); //TODO: feed from database... } + + @Override + protected Canvas createHelper(final DataList dataList) { + + final DatacageWidgetData data = new DatacageWidgetData(this.artifact, this.user, "uinfo.inundation_duration.vegZoneSelect", "load-system:true", false); + + final DatacageWidget datacage = new DatacageWidget(data); + + final Button plusBtn = new Button(this.MSG.uinfo_inundation_duration_set_vegetation_zone()); + plusBtn.setAutoFit(true); + plusBtn.addClickHandler(new ClickHandler() { + @Override + public void onClick(final ClickEvent event) { + final List<TreeNode> selection = datacage.getPlainSelection(); + if (selection == null || selection.isEmpty()) { + SC.say(VegetationzonesTablePanel.this.MSG.warning()); + return; + } + final String data = selection.get(0).getAttribute("data"); + createTableFromDataStr(data); + updateValidationMsgLabel(); + } + }); + + final VLayout helperLayout = new VLayout(); + helperLayout.addMember(datacage); + helperLayout.addMember(plusBtn); + + return helperLayout; + } }