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;
+    }
 }

http://dive4elements.wald.intevation.org