### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.ecoretools.diagram Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataType2EditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataType2EditPart.java,v retrieving revision 1.9 diff -u -r1.9 EDataType2EditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataType2EditPart.java 28 Apr 2008 15:23:59 -0000 1.9 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataType2EditPart.java 17 Jun 2008 16:33:26 -0000 @@ -17,7 +17,6 @@ import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.RectangleFigure; import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.draw2d.geometry.Dimension; @@ -26,7 +25,10 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EDataType2ItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoreTextSelectionEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -175,10 +177,11 @@ } /** - * @generated + * @generated NOT */ protected NodeFigure createNodePlate() { DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode().DPtoLP(40), getMapMode().DPtoLP(40)); + result.setBorder(new AlphaDropShadowBorder()); return result; } @@ -205,7 +208,7 @@ * layout one may have set for generated figure. * * @param nodeShape - * instance of generated figure class + * instance of generated figure class * @generated */ protected IFigure setupContentPane(IFigure nodeShape) { @@ -251,7 +254,8 @@ /** * (non-Javadoc) * - * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#handleNotificationEvent(org.eclipse.emf.common.notify.Notification) + * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart# + * handleNotificationEvent(org.eclipse.emf.common.notify.Notification) */ @Override protected void handleNotificationEvent(Notification event) { @@ -262,10 +266,15 @@ } } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class DataTypeFigure extends RectangleFigure { + public class DataTypeFigure extends GradientRectangleFigure { /** * @generated Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClass2EditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClass2EditPart.java,v retrieving revision 1.6 diff -u -r1.6 EClass2EditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClass2EditPart.java 28 Apr 2008 15:23:59 -0000 1.6 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClass2EditPart.java 17 Jun 2008 16:33:23 -0000 @@ -16,14 +16,16 @@ import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.RectangleFigure; import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EClass2ItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoreTextSelectionEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -197,10 +199,11 @@ } /** - * @generated + * @generated NOT */ protected NodeFigure createNodePlate() { DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode().DPtoLP(40), getMapMode().DPtoLP(40)); + result.setBorder(new AlphaDropShadowBorder()); return result; } @@ -227,7 +230,7 @@ * layout one may have set for generated figure. * * @param nodeShape - * instance of generated figure class + * instance of generated figure class * @generated */ protected IFigure setupContentPane(IFigure nodeShape) { @@ -273,7 +276,8 @@ /** * (non-Javadoc) * - * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#handleNotificationEvent(org.eclipse.emf.common.notify.Notification) + * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart# + * handleNotificationEvent(org.eclipse.emf.common.notify.Notification) */ @Override protected void handleNotificationEvent(Notification event) { @@ -284,10 +288,15 @@ } } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class ClassFigure extends RectangleFigure { + public class ClassFigure extends GradientRectangleFigure { /** * @generated @@ -378,7 +387,5 @@ canRemovedFromLabel = false; } } - } - } Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EAnnotationEditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EAnnotationEditPart.java,v retrieving revision 1.7 diff -u -r1.7 EAnnotationEditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EAnnotationEditPart.java 6 Jun 2008 12:04:28 -0000 1.7 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EAnnotationEditPart.java 17 Jun 2008 16:33:23 -0000 @@ -18,17 +18,20 @@ import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.MarginBorder; import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.RectangleFigure; import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.draw2d.geometry.Dimension; +import org.eclipse.draw2d.geometry.Insets; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.PointList; import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EAnnotationItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoreTextSelectionEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -45,6 +48,7 @@ import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ConstrainedToolbarLayoutEditPolicy; import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy; import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; +import org.eclipse.gmf.runtime.diagram.ui.figures.DiagramColorConstants; import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest; import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout; import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel; @@ -289,10 +293,15 @@ super.refreshVisuals(); } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class AnnotationFigure extends RectangleFigure { + public class AnnotationFigure extends GradientRectangleFigure { /** * @generated @@ -347,6 +356,18 @@ desiredBounds.addPoint(point5); graphics.fillPolygon(desiredBounds); + + // fill gradient + // get gradient rectangle + Rectangle gradientRectangle = r.getCopy(); + gradientRectangle.crop(new Insets(BENT_CORNER_HEIGHT, 0, 0, 0)); + // draw gradient rectangle + graphics.pushState(); + graphics.setBackgroundColor(DiagramColorConstants.white); + graphics.setForegroundColor(getBackgroundColor()); + graphics.fillGradient(gradientRectangle, true); + graphics.popState(); + } @Override Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnumEditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnumEditPart.java,v retrieving revision 1.6 diff -u -r1.6 EEnumEditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnumEditPart.java 28 Apr 2008 15:23:59 -0000 1.6 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnumEditPart.java 17 Jun 2008 16:33:28 -0000 @@ -16,14 +16,16 @@ import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.RectangleFigure; import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EEnumItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoreTextSelectionEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -193,10 +195,11 @@ } /** - * @generated + * @generated NOT */ protected NodeFigure createNodePlate() { DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode().DPtoLP(40), getMapMode().DPtoLP(40)); + result.setBorder(new AlphaDropShadowBorder()); return result; } @@ -223,7 +226,7 @@ * layout one may have set for generated figure. * * @param nodeShape - * instance of generated figure class + * instance of generated figure class * @generated */ protected IFigure setupContentPane(IFigure nodeShape) { @@ -278,10 +281,15 @@ super.refreshVisuals(); } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class EnumerationFigure extends RectangleFigure { + public class EnumerationFigure extends GradientRectangleFigure { /** * @generated Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataTypeEditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataTypeEditPart.java,v retrieving revision 1.7 diff -u -r1.7 EDataTypeEditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataTypeEditPart.java 28 Apr 2008 15:23:59 -0000 1.7 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EDataTypeEditPart.java 17 Jun 2008 16:33:26 -0000 @@ -17,7 +17,6 @@ import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.RectangleFigure; import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.draw2d.geometry.Dimension; @@ -26,7 +25,10 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EDataTypeItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoreTextSelectionEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -175,10 +177,11 @@ } /** - * @generated + * @generated NOT */ protected NodeFigure createNodePlate() { DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode().DPtoLP(40), getMapMode().DPtoLP(40)); + result.setBorder(new AlphaDropShadowBorder()); return result; } @@ -205,7 +208,7 @@ * layout one may have set for generated figure. * * @param nodeShape - * instance of generated figure class + * instance of generated figure class * @generated */ protected IFigure setupContentPane(IFigure nodeShape) { @@ -260,10 +263,15 @@ super.refreshVisuals(); } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class DataTypeFigure extends RectangleFigure { + public class DataTypeFigure extends GradientRectangleFigure { /** * @generated Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClassEditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClassEditPart.java,v retrieving revision 1.7 diff -u -r1.7 EClassEditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClassEditPart.java 28 Apr 2008 15:23:59 -0000 1.7 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EClassEditPart.java 17 Jun 2008 16:33:25 -0000 @@ -16,14 +16,16 @@ import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.RectangleFigure; import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EClassItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoreTextSelectionEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -197,10 +199,11 @@ } /** - * @generated + * @generated NOT */ protected NodeFigure createNodePlate() { DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode().DPtoLP(40), getMapMode().DPtoLP(40)); + result.setBorder(new AlphaDropShadowBorder()); return result; } @@ -227,7 +230,7 @@ * layout one may have set for generated figure. * * @param nodeShape - * instance of generated figure class + * instance of generated figure class * @generated */ protected IFigure setupContentPane(IFigure nodeShape) { @@ -282,10 +285,15 @@ super.refreshVisuals(); } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class ClassFigure extends RectangleFigure { + public class ClassFigure extends GradientRectangleFigure { /** * @generated Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackage2EditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackage2EditPart.java,v retrieving revision 1.8 diff -u -r1.8 EPackage2EditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackage2EditPart.java 6 Jun 2008 12:04:28 -0000 1.8 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackage2EditPart.java 17 Jun 2008 16:33:30 -0000 @@ -28,8 +28,11 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; import org.eclipse.emf.ecoretools.diagram.edit.figures.PackageLabelRectangle; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EPackage2ItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.OpenDiagramEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -307,15 +310,20 @@ super.refreshVisuals(); } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class PackageFigure extends RectangleFigure { + public class PackageFigure extends GradientRectangleFigure { /** - * @generated + * @generated NOT */ - private RectangleFigure fFigurePackageBodyRectangle; + private GradientRectangleFigure fFigurePackageBodyRectangle; /** * @generated @@ -353,7 +361,7 @@ private void createContents() { packageLabelRectangle0 = new PackageLabelRectangle(); - packageLabelRectangle0.setLineWidth(2); + packageLabelRectangle0.setLineWidth(1); packageLabelRectangle0.setBorder(new MarginBorder(getMapMode().DPtoLP(5), getMapMode().DPtoLP(5), getMapMode().DPtoLP(5), getMapMode().DPtoLP(5))); @@ -397,8 +405,8 @@ constraintFillerFigure0.grabExcessVerticalSpace = false; this.add(fillerFigure0, constraintFillerFigure0); - fFigurePackageBodyRectangle = new RectangleFigure(); - fFigurePackageBodyRectangle.setLineWidth(2); + fFigurePackageBodyRectangle = new GradientRectangleFigure(); + fFigurePackageBodyRectangle.setLineWidth(1); GridData constraintFFigurePackageBodyRectangle = new GridData(); constraintFFigurePackageBodyRectangle.verticalAlignment = GridData.FILL; Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageContentsEditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageContentsEditPart.java,v retrieving revision 1.11 diff -u -r1.11 EPackageContentsEditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageContentsEditPart.java 28 Apr 2008 08:41:30 -0000 1.11 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageContentsEditPart.java 17 Jun 2008 16:33:31 -0000 @@ -15,6 +15,7 @@ package org.eclipse.emf.ecoretools.diagram.edit.parts; import org.eclipse.draw2d.IFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaXYLayoutEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EPackageContentsCanonicalEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EPackageContentsItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoretoolsEditPolicyRoles; @@ -75,6 +76,8 @@ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CreationEditPolicy()); installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new PackageDiagramDragDropEditPolicy()); installEditPolicy(EcoretoolsEditPolicyRoles.PSEUDO_CANONICAL_ROLE, new EPackageContentsCanonicalEditPolicy()); + installEditPolicy(EditPolicy.LAYOUT_ROLE, new AlphaXYLayoutEditPolicy()); + // EPackageCompartiment can not be connected ! } /** @@ -86,5 +89,4 @@ super.setRatio(ratio); } } - } Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageEditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageEditPart.java,v retrieving revision 1.6 diff -u -r1.6 EPackageEditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageEditPart.java 28 Apr 2008 08:41:31 -0000 1.6 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EPackageEditPart.java 17 Jun 2008 16:33:31 -0000 @@ -14,10 +14,12 @@ package org.eclipse.emf.ecoretools.diagram.edit.parts; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaXYLayoutEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EPackageCanonicalEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EPackageItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoretoolsEditPolicyRoles; import org.eclipse.emf.ecoretools.diagram.edit.policies.PackageDiagramDragDropEditPolicy; +import org.eclipse.gef.EditPolicy; import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart; import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; import org.eclipse.gmf.runtime.notation.View; @@ -53,8 +55,9 @@ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new EPackageItemSemanticEditPolicy()); installEditPolicy(EcoretoolsEditPolicyRoles.PSEUDO_CANONICAL_ROLE, new EPackageCanonicalEditPolicy()); installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new PackageDiagramDragDropEditPolicy()); + installEditPolicy(EditPolicy.LAYOUT_ROLE, new AlphaXYLayoutEditPolicy()); - // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.POPUPBAR_ROLE); + // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies. + // EditPolicyRoles.POPUPBAR_ROLE); } - } Index: src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnum2EditPart.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnum2EditPart.java,v retrieving revision 1.7 diff -u -r1.7 EEnum2EditPart.java --- src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnum2EditPart.java 28 Apr 2008 15:23:59 -0000 1.7 +++ src/org/eclipse/emf/ecoretools/diagram/edit/parts/EEnum2EditPart.java 17 Jun 2008 16:33:28 -0000 @@ -16,14 +16,16 @@ import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.RectangleFigure; import org.eclipse.draw2d.StackLayout; import org.eclipse.draw2d.ToolbarLayout; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecoretools.diagram.edit.figures.AlphaDropShadowBorder; import org.eclipse.emf.ecoretools.diagram.edit.figures.FigureFromLabelUtils; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GradientRectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.policies.AlphaResizableShapeEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EEnum2ItemSemanticEditPolicy; import org.eclipse.emf.ecoretools.diagram.edit.policies.EcoreTextSelectionEditPolicy; import org.eclipse.emf.ecoretools.diagram.part.EcoreVisualIDRegistry; @@ -193,10 +195,11 @@ } /** - * @generated + * @generated NOT */ protected NodeFigure createNodePlate() { DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(getMapMode().DPtoLP(40), getMapMode().DPtoLP(40)); + result.setBorder(new AlphaDropShadowBorder()); return result; } @@ -223,7 +226,7 @@ * layout one may have set for generated figure. * * @param nodeShape - * instance of generated figure class + * instance of generated figure class * @generated */ protected IFigure setupContentPane(IFigure nodeShape) { @@ -269,7 +272,8 @@ /** * (non-Javadoc) * - * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#handleNotificationEvent(org.eclipse.emf.common.notify.Notification) + * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart# + * handleNotificationEvent(org.eclipse.emf.common.notify.Notification) */ @Override protected void handleNotificationEvent(Notification event) { @@ -280,10 +284,15 @@ } } + @Override + public EditPolicy getPrimaryDragEditPolicy() { + return new AlphaResizableShapeEditPolicy(); + } + /** - * @generated + * @generated NOT */ - public class EnumerationFigure extends RectangleFigure { + public class EnumerationFigure extends GradientRectangleFigure { /** * @generated Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnumViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnumViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EEnumViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnumViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnumViewFactory.java 17 Jun 2008 16:33:33 -0000 @@ -41,7 +41,9 @@ */ public class EEnumViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FONT = new Color(null, 64, 64, 64); + + static final Color THIS_FORE = new Color(null, 128, 128, 128); static final Color THIS_BACK = new Color(null, 248, 249, 209); @@ -53,7 +55,7 @@ ShapeStyle style = (ShapeStyle) view.getStyle(NotationPackage.Literals.SHAPE_STYLE); style.setFillColor(FigureUtilities.colorToInteger(THIS_BACK)); style.setLineColor(FigureUtilities.colorToInteger(THIS_FORE)); - style.setFontColor(FigureUtilities.colorToInteger(THIS_FORE)); + style.setFontColor(FigureUtilities.colorToInteger(THIS_FONT)); style.setFontHeight(fontHeight); } Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EPackage2ViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EPackage2ViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EPackage2ViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EPackage2ViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EPackage2ViewFactory.java 17 Jun 2008 16:33:33 -0000 @@ -42,9 +42,11 @@ */ public class EPackage2ViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FORE = new Color(null, 64, 64, 64); - static final Color THIS_BACK = new Color(null, 190, 166, 206); + // static final Color THIS_BACK = new Color(null, 160, 142, 179); + // static final Color THIS_BACK = new Color(null, 174, 157, 193); + static final Color THIS_BACK = new Color(null, 183, 167, 200); static final int fontHeight = 10; Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EClass2ViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EClass2ViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EClass2ViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EClass2ViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EClass2ViewFactory.java 17 Jun 2008 16:33:31 -0000 @@ -39,7 +39,9 @@ */ public class EClass2ViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FONT = new Color(null, 64, 64, 64); + + static final Color THIS_FORE = new Color(null, 128, 128, 128); static final Color THIS_BACK = new Color(null, 248, 249, 209); @@ -51,7 +53,7 @@ ShapeStyle style = (ShapeStyle) view.getStyle(NotationPackage.Literals.SHAPE_STYLE); style.setFillColor(FigureUtilities.colorToInteger(THIS_BACK)); style.setLineColor(FigureUtilities.colorToInteger(THIS_FORE)); - style.setFontColor(FigureUtilities.colorToInteger(THIS_FORE)); + style.setFontColor(FigureUtilities.colorToInteger(THIS_FONT)); style.setFontHeight(fontHeight); } Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationReferencesViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationReferencesViewFactory.java,v retrieving revision 1.3 diff -u -r1.3 EAnnotationReferencesViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationReferencesViewFactory.java 28 Apr 2008 08:41:31 -0000 1.3 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationReferencesViewFactory.java 17 Jun 2008 16:33:31 -0000 @@ -33,7 +33,7 @@ */ public class EAnnotationReferencesViewFactory extends ConnectionViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FORE = new Color(null, 64, 64, 64); @Override protected void initializeFromPreferences(View view) { Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EClassViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassViewFactory.java 17 Jun 2008 16:33:32 -0000 @@ -42,7 +42,9 @@ */ public class EClassViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FONT = new Color(null, 64, 64, 64); + + static final Color THIS_FORE = new Color(null, 128, 128, 128); static final Color THIS_BACK = new Color(null, 248, 249, 209); @@ -54,7 +56,7 @@ ShapeStyle style = (ShapeStyle) view.getStyle(NotationPackage.Literals.SHAPE_STYLE); style.setFillColor(FigureUtilities.colorToInteger(THIS_BACK)); style.setLineColor(FigureUtilities.colorToInteger(THIS_FORE)); - style.setFontColor(FigureUtilities.colorToInteger(THIS_FORE)); + style.setFontColor(FigureUtilities.colorToInteger(THIS_FONT)); style.setFontHeight(fontHeight); } Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnum2ViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnum2ViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EEnum2ViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnum2ViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EEnum2ViewFactory.java 17 Jun 2008 16:33:33 -0000 @@ -38,7 +38,9 @@ */ public class EEnum2ViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FONT = new Color(null, 64, 64, 64); + + static final Color THIS_FORE = new Color(null, 128, 128, 128); static final Color THIS_BACK = new Color(null, 248, 249, 209); @@ -50,7 +52,7 @@ ShapeStyle style = (ShapeStyle) view.getStyle(NotationPackage.Literals.SHAPE_STYLE); style.setFillColor(FigureUtilities.colorToInteger(THIS_BACK)); style.setLineColor(FigureUtilities.colorToInteger(THIS_FORE)); - style.setFontColor(FigureUtilities.colorToInteger(THIS_FORE)); + style.setFontColor(FigureUtilities.colorToInteger(THIS_FONT)); style.setFontHeight(fontHeight); } Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassESuperTypesViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassESuperTypesViewFactory.java,v retrieving revision 1.5 diff -u -r1.5 EClassESuperTypesViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassESuperTypesViewFactory.java 28 Apr 2008 08:41:31 -0000 1.5 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EClassESuperTypesViewFactory.java 17 Jun 2008 16:33:32 -0000 @@ -34,7 +34,7 @@ */ public class EClassESuperTypesViewFactory extends ConnectionViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FORE = new Color(null, 64, 64, 64); @Override protected void initializeFromPreferences(View view) { Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EReferenceViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EReferenceViewFactory.java,v retrieving revision 1.3 diff -u -r1.3 EReferenceViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EReferenceViewFactory.java 28 Apr 2008 08:41:31 -0000 1.3 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EReferenceViewFactory.java 17 Jun 2008 16:33:33 -0000 @@ -39,7 +39,7 @@ */ public class EReferenceViewFactory extends ConnectionViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FORE = new Color(null, 64, 64, 64); static final int fontHeight = 10; Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EAnnotationViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EAnnotationViewFactory.java 17 Jun 2008 16:33:31 -0000 @@ -41,7 +41,7 @@ */ public class EAnnotationViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FORE = new Color(null, 64, 64, 64); static final Color THIS_BACK = new Color(null, 232, 211, 223); Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataType2ViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataType2ViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EDataType2ViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataType2ViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataType2ViewFactory.java 17 Jun 2008 16:33:32 -0000 @@ -38,7 +38,9 @@ */ public class EDataType2ViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FONT = new Color(null, 64, 64, 64); + + static final Color THIS_FORE = new Color(null, 128, 128, 128); static final Color THIS_BACK = new Color(null, 248, 249, 209); @@ -50,7 +52,7 @@ ShapeStyle style = (ShapeStyle) view.getStyle(NotationPackage.Literals.SHAPE_STYLE); style.setFillColor(FigureUtilities.colorToInteger(THIS_BACK)); style.setLineColor(FigureUtilities.colorToInteger(THIS_FORE)); - style.setFontColor(FigureUtilities.colorToInteger(THIS_FORE)); + style.setFontColor(FigureUtilities.colorToInteger(THIS_FONT)); style.setFontHeight(fontHeight); } Index: src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataTypeViewFactory.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.emf/org.eclipse.emf.ecoretools/plugins/org.eclipse.emf.ecoretools.diagram/src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataTypeViewFactory.java,v retrieving revision 1.2 diff -u -r1.2 EDataTypeViewFactory.java --- src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataTypeViewFactory.java 28 Apr 2008 08:41:31 -0000 1.2 +++ src/org/eclipse/emf/ecoretools/diagram/view/factories/EDataTypeViewFactory.java 17 Jun 2008 16:33:32 -0000 @@ -41,7 +41,9 @@ */ public class EDataTypeViewFactory extends AbstractShapeViewFactory { - static final Color THIS_FORE = new Color(null, 0, 0, 0); + static final Color THIS_FONT = new Color(null, 64, 64, 64); + + static final Color THIS_FORE = new Color(null, 128, 128, 128); static final Color THIS_BACK = new Color(null, 248, 249, 209); @@ -53,7 +55,7 @@ ShapeStyle style = (ShapeStyle) view.getStyle(NotationPackage.Literals.SHAPE_STYLE); style.setFillColor(FigureUtilities.colorToInteger(THIS_BACK)); style.setLineColor(FigureUtilities.colorToInteger(THIS_FORE)); - style.setFontColor(FigureUtilities.colorToInteger(THIS_FORE)); + style.setFontColor(FigureUtilities.colorToInteger(THIS_FONT)); style.setFontHeight(fontHeight); } Index: custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaResizableShapeEditPolicy.java =================================================================== RCS file: custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaResizableShapeEditPolicy.java diff -N custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaResizableShapeEditPolicy.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaResizableShapeEditPolicy.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2008 Anyware Technologies + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Anyware Technologies - initial API and implementation + */ +package org.eclipse.emf.ecoretools.diagram.edit.policies; + +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.RectangleFigure; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GhostRectangleFigure; +import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ResizableShapeEditPolicy; + +/** + * ResizableShapeEditPolicy which draw rectangle feedback with alpha property + * instead of XOR
+ * Useful to have a best display with gradient figure
+ * creation : 17 mai. 08 + * + * @author Simon Bernard + */ +public class AlphaResizableShapeEditPolicy extends ResizableShapeEditPolicy { + + @Override + protected IFigure createDragSourceFeedbackFigure() { + // Use a ghost rectangle for feedback + RectangleFigure r = new GhostRectangleFigure(); + r.setBounds(getInitialFeedbackBounds()); + addFeedback(r); + return r; + } + +} Index: custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaXYLayoutEditPolicy.java =================================================================== RCS file: custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaXYLayoutEditPolicy.java diff -N custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaXYLayoutEditPolicy.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ custom-src/org/eclipse/emf/ecoretools/diagram/edit/policies/AlphaXYLayoutEditPolicy.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2008 Anyware Technologies + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Anyware Technologies - initial API and implementation + */ +package org.eclipse.emf.ecoretools.diagram.edit.policies; + +import org.eclipse.draw2d.IFigure; +import org.eclipse.emf.ecoretools.diagram.edit.figures.GhostRectangleFigure; +import org.eclipse.gef.requests.CreateRequest; +import org.eclipse.gmf.runtime.diagram.ui.editpolicies.XYLayoutEditPolicy; + +/** + * XYLayoutEditPolicy which draw rectangle feedback with alpha property instead + * of XOR
+ * Useful to have a best display with gradient figure
+ * creation : 17 mai. 08 + * + * @author Simon Bernard + */ +public class AlphaXYLayoutEditPolicy extends XYLayoutEditPolicy { + + @Override + protected IFigure createSizeOnDropFeedback(CreateRequest createRequest) { + GhostRectangleFigure feedack = new GhostRectangleFigure(); + addFeedback(feedack); + return feedack; + } + +} Index: custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/AlphaDropShadowBorder.java =================================================================== RCS file: custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/AlphaDropShadowBorder.java diff -N custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/AlphaDropShadowBorder.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/AlphaDropShadowBorder.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,94 @@ +package org.eclipse.emf.ecoretools.diagram.edit.figures; + +import org.eclipse.draw2d.AbstractBackground; +import org.eclipse.draw2d.Graphics; +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.geometry.Insets; +import org.eclipse.draw2d.geometry.PointList; +import org.eclipse.draw2d.geometry.Rectangle; +import org.eclipse.gmf.runtime.diagram.ui.figures.DiagramColorConstants; +import org.eclipse.gmf.runtime.draw2d.ui.figures.DropShadowBorder; +import org.eclipse.gmf.runtime.draw2d.ui.figures.IPolygonAnchorableFigure; +import org.eclipse.gmf.runtime.draw2d.ui.mapmode.MapModeUtil; +import org.eclipse.swt.graphics.Color; + +public class AlphaDropShadowBorder extends AbstractBackground implements DropShadowBorder { + + private static final int DEFAULT_SHIFT_VALUE = 1; + + private boolean shouldDrawShadow = true; + + private Color shadowColor = DiagramColorConstants.diagramLightGray; + + private int shift = DEFAULT_SHIFT_VALUE; + + private int lineWidth; + + @Override + public void setShouldDrawDropShadow(boolean drawDropShadow) { + shouldDrawShadow = drawDropShadow; + } + + @Override + public boolean shouldDrawDropShadow() { + return shouldDrawShadow; + } + + /** + * Method for determining the inset the border will take up on the shape. + * + * @param figure + * Figure that will be inset from the border + * @return Insets the Insets for the border on the given figure. + */ + public Insets getInsets(IFigure figure) { + Insets insetsNew = new Insets(); + insetsNew.top = 0; + insetsNew.left = 0; + insetsNew.bottom = MapModeUtil.getMapMode(figure).DPtoLP(shift * 2); + insetsNew.right = MapModeUtil.getMapMode(figure).DPtoLP(shift * 2); + + return insetsNew; + } + + @Override + public Insets getTransparentInsets(IFigure figure) { + Insets insetsNew = new Insets(); + + insetsNew.top = 0; + insetsNew.left = 0; + insetsNew.bottom = MapModeUtil.getMapMode(figure).DPtoLP(shift * 2); + insetsNew.right = MapModeUtil.getMapMode(figure).DPtoLP(shift * 2); + + return insetsNew; + } + + @Override + public void paintBackground(IFigure figure, Graphics graphics, Insets insets) { + if (shouldDrawDropShadow()) { + + graphics.pushState(); + graphics.setForegroundColor(new Color(null, 240, 240, 240)); + graphics.setBackgroundColor(new Color(null, 128, 128, 128)); + graphics.setAlpha(65); + + if (figure instanceof IPolygonAnchorableFigure) { + PointList polygonPoints = ((IPolygonAnchorableFigure) figure).getPolygonPoints(); + polygonPoints.translate(shift, shift); + graphics.fillPolygon(polygonPoints); + polygonPoints.translate(shift, shift); + graphics.fillPolygon(polygonPoints); + } else { + + Rectangle bounds = figure.getBounds().getCopy(); + bounds.translate(shift, shift); + graphics.fillRoundRectangle(bounds, 0, 0); + bounds.translate(shift, shift); + graphics.fillRoundRectangle(bounds, 0, 0); + + } + + graphics.popState(); + } + } +} Index: custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GhostRectangleFigure.java =================================================================== RCS file: custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GhostRectangleFigure.java diff -N custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GhostRectangleFigure.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GhostRectangleFigure.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2008 Anyware Technologies + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Anyware Technologies - initial API and implementation + */ +package org.eclipse.emf.ecoretools.diagram.edit.figures; + +import org.eclipse.draw2d.Graphics; +import org.eclipse.draw2d.RectangleFigure; +import org.eclipse.gmf.runtime.diagram.ui.figures.DiagramColorConstants; + +/** + * A "ghost" rectangleFigure
+ * Usefull for feedback on figures which use gradient
+ * creation : 17 mai. 08 + * + * @author Simon Bernard + */ +public class GhostRectangleFigure extends RectangleFigure { + + public GhostRectangleFigure() { + setBackgroundColor(DiagramColorConstants.diagramGray); + setForegroundColor(DiagramColorConstants.black); + setLineStyle(Graphics.LINE_DOT); + } + + @Override + protected void fillShape(Graphics graphics) { + graphics.pushState(); + graphics.setAlpha(125); + super.fillShape(graphics); + graphics.popState(); + } +} Index: custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GradientRectangleFigure.java =================================================================== RCS file: custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GradientRectangleFigure.java diff -N custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GradientRectangleFigure.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ custom-src/org/eclipse/emf/ecoretools/diagram/edit/figures/GradientRectangleFigure.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2008 Anyware Technologies + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Anyware Technologies - initial API and implementation + */ +package org.eclipse.emf.ecoretools.diagram.edit.figures; + +import org.eclipse.draw2d.Graphics; +import org.eclipse.draw2d.RectangleFigure; +import org.eclipse.gmf.runtime.diagram.ui.figures.DiagramColorConstants; + +/** + * A Rectangle which is draw with gradient property
+ * creation : 17 mai. 08 + * + * @author Simon Bernard + */ +public class GradientRectangleFigure extends RectangleFigure { + + @Override + protected void fillShape(Graphics graphics) { + graphics.pushState(); + graphics.setBackgroundColor(DiagramColorConstants.white); + graphics.setForegroundColor(getBackgroundColor()); + graphics.fillGradient(getBounds(), true); + graphics.popState(); + } + + @Override + protected void outlineShape(Graphics graphics) { + super.outlineShape(graphics); + } +}