teichmann@5861: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5861: * Software engineering by Intevation GmbH teichmann@5861: * teichmann@5993: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5861: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5993: * documentation coming with Dive4Elements River for details. teichmann@5861: */ teichmann@5861: teichmann@5835: package org.dive4elements.river.client.client.ui; felix@867: gernotbelger@8852: import org.dive4elements.river.client.shared.model.DataList; gernotbelger@8852: import org.dive4elements.river.client.shared.model.User; gernotbelger@8852: felix@867: import com.google.gwt.core.client.GWT; felix@867: import com.smartgwt.client.widgets.Canvas; felix@914: import com.smartgwt.client.widgets.grid.ListGrid; christian@4127: import com.smartgwt.client.widgets.layout.HLayout; christian@4127: import com.smartgwt.client.widgets.layout.VLayout; felix@867: felix@914: /** gernotbelger@8852: * A {@link AbstractPairRecommendationPanel} that uses a 'TwinDatacage' in the help-input area. felix@914: * DatacagePairWidget which is put in the input-helper area. felix@914: */ gernotbelger@8852: public abstract class DatacageTwinPanel gernotbelger@8852: extends AbstractPairRecommendationPanel { felix@1298: gernotbelger@8852: private IDatacageTwinPanelInfo leftInfo; gernotbelger@8852: private IDatacageTwinPanelInfo rightInfo; felix@1298: gernotbelger@8852: public static interface IDatacageTwinPanelInfo extends IRecommendationInfo gernotbelger@8852: { gernotbelger@8852: String getOuts(); gernotbelger@8852: } gernotbelger@8852: gernotbelger@8852: public DatacageTwinPanel(final User user, IValidator validator, final IDatacageTwinPanelInfo leftInfo, final IDatacageTwinPanelInfo rightInfo ) { gernotbelger@8852: super(user, validator, leftInfo, rightInfo); felix@1363: gernotbelger@8852: this.leftInfo = leftInfo; gernotbelger@8852: this.rightInfo = rightInfo; gernotbelger@8852: } gernotbelger@8852: felix@867: @Override gernotbelger@8852: protected final Canvas createChooserWidgets(final Canvas widget, final DataList dataList, final User user, final ListGrid differencesList) { felix@867: GWT.log("createData()"); felix@867: felix@867: Canvas submit = getNextButton(); felix@867: felix@1273: VLayout layout = new VLayout(); felix@914: HLayout helperLayout = new HLayout(); gernotbelger@8852: gernotbelger@8852: final String leftOuts = leftInfo.getOuts(); gernotbelger@8852: final String rightOuts = rightInfo.getOuts(); gernotbelger@8852: gernotbelger@8852: helperLayout.addMember(new DatacagePairWidget(this.artifact, user, leftOuts, rightOuts, differencesList)); felix@867: felix@867: layout.addMember(widget); felix@867: layout.addMember(submit); felix@867: layout.setMembersMargin(10); felix@914: this.helperContainer.addMember(helperLayout); felix@867: felix@914: return layout; felix@914: } gernotbelger@8852: }