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;
ingo@20:
ingo@20: import java.io.Serializable;
ingo@20:
ingo@20: import com.smartgwt.client.widgets.Canvas;
ingo@788: import com.smartgwt.client.widgets.layout.VLayout;
ingo@20:
teichmann@5835: import org.dive4elements.river.client.shared.model.Data;
teichmann@5835: import org.dive4elements.river.client.shared.model.DataList;
teichmann@5835: import org.dive4elements.river.client.shared.model.Artifact;
teichmann@5835: import org.dive4elements.river.client.shared.model.Collection;
ingo@20:
aheinecke@6232: import org.dive4elements.river.client.client.FLYS;
aheinecke@6232:
ingo@20: /**
ingo@20: * This interface describes a method that creates a Canvas element displaying
ingo@20: * DataItems for a current state of the artifact.
ingo@20: *
ingo@20: * @author Ingo Weinzierl
ingo@20: */
ingo@20: public interface UIProvider extends Serializable {
ingo@20:
ingo@20: /**
ingo@20: * This method creates a Canvas element showing the DataItems in
ingo@20: * data.
ingo@20: *
ingo@51: * @param data The DataList object.
ingo@20: *
ingo@20: * @return the Canvas showing the Data.
ingo@20: */
ingo@51: public Canvas create(DataList data);
ingo@53:
ingo@53:
ingo@53: /**
ingo@53: * This method creates a Canvas element showing the old Data objects in the
ingo@53: * DataList data.
ingo@53: *
ingo@53: * @param dataList The DataList which elements should be displayed.
ingo@53: *
ingo@53: * @return a Canvas displaying the Data.
ingo@53: */
ingo@53: public Canvas createOld(DataList dataList);
ingo@83:
ingo@83:
aheinecke@6232: public Canvas createHelpLink(DataList dataList, Data data, FLYS instance);
ingo@2500:
ingo@2500:
ingo@83: /**
ingo@83: * This method injects a container that is used to position helper widgets.
ingo@83: *
ingo@83: * @param container A container that is used to position helper widgets.
ingo@83: */
ingo@788: public void setContainer(VLayout container);
raimund@233:
raimund@233:
raimund@233: /**
raimund@233: * Sets an artifact that contains the status data information for a project.
raimund@233: *
raimund@233: * @param artifact The artifact containing status information.
raimund@233: */
raimund@233: public void setArtifact(Artifact artifact);
ingo@909:
ingo@909:
ingo@909: /**
ingo@909: * Sets the parent Collection of the Artifact.
ingo@909: */
ingo@909: public void setCollection(Collection collection);
raimund@915:
raimund@915: public void setParameterList(ParameterList list);
ingo@20: }
ingo@20: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :