package org.jboss.tools.seam.ui.pages.editor.ecore.pages; import java.util.List; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.swt.graphics.Image; /** * @author daniel * * Base interface for flow elements which may moved, resized and connected by links * * @model abstract="true" */ public interface PagesElement extends EObject { /** * returns name of element * @model */ public String getName(); /** * Sets the value of the '{@link org.jboss.tools.seam.ui.pages.editor.ecore.pages.PagesElement#getName <em>Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. * @see #getName() * @generated */ void setName(String value); /** * returns location of element * @model */ public Point getLocation(); /** * Sets the value of the '{@link org.jboss.tools.seam.ui.pages.editor.ecore.pages.PagesElement#getLocation <em>Location</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Location</em>' attribute. * @see #getLocation() * @generated */ void setLocation(Point value); /** * returns size of element * @model */ public Dimension getSize(); /** * Sets the value of the '{@link org.jboss.tools.seam.ui.pages.editor.ecore.pages.PagesElement#getSize <em>Size</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Size</em>' attribute. * @see #getSize() * @generated */ void setSize(Dimension value); /** * returns consumers * @model type="PagesElement" opposite="parent" */ public EList<PagesElement> getChildren(); /** * returns consumers * @model opposite = "children" */ public PagesElement getParent(); /** * Sets the value of the '{@link org.jboss.tools.seam.ui.pages.editor.ecore.pages.PagesElement#getParent <em>Parent</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Parent</em>' reference. * @see #getParent() * @generated */ void setParent(PagesElement value); /** * @model type="Link" opposite ="toElement" */ public EList<Link> getInputLinks(); /** * @model type="Link" opposite ="fromElement" */ public EList<Link> getOutputLinks(); public Image getImage(); /** * returns data of element * @model */ public Object getData(); /** * Sets the value of the '{@link org.jboss.tools.seam.ui.pages.editor.ecore.pages.PagesElement#getData <em>Data</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Data</em>' attribute. * @see #getData() * @generated */ void setData(Object value); public void dataChanged(); public PagesModel getPagesModel(); public void childAdded(Object childData); public void changeLocationAndSize(Point location, Dimension size); }