package net.ms.designer.editors.enumcomponentdetail.editpart; import net.ms.designer.editors.enumcomponentdetail.editpolicy.TableFlowLayoutEditPolicy; import net.ms.designer.editors.enumcomponentdetail.figure.TableFigure; import net.ms.designer.editors.enumcomponentdetail.model.Table; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.gef.EditPolicy; import org.eclipse.gef.GraphicalEditPart; public class TableEditPart extends BaseEditPart { protected IFigure createFigure() { // IFigure f =new TableFigure((Table)this.getModel()); // f.set return new TableFigure((Table)this.getModel()); } protected void createEditPolicies() { super.createEditPolicies(); this.installEditPolicy(EditPolicy.CONTAINER_ROLE,new TableFlowLayoutEditPolicy()); } protected void refreshVisuals() { super.refreshVisuals(); //get the current size of th TableFigure,it can automatelly //compute under the toolbarlayout constraint Dimension size = this.getFigure().getPreferredSize(); Point p = ((Table) getModel()).getLocation(); ((GraphicalEditPart) this.getParent()).setLayoutConstraint(this, this .getFigure(),new Rectangle(p, size)); } public IFigure getContentPane() { return ((TableFigure)getFigure()).getContentFigure(); } }