package net.ms.designer.editors.componentdetail.editparts; import java.beans.PropertyChangeEvent; import net.ms.designer.editors.componentdetail.core.ITableContentProvider; import net.ms.designer.editors.componentdetail.figures.CommonFigure; import net.ms.designer.editors.componentdetail.figures.FigureFactory; import net.ms.designer.editors.componentdetail.models.CommonField; import net.ms.designer.editors.componentdetail.models.Element; 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.AccessibleEditPart; import org.eclipse.gef.EditPart; import org.eclipse.swt.accessibility.AccessibleControlEvent; import org.eclipse.swt.accessibility.AccessibleEvent; /** * @author lili * @version 1.1.0 * @explain defind the CommonEditPart,it can do some figure's order */ public class CommonEditPart extends BaseEditPart implements ITableContentProvider{ /** * @return return the Element model */ protected Element getField() { // if(((CommonField)getModel()).getField_Type().equals("Autonum")) // { // return null; // } return (Element) getModel(); } /* * (non-Javadoc) * @see net.ms.designer.editors.componentdetail.editparts.BaseEditPart#createAccessible() */ protected AccessibleEditPart createAccessible() { return new AccessibleGraphicalEditPart() { public void getValue(AccessibleControlEvent e) { // e.result = getFieldBase().getFieldLabel(); e.result = null; } public void getName(AccessibleEvent e) { e.result = getFieldBase().getName(); } }; } /** * @return return the CommonFigure's figure */ protected CommonFigure getFieldFigure() { return (CommonFigure) getFigure(); } /* * (non-Javadoc) * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) */ public void propertyChange(PropertyChangeEvent evt) { if(evt.getPropertyName().equals(Element.ID_FIELD_LABEL)) getFieldFigure().setLabelText((String)evt.getNewValue()); else if (evt.getPropertyName().equals(Element.ID_NAME)) { getFieldFigure().setLabelText((String)evt.getNewValue()); } else super.propertyChange(evt); } /* * (non-Javadoc) * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure() */ protected IFigure createFigure() { IFigure f = FigureFactory.createFigure(getField()); Rectangle r = new Rectangle(); r = f.getBounds(); Point p = new Point(r.x,r.y); getField().setLocation(p); // if(getField().getField_Type().equals("Autonum")) // { // r.y = r.y -1; // r.setSize(new Dimension(0,0)); //// f.setVisible(false); // } return f; // return FigureFactory.createFigure(getField()); } /* * (non-Javadoc) * @see net.ms.designer.editors.componentdetail.core.ITableContentProvider#getTableContents() */ public String[][] getTableContents() { EditPart parent = getParent(); if(parent instanceof ITableContentProvider){ return ((ITableContentProvider)parent).getTableContents(); } return new String[0][0]; } }