gernotbelger@9066: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde gernotbelger@9066: * Software engineering by Intevation GmbH gernotbelger@9066: * gernotbelger@9066: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9066: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9066: * documentation coming with Dive4Elements River for details. gernotbelger@9066: */ gernotbelger@9066: gernotbelger@9066: package org.dive4elements.river.client.client.ui.uinfo; gernotbelger@9066: gernotbelger@9299: import java.util.List; gernotbelger@9299: gernotbelger@9299: import org.dive4elements.river.client.client.ui.DatacageWidget; gernotbelger@9299: import org.dive4elements.river.client.client.ui.DatacageWidgetData; gernotbelger@9066: import org.dive4elements.river.client.shared.model.DataList; gernotbelger@9299: import org.dive4elements.river.client.shared.model.User; gernotbelger@9066: gernotbelger@9299: import com.smartgwt.client.util.SC; gernotbelger@9299: import com.smartgwt.client.widgets.Button; gernotbelger@9299: import com.smartgwt.client.widgets.Canvas; gernotbelger@9299: import com.smartgwt.client.widgets.events.ClickEvent; gernotbelger@9299: import com.smartgwt.client.widgets.events.ClickHandler; gernotbelger@9107: import com.smartgwt.client.widgets.layout.Layout; gernotbelger@9299: import com.smartgwt.client.widgets.layout.VLayout; gernotbelger@9299: import com.smartgwt.client.widgets.tree.TreeNode; gernotbelger@9066: gernotbelger@9070: public class VegetationzonesTablePanel extends AbstractVegZonesTablePanel { gernotbelger@9068: gernotbelger@9066: private static final long serialVersionUID = 1L; gernotbelger@9299: private final User user; gernotbelger@9299: gernotbelger@9299: public VegetationzonesTablePanel(final User user) { gernotbelger@9299: super(); gernotbelger@9299: this.user = user; gernotbelger@9299: } gernotbelger@9066: gernotbelger@9068: @Override gernotbelger@9107: public void createWidget(final Layout root, final DataList data) { gernotbelger@9066: gernotbelger@9118: createTable(root, data, "420", false); gernotbelger@9107: gernotbelger@9107: // fetchSedimentLoadData(); //TODO: feed from database... gernotbelger@9066: } gernotbelger@9299: gernotbelger@9299: @Override gernotbelger@9299: protected Canvas createHelper(final DataList dataList) { gernotbelger@9299: gernotbelger@9299: final DatacageWidgetData data = new DatacageWidgetData(this.artifact, this.user, "uinfo.inundation_duration.vegZoneSelect", "load-system:true", false); gernotbelger@9299: gernotbelger@9299: final DatacageWidget datacage = new DatacageWidget(data); gernotbelger@9299: gernotbelger@9299: final Button plusBtn = new Button(this.MSG.uinfo_inundation_duration_set_vegetation_zone()); gernotbelger@9299: plusBtn.setAutoFit(true); gernotbelger@9299: plusBtn.addClickHandler(new ClickHandler() { gernotbelger@9299: @Override gernotbelger@9299: public void onClick(final ClickEvent event) { gernotbelger@9299: final List selection = datacage.getPlainSelection(); gernotbelger@9299: if (selection == null || selection.isEmpty()) { gernotbelger@9299: SC.say(VegetationzonesTablePanel.this.MSG.warning()); gernotbelger@9299: return; gernotbelger@9299: } gernotbelger@9299: final String data = selection.get(0).getAttribute("data"); gernotbelger@9299: createTableFromDataStr(data); gernotbelger@9299: updateValidationMsgLabel(); gernotbelger@9299: } gernotbelger@9299: }); gernotbelger@9299: gernotbelger@9299: final VLayout helperLayout = new VLayout(); gernotbelger@9299: helperLayout.addMember(datacage); gernotbelger@9299: helperLayout.addMember(plusBtn); gernotbelger@9299: gernotbelger@9299: return helperLayout; gernotbelger@9299: } gernotbelger@9066: }