/** * */ package se.sics.kompics.ide.editor.part; import java.util.ArrayList; import java.util.List; import java.util.Random; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.gef.editparts.AbstractGraphicalEditPart; import se.sics.kompics.ide.Model; import se.sics.kompics.ide.editor.figure.ComponentDefinitionFigure; import se.sics.kompics.ide.model.ast.ASTComponentDefinition; import se.sics.kompics.ide.model.ast.ASTModelObject; import se.sics.kompics.model.kompicsComponents.ComponentDefinition; /** * The <code>ComponentDefinitionPart</code> . * * @author Lars Kroll <lkr@lars-kroll.com> * @version $Id: $ * */ public class ComponentDefinitionPart extends AbstractGraphicalEditPart { Random rand = new Random(); /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure() */ @Override protected IFigure createFigure() { return new ComponentDefinitionFigure(); } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies() */ @Override protected void createEditPolicies() { // TODO Auto-generated method stub } @Override protected void refreshVisuals() { ComponentDefinitionFigure figure = (ComponentDefinitionFigure) getFigure(); ASTComponentDefinition model = (ASTComponentDefinition) getModel(); ModelPart parent = (ModelPart) getParent(); figure.getLabel().setText(model.getModel().getType()); // int size = model.getModel().getType().length(); // Rectangle layout = new Rectangle(rand.nextInt(300), rand.nextInt(300), size*10, size*10); // parent.setLayoutConstraint(this, figure, layout); } @Override protected List<ASTModelObject> getModelChildren() { ASTComponentDefinition model = (ASTComponentDefinition) getModel(); List<ASTModelObject> retVal = new ArrayList<ASTModelObject>(); retVal.addAll(model.getSubInstances()); return retVal; } }