### Eclipse Workspace Patch 1.0 #P org.eclipse.gmf.bridge Index: src/org/eclipse/gmf/bridge/genmodel/DefaultViewmapProducer.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge/src/org/eclipse/gmf/bridge/genmodel/DefaultViewmapProducer.java,v retrieving revision 1.7 diff -u -r1.7 DefaultViewmapProducer.java --- src/org/eclipse/gmf/bridge/genmodel/DefaultViewmapProducer.java 23 May 2006 21:09:42 -0000 1.7 +++ src/org/eclipse/gmf/bridge/genmodel/DefaultViewmapProducer.java 19 Jun 2006 11:02:32 -0000 @@ -14,6 +14,7 @@ import org.eclipse.gmf.codegen.gmfgen.FigureViewmap; import org.eclipse.gmf.codegen.gmfgen.GMFGenFactory; import org.eclipse.gmf.codegen.gmfgen.ResizeConstraints; +import org.eclipse.gmf.codegen.gmfgen.StyleAttributes; import org.eclipse.gmf.codegen.gmfgen.Viewmap; import org.eclipse.gmf.codegen.gmfgen.ViewmapLayoutType; import org.eclipse.gmf.gmfgraph.Canvas; @@ -21,6 +22,7 @@ import org.eclipse.gmf.gmfgraph.Connection; import org.eclipse.gmf.gmfgraph.DiagramLabel; import org.eclipse.gmf.gmfgraph.Direction; +import org.eclipse.gmf.gmfgraph.Figure; import org.eclipse.gmf.gmfgraph.FigureHandle; import org.eclipse.gmf.gmfgraph.FlowLayout; import org.eclipse.gmf.gmfgraph.Layout; @@ -87,6 +89,31 @@ ViewmapLayoutType type = myLayoutTypeSwitch.getLayoutType(((Layoutable) figure).getLayout()); viewmap.setLayoutType(type); } + + protected final void setupGeneratedProperties(Viewmap viewmap, FigureHandle handle){ + if (viewmap == null || false == handle instanceof Figure){ + return; + } + Figure figure = (Figure)handle; + StyleAttributes attributes = GMFGenFactory.eINSTANCE.createStyleAttributes(); + boolean fixedSomething = false; + if (figure.getFont() != null){ + attributes.setFixedFont(true); + fixedSomething = true; + } + if (figure.getForegroundColor() != null){ + attributes.setFixedForeground(true); + fixedSomething = true; + } + if (figure.getBackgroundColor() != null){ + attributes.setFixedBackground(true); + fixedSomething = true; + } + + if (fixedSomething){ + viewmap.getAttributes().add(attributes); + } + } private static class LayoutTypeSwitch extends GMFGraphSwitch { Index: src/org/eclipse/gmf/bridge/genmodel/InnerClassViewmapProducer.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge/src/org/eclipse/gmf/bridge/genmodel/InnerClassViewmapProducer.java,v retrieving revision 1.20 diff -u -r1.20 InnerClassViewmapProducer.java --- src/org/eclipse/gmf/bridge/genmodel/InnerClassViewmapProducer.java 30 May 2006 13:15:00 -0000 1.20 +++ src/org/eclipse/gmf/bridge/genmodel/InnerClassViewmapProducer.java 19 Jun 2006 11:02:33 -0000 @@ -98,7 +98,7 @@ return createViewmap(compartment.getFigure()); } - private Viewmap createViewmap(Figure figure) { + private Viewmap createFigureViewmap(Figure figure) { Viewmap result; if (EcoreUtil.isAncestor(processedFigures, figure.getParent())) { // we generated code for parent, thus (if figure generation logic not changed) @@ -132,15 +132,19 @@ } private Viewmap createViewmap(FigureHandle figure) { + Viewmap result; if (figure instanceof Figure) { - return createViewmap((Figure) figure); + result = createFigureViewmap((Figure) figure); } else if (figure instanceof FigureAccessor) { - return createViewmap((FigureAccessor) figure); + result = createFigureAccessorViewmap((FigureAccessor) figure); + } else { + throw new IllegalStateException(); } - throw new IllegalStateException(); + setupGeneratedProperties(result, figure); + return result; } - private Viewmap createViewmap(FigureAccessor figureAccess) { + private Viewmap createFigureAccessorViewmap(FigureAccessor figureAccess) { ParentAssignedViewmap v = GMFGenFactory.eINSTANCE.createParentAssignedViewmap(); v.setGetterName(figureAccess.getAccessor()); if (figureAccess.getTypedFigure() != null) { #P org.eclipse.gmf.codegen.edit Index: src/org/eclipse/gmf/codegen/gmfgen/provider/GMFGenItemProviderAdapterFactory.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.codegen.edit/src/org/eclipse/gmf/codegen/gmfgen/provider/GMFGenItemProviderAdapterFactory.java,v retrieving revision 1.36 diff -u -r1.36 GMFGenItemProviderAdapterFactory.java --- src/org/eclipse/gmf/codegen/gmfgen/provider/GMFGenItemProviderAdapterFactory.java 9 Jun 2006 12:31:21 -0000 1.36 +++ src/org/eclipse/gmf/codegen/gmfgen/provider/GMFGenItemProviderAdapterFactory.java 19 Jun 2006 11:02:34 -0000 @@ -602,6 +602,28 @@ } /** + * This keeps track of the one adapter used for all {@link org.eclipse.gmf.codegen.gmfgen.StyleAttributes} instances. + * + * + * @generated + */ + protected StyleAttributesItemProvider styleAttributesItemProvider; + + /** + * This creates an adapter for a {@link org.eclipse.gmf.codegen.gmfgen.StyleAttributes}. + * + * + * @generated + */ + public Adapter createStyleAttributesAdapter() { + if (styleAttributesItemProvider == null) { + styleAttributesItemProvider = new StyleAttributesItemProvider(this); + } + + return styleAttributesItemProvider; + } + + /** * This keeps track of the one adapter used for all {@link org.eclipse.gmf.codegen.gmfgen.ResizeConstraints} instances. * * @@ -1337,6 +1359,7 @@ if (compositeFeatureLabelModelFacetItemProvider != null) compositeFeatureLabelModelFacetItemProvider.dispose(); if (designLabelModelFacetItemProvider != null) designLabelModelFacetItemProvider.dispose(); if (colorAttributesItemProvider != null) colorAttributesItemProvider.dispose(); + if (styleAttributesItemProvider != null) styleAttributesItemProvider.dispose(); if (resizeConstraintsItemProvider != null) resizeConstraintsItemProvider.dispose(); if (defaultSizeAttributesItemProvider != null) defaultSizeAttributesItemProvider.dispose(); if (labelOffsetAttributesItemProvider != null) labelOffsetAttributesItemProvider.dispose(); Index: src/org/eclipse/gmf/codegen/gmfgen/provider/ViewmapItemProvider.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.codegen.edit/src/org/eclipse/gmf/codegen/gmfgen/provider/ViewmapItemProvider.java,v retrieving revision 1.7 diff -u -r1.7 ViewmapItemProvider.java --- src/org/eclipse/gmf/codegen/gmfgen/provider/ViewmapItemProvider.java 17 May 2006 14:22:35 -0000 1.7 +++ src/org/eclipse/gmf/codegen/gmfgen/provider/ViewmapItemProvider.java 19 Jun 2006 11:02:34 -0000 @@ -183,6 +183,11 @@ newChildDescriptors.add (createChildParameter (GMFGenPackage.eINSTANCE.getViewmap_Attributes(), + GMFGenFactory.eINSTANCE.createStyleAttributes())); + + newChildDescriptors.add + (createChildParameter + (GMFGenPackage.eINSTANCE.getViewmap_Attributes(), GMFGenFactory.eINSTANCE.createResizeConstraints())); newChildDescriptors.add Index: plugin.properties =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.codegen.edit/plugin.properties,v retrieving revision 1.106 diff -u -r1.106 plugin.properties --- plugin.properties 9 Jun 2006 12:31:21 -0000 1.106 +++ plugin.properties 19 Jun 2006 11:02:34 -0000 @@ -450,5 +450,9 @@ _UI_GenLanguage_nregexp_literal = nregexp -_UI_BatchValidation_validationDecoratorProviderPriority_feature = Validation Decorator Provider Priority +_UI_BatchValidation_validationDecoratorProviderPriority_feature = Validation Decorator Provider Priority _UI_DesignLabelModelFacet_type = Design Label Model Facet +_UI_StyleAttributes_type = Style Attributes +_UI_StyleAttributes_fixedFont_feature = Fixed Font +_UI_StyleAttributes_fixedForeground_feature = Fixed Foreground +_UI_StyleAttributes_fixedBackground_feature = Fixed Background Index: src/org/eclipse/gmf/codegen/gmfgen/provider/StyleAttributesItemProvider.java =================================================================== RCS file: src/org/eclipse/gmf/codegen/gmfgen/provider/StyleAttributesItemProvider.java diff -N src/org/eclipse/gmf/codegen/gmfgen/provider/StyleAttributesItemProvider.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/gmf/codegen/gmfgen/provider/StyleAttributesItemProvider.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,202 @@ +/** + * + * + * + * $Id$ + */ +package org.eclipse.gmf.codegen.gmfgen.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import org.eclipse.gmf.codegen.gmfgen.GMFGenPackage; +import org.eclipse.gmf.codegen.gmfgen.StyleAttributes; + +import org.eclipse.gmf.codegen.gmfgen.presentation.EditorPlugin; + +/** + * This is the item provider adapter for a {@link org.eclipse.gmf.codegen.gmfgen.StyleAttributes} object. + * + * + * @generated + */ +public class StyleAttributesItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StyleAttributesItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFixedFontPropertyDescriptor(object); + addFixedForegroundPropertyDescriptor(object); + addFixedBackgroundPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Fixed Font feature. + * + * + * @generated + */ + protected void addFixedFontPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StyleAttributes_fixedFont_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_StyleAttributes_fixedFont_feature", "_UI_StyleAttributes_type"), + GMFGenPackage.eINSTANCE.getStyleAttributes_FixedFont(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Fixed Foreground feature. + * + * + * @generated + */ + protected void addFixedForegroundPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StyleAttributes_fixedForeground_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_StyleAttributes_fixedForeground_feature", "_UI_StyleAttributes_type"), + GMFGenPackage.eINSTANCE.getStyleAttributes_FixedForeground(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Fixed Background feature. + * + * + * @generated + */ + protected void addFixedBackgroundPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StyleAttributes_fixedBackground_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_StyleAttributes_fixedBackground_feature", "_UI_StyleAttributes_type"), + GMFGenPackage.eINSTANCE.getStyleAttributes_FixedBackground(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns StyleAttributes.gif. + * + * + * @generated + */ + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/StyleAttributes")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + public String getText(Object object) { + StyleAttributes styleAttributes = (StyleAttributes)object; + return getString("_UI_StyleAttributes_type") + " " + styleAttributes.isFixedFont(); + } + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StyleAttributes.class)) { + case GMFGenPackage.STYLE_ATTRIBUTES__FIXED_FONT: + case GMFGenPackage.STYLE_ATTRIBUTES__FIXED_FOREGROUND: + case GMFGenPackage.STYLE_ATTRIBUTES__FIXED_BACKGROUND: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s + * describing all of the children that can be created under this object. + * + * + * @generated + */ + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + public ResourceLocator getResourceLocator() { + return EditorPlugin.INSTANCE; + } + +} #P org.eclipse.gmf.tests Index: src/org/eclipse/gmf/tests/gef/DiagramNodeTest.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gef/DiagramNodeTest.java,v retrieving revision 1.16 diff -u -r1.16 DiagramNodeTest.java --- src/org/eclipse/gmf/tests/gef/DiagramNodeTest.java 15 Jun 2006 10:50:50 -0000 1.16 +++ src/org/eclipse/gmf/tests/gef/DiagramNodeTest.java 19 Jun 2006 11:02:38 -0000 @@ -11,6 +11,8 @@ */ package org.eclipse.gmf.tests.gef; +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.PolylineConnection; import org.eclipse.draw2d.PositionConstants; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; @@ -20,6 +22,11 @@ import org.eclipse.gef.commands.Command; import org.eclipse.gef.requests.ChangeBoundsRequest; import org.eclipse.gmf.codegen.gmfgen.GenLink; +import org.eclipse.gmf.gmfgraph.Color; +import org.eclipse.gmf.gmfgraph.Connection; +import org.eclipse.gmf.gmfgraph.Figure; +import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint; +import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants; import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities; import org.eclipse.gmf.runtime.notation.Edge; import org.eclipse.gmf.runtime.notation.FillStyle; @@ -29,10 +36,13 @@ import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.Size; import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.gmf.tests.gen.GenericFigureCheck; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.swt.graphics.RGB; public class DiagramNodeTest extends DiagramTestBase { - + private final GenericFigureCheck.ColorTransformer ourColorTransformer = new GenericFigureCheck.ColorTransformer(); private final Point myMoveDelta = new Point(10, 20); private final Dimension mySizeDelta = new Dimension(100, 50); @@ -45,6 +55,25 @@ View nodeB = getNotation(getNodeEditPartB()); ConnectionEditPart linkByClass = createAndCheckLink(nodeA, nodeB, getSetup().getGenModel().getLinkC()); assertNotNull(linkByClass); + + //there is already linkByRef between a and b, use new target + nodeB = createNode(getSetup().getGenModel().getNodeB(), getDiagram()); + ConnectionEditPart linkByRef = createAndCheckLink(nodeA, nodeB, getSetup().getGenModel().getLinkD()); + assertNotNull(linkByRef); + } + + public void testNotColoredLink(){ + View nodeA = getNotation(getNodeEditPartA()); + View nodeB = getNotation(getNodeEditPartB()); + ConnectionEditPart linkByClass = createAndCheckLink(nodeA, nodeB, getSetup().getGenModel().getLinkC()); + checkLinkColor(linkByClass, getSetup().getMapModel().getClassLink().getDiagramLink()); + } + + public void testColoredLink(){ + View nodeA = createNode(getSetup().getGenModel().getNodeA(), getDiagram()); + View nodeB = createNode(getSetup().getGenModel().getNodeB(), getDiagram()); + ConnectionEditPart linkByRef = createAndCheckLink(nodeA, nodeB, getSetup().getGenModel().getLinkD()); + checkLinkColor(linkByRef, getSetup().getMapModel().getReferenceLink().getDiagramLink()); } private ConnectionEditPart createAndCheckLink(View source, View target, GenLink genLinkType){ @@ -59,6 +88,19 @@ assertNotNull(newLinkEditPart); return newLinkEditPart; } + + private void checkLinkColor(ConnectionEditPart newLinkEditPart, Connection gmfGraphConnection){ + IFigure actual = newLinkEditPart.getFigure(); + assertTrue(actual instanceof PolylineConnection); + Figure gmfFigure = (Figure)gmfGraphConnection.getFigure(); + Color gmfColor = gmfFigure.getForegroundColor(); + RGB expectedRGB = gmfColor == null ? getDefaultLinkColor() : ourColorTransformer.gmf2swt(gmfColor); + assertEquals(expectedRGB, actual.getForegroundColor().getRGB()); + } + + private RGB getDefaultLinkColor() { + return PreferenceConverter.getColor(getDefaults(), IPreferenceConstants.PREF_LINE_COLOR); + } public void testChangeBounds() { final EditPart editPart = getNodeEditPartA(); @@ -172,4 +214,7 @@ assertEquals("Background color doesn't match after [" + assertTag + ']', expectedBackgroundColor, getBackgroundColor(notation)); } + private IPreferenceStore getDefaults() { + return (IPreferenceStore) PreferencesHint.USE_DEFAULTS.getPreferenceStore(); + } } Index: src/org/eclipse/gmf/tests/setup/RTSource.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/setup/RTSource.java,v retrieving revision 1.3 diff -u -r1.3 RTSource.java --- src/org/eclipse/gmf/tests/setup/RTSource.java 6 Jun 2006 17:48:30 -0000 1.3 +++ src/org/eclipse/gmf/tests/setup/RTSource.java 19 Jun 2006 11:02:39 -0000 @@ -23,5 +23,6 @@ Diagram getCanvas(); Node getNodeA(); Node getNodeB(); - Edge getLink(); + Edge getLinkByClass(); + Edge getLinkByRef(); } Index: src/org/eclipse/gmf/tests/setup/CompartmentsSessionSetup.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/setup/CompartmentsSessionSetup.java,v retrieving revision 1.2 diff -u -r1.2 CompartmentsSessionSetup.java --- src/org/eclipse/gmf/tests/setup/CompartmentsSessionSetup.java 6 Jun 2006 17:48:30 -0000 1.2 +++ src/org/eclipse/gmf/tests/setup/CompartmentsSessionSetup.java 19 Jun 2006 11:02:39 -0000 @@ -24,12 +24,18 @@ import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.gmf.gmfgraph.Canvas; +import org.eclipse.gmf.gmfgraph.Color; +import org.eclipse.gmf.gmfgraph.ColorConstants; import org.eclipse.gmf.gmfgraph.Compartment; +import org.eclipse.gmf.gmfgraph.Connection; +import org.eclipse.gmf.gmfgraph.ConnectionFigure; +import org.eclipse.gmf.gmfgraph.ConstantColor; import org.eclipse.gmf.gmfgraph.DiagramLabel; import org.eclipse.gmf.gmfgraph.Figure; import org.eclipse.gmf.gmfgraph.FigureGallery; import org.eclipse.gmf.gmfgraph.GMFGraphFactory; import org.eclipse.gmf.gmfgraph.Node; +import org.eclipse.gmf.gmfgraph.Rectangle; import org.eclipse.gmf.mappings.ChildReference; import org.eclipse.gmf.mappings.CompartmentMapping; import org.eclipse.gmf.mappings.GMFMapFactory; @@ -95,6 +101,16 @@ * @return compartment, hasTitle = false, collapsible = false */ public Compartment getCompartmentB(); + + /** + * @return node, foreground = red, background = blue + */ + public Node getColoredNode(); + + /** + * @return connection, foreground = orange + */ + public Connection getColoredConnection(); } public static interface DomainModelSourceExtension extends DomainModelSource { @@ -105,17 +121,39 @@ protected static class DiaDefSetupWithCompartments extends DiaDefSetup implements DiaDefSourceExtension { private Compartment myCollapsibleCompartmentWithTitle; private Compartment myCompartmentNoTitleNoCollapse; + private Node myColoredNode; + private Connection myColoredConnection; public void setupCanvasDef(Canvas canvasDef) { FigureGallery oneMoreGallery = GMFGraphFactory.eINSTANCE.createFigureGallery(); canvasDef.getFigures().add(oneMoreGallery); Figure compartmentFigure = GMFGraphFactory.eINSTANCE.createRectangle(); + compartmentFigure.setName("CompartmentFigure"); oneMoreGallery.getFigures().add(compartmentFigure); myCollapsibleCompartmentWithTitle = createCompartment(compartmentFigure, "Compartment_Title_Collapse", true, true); canvasDef.getCompartments().add(myCollapsibleCompartmentWithTitle); myCompartmentNoTitleNoCollapse = createCompartment(compartmentFigure, "Compartment_NoTitle_No_Collapse", false, false); canvasDef.getCompartments().add(myCompartmentNoTitleNoCollapse); + + Rectangle colored = GMFGraphFactory.eINSTANCE.createRectangle(); + colored.setForegroundColor(createColor(ColorConstants.RED_LITERAL)); + colored.setBackgroundColor(createColor(ColorConstants.BLUE_LITERAL)); + colored.setName("ColoredRectangle"); + oneMoreGallery.getFigures().add(colored); + myColoredNode = GMFGraphFactory.eINSTANCE.createNode(); + myColoredNode.setName("ColoredRectangleNode"); + myColoredNode.setFigure(colored); + getCanvasDef().getNodes().add(myColoredNode); + + ConnectionFigure connectionLink = GMFGraphFactory.eINSTANCE.createPolylineConnection(); + connectionLink.setName("ColoredLink"); + connectionLink.setForegroundColor(createColor(ColorConstants.ORANGE_LITERAL)); + oneMoreGallery.getFigures().add(connectionLink); + myColoredConnection = GMFGraphFactory.eINSTANCE.createConnection(); + myColoredConnection.setName("ColoredLinkConnection"); + myColoredConnection.setFigure(connectionLink); + getCanvasDef().getConnections().add(myColoredConnection); } protected void setupNodeDef(Node nodeDef) { @@ -131,6 +169,14 @@ return myCompartmentNoTitleNoCollapse; } + public Connection getColoredConnection() { + return myColoredConnection; + } + + public Node getColoredNode() { + return myColoredNode; + } + private Compartment createCompartment(Figure figure, String name, boolean collapsible, boolean needsTitle){ Compartment result = GMFGraphFactory.eINSTANCE.createCompartment(); result.setFigure(figure); @@ -139,6 +185,12 @@ result.setCollapsible(collapsible); return result; } + + private Color createColor(ColorConstants color){ + ConstantColor result = GMFGraphFactory.eINSTANCE.createConstantColor(); + result.setValue(color); + return result; + } } protected static class DomainSetupWithChildren extends DomainModelSetup implements DomainModelSourceExtension { @@ -194,6 +246,9 @@ MapSetup result = super.init(ddSource, domainSource, toolDef); + getNodeB().setDiagramNode(diaDefSetupWithCompartments.getColoredNode()); + getReferenceLink().setDiagramLink(diaDefSetupWithCompartments.getColoredConnection()); + setupReferenceAndCompartment(ddSource, diaDefSetupWithCompartments.getCompartmentA(), domainWithChildren.getChildOfA(), result.getNodeA()); setupReferenceAndCompartment(ddSource, diaDefSetupWithCompartments.getCompartmentB(), domainWithChildren.getChildOfB(), result.getNodeB()); Index: src/org/eclipse/gmf/tests/setup/RTSetup.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/setup/RTSetup.java,v retrieving revision 1.26 diff -u -r1.26 RTSetup.java --- src/org/eclipse/gmf/tests/setup/RTSetup.java 12 Jun 2006 14:45:35 -0000 1.26 +++ src/org/eclipse/gmf/tests/setup/RTSetup.java 19 Jun 2006 11:02:39 -0000 @@ -34,6 +34,7 @@ import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.emf.workspace.AbstractEMFOperation; +import org.eclipse.gmf.codegen.gmfgen.FeatureLinkModelFacet; import org.eclipse.gmf.codegen.gmfgen.GenNode; import org.eclipse.gmf.codegen.gmfgen.TypeLinkModelFacet; import org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFactory; @@ -56,7 +57,8 @@ private Diagram myCanvas; private Node myNodeA; private Node myNodeB; - private Edge myLink; + private Edge myLinkByClass; + private Edge myLinkByRef; private EObject myDiagramElement; @@ -87,23 +89,30 @@ myNodeA = setupNotationNode(genSource.getNodeA(), instanceProducer); myNodeB = setupNotationNode(genSource.getNodeB(), instanceProducer); - myLink = NotationFactory.eINSTANCE.createEdge(); - myCanvas.getPersistedEdges().add(myLink); + myLinkByClass = NotationFactory.eINSTANCE.createEdge(); + myCanvas.getPersistedEdges().add(myLinkByClass); //myNode.setVisualID(genSource.getGenNode().getVisualID()); - TypeLinkModelFacet mf = (TypeLinkModelFacet) genSource.getLinkC().getModelFacet(); - EObject linkElement = instanceProducer.createInstance(mf.getMetaClass()); - instanceProducer.setFeatureValue(myNodeA.getElement(), linkElement, mf.getContainmentMetaFeature()); - instanceProducer.setFeatureValue(linkElement, myNodeB.getElement(), mf.getTargetMetaFeature()); - myLink.setElement(linkElement); - myLink.setType(String.valueOf(genSource.getLinkC().getVisualID())); - myLink.setSource(myNodeA); - myLink.setTarget(myNodeB); + TypeLinkModelFacet byClassFacet = (TypeLinkModelFacet) genSource.getLinkC().getModelFacet(); + EObject linkElement = instanceProducer.createInstance(byClassFacet.getMetaClass()); + instanceProducer.setFeatureValue(myNodeA.getElement(), linkElement, byClassFacet.getContainmentMetaFeature()); + instanceProducer.setFeatureValue(linkElement, myNodeB.getElement(), byClassFacet.getTargetMetaFeature()); + myLinkByClass.setElement(linkElement); + myLinkByClass.setType(String.valueOf(genSource.getLinkC().getVisualID())); + myLinkByClass.setSource(myNodeA); + myLinkByClass.setTarget(myNodeB); + setBendpoints(myLinkByClass); + + FeatureLinkModelFacet byRefFacet = (FeatureLinkModelFacet) genSource.getLinkD().getModelFacet(); + Assert.assertNotNull(byRefFacet); + instanceProducer.setFeatureValue(myNodeA.getElement(), myNodeB.getElement(), byRefFacet.getMetaFeature()); + myLinkByRef = NotationFactory.eINSTANCE.createEdge(); + myCanvas.getPersistedEdges().add(myLinkByRef); + myLinkByRef.setType(String.valueOf(genSource.getLinkD().getVisualID())); + myLinkByRef.setSource(myNodeA); + myLinkByRef.setTarget(myNodeB); + setBendpoints(myLinkByRef); - myLink.setBendpoints(NotationFactory.eINSTANCE.createRelativeBendpoints()); - - //myLink.setVisualID(genSource.getGenLink().getVisualID()); - myCanvas.setType(genSource.getGenDiagram().getEditorGen().getDomainGenModel().getModelName()); /* @@ -119,6 +128,10 @@ */ } + private void setBendpoints(Edge edge){ + edge.setBendpoints(NotationFactory.eINSTANCE.createRelativeBendpoints()); + } + private Node setupNotationNode(GenNode genNode, DomainInstanceProducer instanceProducer){ Node result = NotationFactory.eINSTANCE.createNode(); myCanvas.getPersistedChildren().add(result); @@ -176,8 +189,12 @@ return myNodeB; } - public Edge getLink() { - return myLink; + public Edge getLinkByClass() { + return myLinkByClass; + } + + public Edge getLinkByRef() { + return myLinkByRef; } protected EObject getDiagramElement(){ Index: src/org/eclipse/gmf/tests/gen/GenericFigureCheck.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/GenericFigureCheck.java,v retrieving revision 1.5 diff -u -r1.5 GenericFigureCheck.java --- src/org/eclipse/gmf/tests/gen/GenericFigureCheck.java 17 May 2006 11:30:51 -0000 1.5 +++ src/org/eclipse/gmf/tests/gen/GenericFigureCheck.java 19 Jun 2006 11:02:38 -0000 @@ -47,6 +47,7 @@ public class GenericFigureCheck extends FigureCodegenTestBase.FigureCheck { private final Figure myGMFRootFigure; + private static final ColorTransformer ourColorConstantTransformer = new ColorTransformer(); public GenericFigureCheck(Figure eFigure){ myGMFRootFigure = eFigure; @@ -186,14 +187,7 @@ assertNotNull(swtColor); assertNotNull(eColor); - RGB expectedRGB; - if (eColor instanceof ConstantColor){ - expectedRGB = transformConstantColor((ConstantColor)eColor).getRGB(); - } else if (eColor instanceof RGBColor){ - expectedRGB = transformRGBColor((RGBColor)eColor); - } else { - throw new IllegalStateException("Unknown color: " + eColor); - } + RGB expectedRGB = ourColorConstantTransformer.gmf2swt(eColor); assertEquals(expectedRGB, swtColor.getRGB()); } @@ -231,14 +225,7 @@ } } - private org.eclipse.swt.graphics.Color transformConstantColor(ConstantColor color) { - Class d2dClass = org.eclipse.draw2d.ColorConstants.class; - Object d2dValue = getStaticFieldValue("Unknown color: " + color, d2dClass, color.getValue().getLiteral()); - assertTrue(d2dValue instanceof org.eclipse.swt.graphics.Color); - return (org.eclipse.swt.graphics.Color)d2dValue; - } - - private Object getStaticFieldValue(String failureMessage, Class clazz, String fieldName){ + private static Object getStaticFieldValue(String failureMessage, Class clazz, String fieldName){ try { Field constant = clazz.getField(fieldName); assertNotNull(failureMessage, constant); @@ -251,10 +238,6 @@ } } - private RGB transformRGBColor(RGBColor color) { - return new RGB(color.getRed(), color.getGreen(), color.getBlue()); - } - protected void checkPreferredSize(Figure gmfFigure, IFigure figure) { if (gmfFigure.eIsSet(GMFGraphPackage.eINSTANCE.getFigure_PreferredSize())){ Dimension ePreferredSize = gmfFigure.getPreferredSize(); @@ -345,5 +328,29 @@ assertNotNull(eInsets); assertEquals(new org.eclipse.draw2d.geometry.Insets(eInsets.getTop(), eInsets.getLeft(), eInsets.getBottom(), eInsets.getRight()), d2dInsets); } + + public static class ColorTransformer { + public RGB gmf2swt(Color color){ + if (color instanceof ConstantColor){ + return gmfConstant2swt((ConstantColor)color); + } + if (color instanceof RGBColor){ + return gmfRGB2swt((RGBColor)color); + } + throw new IllegalArgumentException("Unknown color:" + color); + } + + public RGB gmfConstant2swt(ConstantColor gmfColor){ + Class d2dClass = org.eclipse.draw2d.ColorConstants.class; + Object d2dValue = getStaticFieldValue("Unknown color: " + gmfColor, d2dClass, gmfColor.getValue().getLiteral()); + assertTrue(d2dValue instanceof org.eclipse.swt.graphics.Color); + return ((org.eclipse.swt.graphics.Color)d2dValue).getRGB(); + } + + public RGB gmfRGB2swt(RGBColor gmfColor){ + return new RGB(gmfColor.getRed(), gmfColor.getGreen(), gmfColor.getBlue()); + } + + } } Index: src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java,v retrieving revision 1.13 diff -u -r1.13 ViewmapProducersTest.java --- src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java 7 Jun 2006 09:52:48 -0000 1.13 +++ src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java 19 Jun 2006 11:02:39 -0000 @@ -24,11 +24,15 @@ import org.eclipse.gmf.codegen.gmfgen.InnerClassViewmap; import org.eclipse.gmf.codegen.gmfgen.ParentAssignedViewmap; import org.eclipse.gmf.codegen.gmfgen.ResizeConstraints; +import org.eclipse.gmf.codegen.gmfgen.StyleAttributes; import org.eclipse.gmf.codegen.gmfgen.Viewmap; import org.eclipse.gmf.codegen.gmfgen.ViewmapLayoutType; +import org.eclipse.gmf.gmfgraph.BasicFont; +import org.eclipse.gmf.gmfgraph.Color; import org.eclipse.gmf.gmfgraph.ColorConstants; import org.eclipse.gmf.gmfgraph.Compartment; import org.eclipse.gmf.gmfgraph.Connection; +import org.eclipse.gmf.gmfgraph.ConnectionFigure; import org.eclipse.gmf.gmfgraph.ConstantColor; import org.eclipse.gmf.gmfgraph.CustomConnection; import org.eclipse.gmf.gmfgraph.CustomFigure; @@ -38,6 +42,7 @@ import org.eclipse.gmf.gmfgraph.FigureAccessor; import org.eclipse.gmf.gmfgraph.FigureGallery; import org.eclipse.gmf.gmfgraph.FlowLayout; +import org.eclipse.gmf.gmfgraph.FontStyle; import org.eclipse.gmf.gmfgraph.GMFGraphFactory; import org.eclipse.gmf.gmfgraph.Label; import org.eclipse.gmf.gmfgraph.Layout; @@ -374,6 +379,72 @@ checker.check(toolbar, ViewmapLayoutType.TOOLBAR_LAYOUT_LITERAL); } + public void testGeneratedPropertiesAttributes(){ + class Checker { + public void check(Viewmap viewmap, boolean font, boolean fore, boolean back){ + StyleAttributes attributes = (StyleAttributes) viewmap.find(StyleAttributes.class); + if (font || fore || back){ + assertNotNull(attributes); + assertEquals(font, attributes.isFixedFont()); + assertEquals(fore, attributes.isFixedForeground()); + assertEquals(back, attributes.isFixedBackground()); + } else { + assertNull(attributes); + } + } + + public void check(Node node, boolean font, boolean fore, boolean back){ + Viewmap viewmap = getProducer().create(node); + check(viewmap, font, fore, back); + } + + public void check(Connection link, boolean font, boolean fore, boolean back){ + Viewmap viewmap = getProducer().create(link); + check(viewmap, font, fore, back); + } + } + + Checker checker = new Checker(); + + checker.check(createNode("NODE_Empty", GMFGraphFactory.eINSTANCE.createRectangle()), false, false, false); + checker.check(createLink("LINK_Empty", GMFGraphFactory.eINSTANCE.createPolylineConnection()), false, false, false); + + Figure hasFont = GMFGraphFactory.eINSTANCE.createRectangle(); + BasicFont font = GMFGraphFactory.eINSTANCE.createBasicFont(); + font.setFaceName("Arial"); + font.setHeight(12); + font.setStyle(FontStyle.BOLD_LITERAL); + hasFont.setFont(font); + checker.check(createNode("NODE_Font", hasFont), true, false, false); + + Figure hasFore = GMFGraphFactory.eINSTANCE.createRectangle(); + hasFore.setForegroundColor(createColor(ColorConstants.GRAY_LITERAL)); + checker.check(createNode("NODE_Fore_Color", hasFore), false, true, false); + + Figure hasBack = GMFGraphFactory.eINSTANCE.createRectangle(); + hasBack.setBackgroundColor(createColor(ColorConstants.LIGHT_BLUE_LITERAL)) ; + checker.check(createNode("NODE_Back_Color", hasBack), false, false, true); + + ConnectionFigure polylineWithFont = GMFGraphFactory.eINSTANCE.createPolylineConnection(); + polylineWithFont.setFont(font); + checker.check(createLink("Link_Font", polylineWithFont), true, false, false); + + ConnectionFigure polylineWithColor = GMFGraphFactory.eINSTANCE.createPolylineConnection(); + polylineWithColor.setForegroundColor(createColor(ColorConstants.RED_LITERAL)); + checker.check(createLink("Link_Font", polylineWithColor), false, true, false); + + Figure parent = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + parent.setName("ParentNoColor"); + Figure child = GMFGraphFactory.eINSTANCE.createEllipse(); + child.setName("ChildWithColor"); + child.setForegroundColor(createColor(ColorConstants.GREEN_LITERAL)); + parent.getChildren().add(child); + + //only properties of top-level figure should be considered + checker.check(createNode("ParentOfColoredChild", parent), false, false, false); + } + + private TypeDeclaration parseFirstType(String classContents) { ASTParser p = ASTParser.newParser(AST.JLS3); p.setSource(classContents.toCharArray()); @@ -391,6 +462,14 @@ return createNode(name, figure, null); } + private Connection createLink(String name, ConnectionFigure connectionFigure) { + Connection connection = GMFGraphFactory.eINSTANCE.createConnection(); + connectionFigure.setName(name); + connection.setName(name); + connection.setFigure(connectionFigure); + return connection; + } + private Compartment createCompartment(String name, Figure figure){ assertNotNull(name); assertNotNull(figure); @@ -405,6 +484,7 @@ assertNotNull(figure); Node result = GMFGraphFactory.eINSTANCE.createNode(); result.setName(name); + figure.setName(name); result.setFigure(figure); if (optionalConstaint != null){ result.setResizeConstraint(optionalConstaint); @@ -415,6 +495,12 @@ protected ViewmapProducer getProducer() { return myProducer; } + + private Color createColor(ColorConstants color) { + ConstantColor result = GMFGraphFactory.eINSTANCE.createConstantColor(); + result.setValue(color); + return result; + } private class ResizeConstraintsChecker { private final List myExpectedNames; #P org.eclipse.gmf.codegen Index: src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenPackageImpl.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.codegen/src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenPackageImpl.java,v retrieving revision 1.139 diff -u -r1.139 GMFGenPackageImpl.java --- src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenPackageImpl.java 13 Jun 2006 15:10:43 -0000 1.139 +++ src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenPackageImpl.java 19 Jun 2006 11:02:49 -0000 @@ -95,6 +95,7 @@ import org.eclipse.gmf.codegen.gmfgen.Shortcuts; import org.eclipse.gmf.codegen.gmfgen.SnippetViewmap; import org.eclipse.gmf.codegen.gmfgen.SpecializationType; +import org.eclipse.gmf.codegen.gmfgen.StyleAttributes; import org.eclipse.gmf.codegen.gmfgen.ToolEntry; import org.eclipse.gmf.codegen.gmfgen.ToolGroup; import org.eclipse.gmf.codegen.gmfgen.ToolGroupItem; @@ -419,6 +420,13 @@ * * @generated */ + private EClass styleAttributesEClass = null; + + /** + * + * + * @generated + */ private EClass resizeConstraintsEClass = null; /** @@ -2680,6 +2688,42 @@ * * @generated */ + public EClass getStyleAttributes() { + return styleAttributesEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getStyleAttributes_FixedFont() { + return (EAttribute)styleAttributesEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getStyleAttributes_FixedForeground() { + return (EAttribute)styleAttributesEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getStyleAttributes_FixedBackground() { + return (EAttribute)styleAttributesEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ public EClass getResizeConstraints() { return resizeConstraintsEClass; } @@ -4067,6 +4111,11 @@ createEAttribute(colorAttributesEClass, COLOR_ATTRIBUTES__FOREGROUND_COLOR); createEAttribute(colorAttributesEClass, COLOR_ATTRIBUTES__BACKGROUND_COLOR); + styleAttributesEClass = createEClass(STYLE_ATTRIBUTES); + createEAttribute(styleAttributesEClass, STYLE_ATTRIBUTES__FIXED_FONT); + createEAttribute(styleAttributesEClass, STYLE_ATTRIBUTES__FIXED_FOREGROUND); + createEAttribute(styleAttributesEClass, STYLE_ATTRIBUTES__FIXED_BACKGROUND); + resizeConstraintsEClass = createEClass(RESIZE_CONSTRAINTS); createEAttribute(resizeConstraintsEClass, RESIZE_CONSTRAINTS__RESIZE_HANDLES); createEAttribute(resizeConstraintsEClass, RESIZE_CONSTRAINTS__NON_RESIZE_HANDLES); @@ -4302,6 +4351,7 @@ compositeFeatureLabelModelFacetEClass.getESuperTypes().add(this.getLabelModelFacet()); designLabelModelFacetEClass.getESuperTypes().add(this.getLabelModelFacet()); colorAttributesEClass.getESuperTypes().add(this.getAttributes()); + styleAttributesEClass.getESuperTypes().add(this.getAttributes()); resizeConstraintsEClass.getESuperTypes().add(this.getAttributes()); defaultSizeAttributesEClass.getESuperTypes().add(this.getAttributes()); labelOffsetAttributesEClass.getESuperTypes().add(this.getAttributes()); @@ -4742,6 +4792,11 @@ initEAttribute(getColorAttributes_ForegroundColor(), ecorePackage.getEString(), "foregroundColor", null, 0, 1, ColorAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getColorAttributes_BackgroundColor(), ecorePackage.getEString(), "backgroundColor", null, 0, 1, ColorAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(styleAttributesEClass, StyleAttributes.class, "StyleAttributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getStyleAttributes_FixedFont(), ecorePackage.getEBoolean(), "fixedFont", "false", 0, 1, StyleAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getStyleAttributes_FixedForeground(), ecorePackage.getEBoolean(), "fixedForeground", "false", 0, 1, StyleAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getStyleAttributes_FixedBackground(), ecorePackage.getEBoolean(), "fixedBackground", "false", 0, 1, StyleAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(resizeConstraintsEClass, ResizeConstraints.class, "ResizeConstraints", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getResizeConstraints_ResizeHandles(), ecorePackage.getEInt(), "resizeHandles", "0", 0, 1, ResizeConstraints.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getResizeConstraints_NonResizeHandles(), ecorePackage.getEInt(), "nonResizeHandles", "0", 0, 1, ResizeConstraints.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); @@ -5024,7 +5079,7 @@ "constraints", "http://www.eclipse.org/gmf/2005/constraints", "meta", "http://www.eclipse.org/gmf/2005/constraints/meta", "deprecated", "http://www.eclipse.org/gmf/2006/deprecated" - }); + }); } /** @@ -5138,7 +5193,7 @@ new String[] { "ocl", "not targetMetaFeature.oclIsUndefined() implies targetMetaFeature.genClass.ecoreClass.isSuperTypeOf(metaClass.ecoreClass)", "description", "Link \'Target Meta Feature\' must be owned by link \'Meta Class\' or its super-class" - }); + }); addAnnotation (genFeatureValueSpecEClass, source, @@ -5218,7 +5273,7 @@ new String[] { "def", "context", "ocl", "metaClass.ecoreClass" - }); + }); addAnnotation (valueExpressionEClass, source, Index: src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenFactoryImpl.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.codegen/src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenFactoryImpl.java,v retrieving revision 1.52 diff -u -r1.52 GMFGenFactoryImpl.java --- src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenFactoryImpl.java 9 Jun 2006 12:31:18 -0000 1.52 +++ src/org/eclipse/gmf/codegen/gmfgen/impl/GMFGenFactoryImpl.java 19 Jun 2006 11:02:46 -0000 @@ -135,6 +135,7 @@ case GMFGenPackage.COMPOSITE_FEATURE_LABEL_MODEL_FACET: return createCompositeFeatureLabelModelFacet(); case GMFGenPackage.DESIGN_LABEL_MODEL_FACET: return createDesignLabelModelFacet(); case GMFGenPackage.COLOR_ATTRIBUTES: return createColorAttributes(); + case GMFGenPackage.STYLE_ATTRIBUTES: return createStyleAttributes(); case GMFGenPackage.RESIZE_CONSTRAINTS: return createResizeConstraints(); case GMFGenPackage.DEFAULT_SIZE_ATTRIBUTES: return createDefaultSizeAttributes(); case GMFGenPackage.LABEL_OFFSET_ATTRIBUTES: return createLabelOffsetAttributes(); @@ -457,6 +458,16 @@ * * @generated */ + public StyleAttributes createStyleAttributes() { + StyleAttributesImpl styleAttributes = new StyleAttributesImpl(); + return styleAttributes; + } + + /** + * + * + * @generated + */ public ResizeConstraints createResizeConstraints() { ResizeConstraintsImpl resizeConstraints = new ResizeConstraintsImpl(); return resizeConstraints; Index: src-templates/org/eclipse/gmf/codegen/templates/providers/ViewFactoryGenerator.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.codegen/src-templates/org/eclipse/gmf/codegen/templates/providers/ViewFactoryGenerator.java,v retrieving revision 1.44 diff -u -r1.44 ViewFactoryGenerator.java --- src-templates/org/eclipse/gmf/codegen/templates/providers/ViewFactoryGenerator.java 6 Jun 2006 17:48:31 -0000 1.44 +++ src-templates/org/eclipse/gmf/codegen/templates/providers/ViewFactoryGenerator.java 19 Jun 2006 11:02:42 -0000 @@ -28,82 +28,92 @@ protected final String TEXT_9 = NL + " "; protected final String TEXT_10 = " " + NL + "\t"; protected final String TEXT_11 = NL + "\t"; - protected final String TEXT_12 = NL + "{" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */"; - protected final String TEXT_13 = NL + "\tprotected void decorateView(View view, IAdaptable semanticAdapter, String diagramKind){" + NL + "\t\tsuper.decorateView(view, semanticAdapter, diagramKind);"; - protected final String TEXT_14 = NL + "\tprotected void decorateView(View containerView, View view, IAdaptable semanticAdapter," + NL + "\t\t\tString semanticHint, int index, boolean persisted) {" + NL + "\t\tif (semanticHint == null) { "; - protected final String TEXT_15 = NL + "\t\t\tsemanticHint = "; - protected final String TEXT_16 = ".getType("; - protected final String TEXT_17 = ".VISUAL_ID);" + NL + "\t\t\tview.setType(semanticHint);" + NL + "\t\t}"; - protected final String TEXT_18 = NL + "\t\tsuper.decorateView(containerView, view, semanticAdapter, semanticHint, index, persisted);"; - protected final String TEXT_19 = NL + "\t\tsetupCompartmentTitle(view);" + NL + "\t\tsetupCompartmentCollapsed(view);"; - protected final String TEXT_20 = "\t\t" + NL + "\t\tif (!"; - protected final String TEXT_21 = ".MODEL_ID.equals("; - protected final String TEXT_22 = ".getModelID(containerView))) {" + NL + "\t\t\t"; - protected final String TEXT_23 = " shortcutAnnotation = "; - protected final String TEXT_24 = ".eINSTANCE.createEAnnotation();" + NL + "\t\t\tshortcutAnnotation.setSource(\"Shortcut\"); //$NON-NLS-1$" + NL + "\t\t\tshortcutAnnotation.getDetails().put(\"modelID\", "; - protected final String TEXT_25 = ".MODEL_ID); //$NON-NLS-1$" + NL + "\t\t\tview.getEAnnotations().add(shortcutAnnotation);" + NL + "\t\t}"; - protected final String TEXT_26 = NL + "\t\t"; - protected final String TEXT_27 = ".setStructuralFeatureValue(view, "; - protected final String TEXT_28 = ".eINSTANCE.getLineStyle_LineColor()," + NL + "\t\t\t"; - protected final String TEXT_29 = ".colorToInteger("; - protected final String TEXT_30 = "."; - protected final String TEXT_31 = "));"; - protected final String TEXT_32 = NL + "\t\t"; - protected final String TEXT_33 = ".setStructuralFeatureValue(view, "; - protected final String TEXT_34 = ".eINSTANCE.getFillStyle_FillColor()," + NL + "\t\t\t"; - protected final String TEXT_35 = ".colorToInteger("; - protected final String TEXT_36 = "."; - protected final String TEXT_37 = "));"; - protected final String TEXT_38 = NL + "\t\tgetViewService().createNode(semanticAdapter, view, "; + protected final String TEXT_12 = NL + "{" + NL + "" + NL + "\t/*" + NL + "\t * @generated " + NL + "\t */" + NL + "\tprotected List createStyles(View view) {" + NL + "\t\t"; + protected final String TEXT_13 = " styles = new "; + protected final String TEXT_14 = "();"; + protected final String TEXT_15 = NL + "\t\tstyles.add("; + protected final String TEXT_16 = ".eINSTANCE.createRoutingStyle());"; + protected final String TEXT_17 = NL + "\t\tstyles.add("; + protected final String TEXT_18 = ".eINSTANCE.createLineStyle());"; + protected final String TEXT_19 = NL + "\t\tstyles.add("; + protected final String TEXT_20 = ".eINSTANCE.createPageStyle());" + NL + "\t\tstyles.add("; + protected final String TEXT_21 = ".eINSTANCE.createGuideStyle());" + NL + "\t\tstyles.add("; + protected final String TEXT_22 = ".eINSTANCE.createDescriptionStyle());"; + protected final String TEXT_23 = NL + "\t\tstyles.add("; + protected final String TEXT_24 = ".eINSTANCE.createDrawerStyle());"; + protected final String TEXT_25 = "\t" + NL + "\t\tstyles.add("; + protected final String TEXT_26 = ".eINSTANCE.createTitleStyle());"; + protected final String TEXT_27 = "\t" + NL + "\t\tstyles.add("; + protected final String TEXT_28 = ".eINSTANCE.createSortingStyle());" + NL + "\t\tstyles.add("; + protected final String TEXT_29 = ".eINSTANCE.createFilteringStyle());"; + protected final String TEXT_30 = NL + "\t\tstyles.add("; + protected final String TEXT_31 = ".eINSTANCE.createFontStyle());" + NL + "\t\tstyles.add("; + protected final String TEXT_32 = ".eINSTANCE.createDescriptionStyle());" + NL + "\t\tstyles.add("; + protected final String TEXT_33 = ".eINSTANCE.createFillStyle());" + NL + "\t\tstyles.add("; + protected final String TEXT_34 = ".eINSTANCE.createLineStyle());"; + protected final String TEXT_35 = NL + "\t\treturn styles;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */"; + protected final String TEXT_36 = NL + "\tprotected void decorateView(View view, IAdaptable semanticAdapter, String diagramKind){" + NL + "\t\tsuper.decorateView(view, semanticAdapter, diagramKind);"; + protected final String TEXT_37 = NL + "\tprotected void decorateView(View containerView, View view, IAdaptable semanticAdapter," + NL + "\t\t\tString semanticHint, int index, boolean persisted) {" + NL + "\t\tif (semanticHint == null) { "; + protected final String TEXT_38 = NL + "\t\t\tsemanticHint = "; protected final String TEXT_39 = ".getType("; - protected final String TEXT_40 = ".VISUAL_ID)," + NL + "\t\t\t"; - protected final String TEXT_41 = ".APPEND, true, getPreferencesHint());"; - protected final String TEXT_42 = NL + "\t\tgetViewService().createNode(semanticAdapter, view, "; - protected final String TEXT_43 = ".getType("; - protected final String TEXT_44 = ".VISUAL_ID)," + NL + "\t\t\t"; - protected final String TEXT_45 = ".APPEND, true, getPreferencesHint());"; - protected final String TEXT_46 = NL + "\t\tgetViewService().createNode(semanticAdapter, view, "; - protected final String TEXT_47 = ".getType("; - protected final String TEXT_48 = ".VISUAL_ID)," + NL + "\t\t\t"; - protected final String TEXT_49 = ".APPEND, true, getPreferencesHint());"; - protected final String TEXT_50 = NL + "\t}"; - protected final String TEXT_51 = NL + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; - protected final String TEXT_52 = " createStyles(View view) {" + NL + "\t\t"; - protected final String TEXT_53 = " styles = super.createStyles(view);" + NL + "\t\tstyles.add("; - protected final String TEXT_54 = ".eINSTANCE.createShapeStyle());" + NL + "\t\treturn styles;" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; - protected final String TEXT_55 = " createLayoutConstraint() {" + NL + "\t\treturn "; - protected final String TEXT_56 = ".eINSTANCE.createBounds();" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void initializeFromPreferences(View view) {" + NL + "\t\tsuper.initializeFromPreferences(view);" + NL + "" + NL + "\t\t"; - protected final String TEXT_57 = " store = ("; - protected final String TEXT_58 = ") getPreferencesHint().getPreferenceStore();" + NL + "" + NL + "\t\t// fill color" + NL + "\t\t"; - protected final String TEXT_59 = " fillRGB = "; - protected final String TEXT_60 = ".getColor(store, "; - protected final String TEXT_61 = ".PREF_FILL_COLOR);" + NL + "\t\t"; - protected final String TEXT_62 = ".setStructuralFeatureValue(view, "; - protected final String TEXT_63 = ".eINSTANCE.getFillStyle_FillColor(), "; - protected final String TEXT_64 = ".RGBToInteger(fillRGB));" + NL + "\t}"; - protected final String TEXT_65 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; - protected final String TEXT_66 = " getMeasurementUnit() {" + NL + "\t\treturn "; - protected final String TEXT_67 = "."; - protected final String TEXT_68 = "_LITERAL;" + NL + "\t}"; - protected final String TEXT_69 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void setupCompartmentTitle(View view) {" + NL + "\t\t"; - protected final String TEXT_70 = " titleStyle = ("; - protected final String TEXT_71 = ")view.getStyle("; - protected final String TEXT_72 = ".eINSTANCE.getTitleStyle());"; - protected final String TEXT_73 = "\t\t" + NL + "\t\tif (titleStyle == null){" + NL + "\t\t\ttitleStyle = ("; - protected final String TEXT_74 = ") view.createStyle("; - protected final String TEXT_75 = ".eINSTANCE.getTitleStyle());" + NL + "\t\t}" + NL + "\t\ttitleStyle.setShowTitle(true);"; - protected final String TEXT_76 = NL + "\t\tif (titleStyle != null){" + NL + "\t\t\tview.getStyles().remove(titleStyle);" + NL + "\t\t}"; - protected final String TEXT_77 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void setupCompartmentCollapsed(View view) {" + NL + "\t\t"; - protected final String TEXT_78 = " drawerStyle = ("; - protected final String TEXT_79 = ")view.getStyle("; - protected final String TEXT_80 = ".eINSTANCE.getDrawerStyle());"; - protected final String TEXT_81 = "\t\t" + NL + "\t\tif (drawerStyle == null){" + NL + "\t\t\tdrawerStyle = ("; - protected final String TEXT_82 = ") view.createStyle("; - protected final String TEXT_83 = ".eINSTANCE.getDrawerStyle());" + NL + "\t\t}" + NL + "\t\tdrawerStyle.setCollapsed(false);"; - protected final String TEXT_84 = NL + "\t\tif (drawerStyle != null){" + NL + "\t\t\tview.getStyles().remove(drawerStyle);" + NL + "\t\t}"; - protected final String TEXT_85 = NL + "\t}" + NL; - protected final String TEXT_86 = NL + "}"; - protected final String TEXT_87 = NL; + protected final String TEXT_40 = ".VISUAL_ID);" + NL + "\t\t\tview.setType(semanticHint);" + NL + "\t\t}"; + protected final String TEXT_41 = NL + "\t\tsuper.decorateView(containerView, view, semanticAdapter, semanticHint, index, persisted);"; + protected final String TEXT_42 = NL + "\t\tsetupCompartmentTitle(view);" + NL + "\t\tsetupCompartmentCollapsed(view);"; + protected final String TEXT_43 = "\t\t" + NL + "\t\tif (!"; + protected final String TEXT_44 = ".MODEL_ID.equals("; + protected final String TEXT_45 = ".getModelID(containerView))) {" + NL + "\t\t\t"; + protected final String TEXT_46 = " shortcutAnnotation = "; + protected final String TEXT_47 = ".eINSTANCE.createEAnnotation();" + NL + "\t\t\tshortcutAnnotation.setSource(\"Shortcut\"); //$NON-NLS-1$" + NL + "\t\t\tshortcutAnnotation.getDetails().put(\"modelID\", "; + protected final String TEXT_48 = ".MODEL_ID); //$NON-NLS-1$" + NL + "\t\t\tview.getEAnnotations().add(shortcutAnnotation);" + NL + "\t\t}"; + protected final String TEXT_49 = NL + "\t\t"; + protected final String TEXT_50 = ".setStructuralFeatureValue(view, "; + protected final String TEXT_51 = ".eINSTANCE.getLineStyle_LineColor()," + NL + "\t\t\t"; + protected final String TEXT_52 = ".colorToInteger("; + protected final String TEXT_53 = "."; + protected final String TEXT_54 = "));"; + protected final String TEXT_55 = NL + "\t\t"; + protected final String TEXT_56 = ".setStructuralFeatureValue(view, "; + protected final String TEXT_57 = ".eINSTANCE.getFillStyle_FillColor()," + NL + "\t\t\t"; + protected final String TEXT_58 = ".colorToInteger("; + protected final String TEXT_59 = "."; + protected final String TEXT_60 = "));"; + protected final String TEXT_61 = NL + "\t\tgetViewService().createNode(semanticAdapter, view, "; + protected final String TEXT_62 = ".getType("; + protected final String TEXT_63 = ".VISUAL_ID)," + NL + "\t\t\t"; + protected final String TEXT_64 = ".APPEND, true, getPreferencesHint());"; + protected final String TEXT_65 = NL + "\t\tgetViewService().createNode(semanticAdapter, view, "; + protected final String TEXT_66 = ".getType("; + protected final String TEXT_67 = ".VISUAL_ID)," + NL + "\t\t\t"; + protected final String TEXT_68 = ".APPEND, true, getPreferencesHint());"; + protected final String TEXT_69 = NL + "\t\tgetViewService().createNode(semanticAdapter, view, "; + protected final String TEXT_70 = ".getType("; + protected final String TEXT_71 = ".VISUAL_ID)," + NL + "\t\t\t"; + protected final String TEXT_72 = ".APPEND, true, getPreferencesHint());"; + protected final String TEXT_73 = NL + "\t}"; + protected final String TEXT_74 = NL + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; + protected final String TEXT_75 = " createLayoutConstraint() {" + NL + "\t\treturn "; + protected final String TEXT_76 = ".eINSTANCE.createBounds();" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void initializeFromPreferences(View view) {" + NL + "\t\tsuper.initializeFromPreferences(view);" + NL + "" + NL + "\t\t"; + protected final String TEXT_77 = " store = ("; + protected final String TEXT_78 = ") getPreferencesHint().getPreferenceStore();" + NL + "" + NL + "\t\t// fill color" + NL + "\t\t"; + protected final String TEXT_79 = " fillRGB = "; + protected final String TEXT_80 = ".getColor(store, "; + protected final String TEXT_81 = ".PREF_FILL_COLOR);" + NL + "\t\t"; + protected final String TEXT_82 = ".setStructuralFeatureValue(view, "; + protected final String TEXT_83 = ".eINSTANCE.getFillStyle_FillColor(), "; + protected final String TEXT_84 = ".RGBToInteger(fillRGB));" + NL + "\t}"; + protected final String TEXT_85 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; + protected final String TEXT_86 = " getMeasurementUnit() {" + NL + "\t\treturn "; + protected final String TEXT_87 = "."; + protected final String TEXT_88 = "_LITERAL;" + NL + "\t}"; + protected final String TEXT_89 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void setupCompartmentTitle(View view) {" + NL + "\t\t"; + protected final String TEXT_90 = " titleStyle = ("; + protected final String TEXT_91 = ")view.getStyle("; + protected final String TEXT_92 = ".eINSTANCE.getTitleStyle());" + NL + "\t\tif (titleStyle != null){" + NL + "\t\t\ttitleStyle.setShowTitle(true);" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void setupCompartmentCollapsed(View view) {" + NL + "\t\t"; + protected final String TEXT_93 = " drawerStyle = ("; + protected final String TEXT_94 = ")view.getStyle("; + protected final String TEXT_95 = ".eINSTANCE.getDrawerStyle());" + NL + "\t\tif (drawerStyle != null){" + NL + "\t\t\tdrawerStyle.setCollapsed(false);" + NL + "\t\t}" + NL + "\t}"; + protected final String TEXT_96 = NL + NL + "}"; + protected final String TEXT_97 = NL; public String generate(Object argument) { @@ -130,11 +140,14 @@ importManager.markImportLocation(stringBuffer); +final boolean isLink = genElement instanceof GenLink; +final boolean isLabel = genElement instanceof GenChildLabelNode; +final boolean isDiagram = genElement instanceof GenDiagram; +final boolean isCompartment = genElement instanceof GenCompartment; +final boolean isShape = !isLink && !isLabel && !isDiagram && !isCompartment; // captures else +assert isLink || isLabel || isDiagram || isCompartment || isShape; -boolean isLink = genElement instanceof GenLink; -boolean isDiagram = genElement instanceof GenDiagram; -boolean isCompartment = genElement instanceof GenCompartment; -boolean isNode = !isLink && !isDiagram && !isCompartment; +final boolean isNode = !isLink && !isDiagram && !isCompartment; boolean isCompartmentWithOwnBounds = false; if (isCompartment){ GenCompartment genCompartment = (GenCompartment)genElement; @@ -147,7 +160,7 @@ if (isLink) { stringBuffer.append(TEXT_7); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.ui.view.factories.ConnectionViewFactory")); - } else if (genElement instanceof GenChildLabelNode) { + } else if (isLabel) { stringBuffer.append(TEXT_8); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.ui.view.factories.AbstractLabelViewFactory")); } else if (isCompartment) { @@ -156,99 +169,176 @@ } else if (isDiagram) { stringBuffer.append(TEXT_10); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.ui.view.factories.DiagramViewFactory")); - } else { + } else if (isShape) { stringBuffer.append(TEXT_11); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.ui.view.factories.AbstractShapeViewFactory")); - } + } else { + throw new IllegalStateException("Unknown case for " + genElement); +} stringBuffer.append(TEXT_12); + stringBuffer.append(importManager.getImportedName("java.util.List")); + stringBuffer.append(TEXT_13); + stringBuffer.append(importManager.getImportedName("java.util.ArrayList")); + stringBuffer.append(TEXT_14); +if (isLink) { + + stringBuffer.append(TEXT_15); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_16); + + Viewmap viewmap = genElement.getViewmap(); + StyleAttributes styleAttributes = (viewmap == null) ? null : (StyleAttributes)viewmap.find(StyleAttributes.class); + boolean fixedForeground = styleAttributes != null && styleAttributes.isFixedForeground(); + if (!fixedForeground) { + + stringBuffer.append(TEXT_17); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_18); + + } //fixedForeground +} +if (isLabel) { + //no styles for label +} if (isDiagram) { - stringBuffer.append(TEXT_13); + stringBuffer.append(TEXT_19); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_20); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_21); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_22); + +} +if (isCompartment) { + GenCompartment genCompartment = (GenCompartment)genElement; + if (genCompartment.isCanCollapse()){ + + stringBuffer.append(TEXT_23); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_24); + + } + if (genCompartment.isNeedsTitle()){ + + stringBuffer.append(TEXT_25); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_26); + + } + + stringBuffer.append(TEXT_27); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_28); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_29); + +} +if (isShape || isCompartmentWithOwnBounds) { + + stringBuffer.append(TEXT_30); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_31); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_32); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_33); + stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); + stringBuffer.append(TEXT_34); + +} + + stringBuffer.append(TEXT_35); + +if (isDiagram) { + + stringBuffer.append(TEXT_36); } else { - stringBuffer.append(TEXT_14); + stringBuffer.append(TEXT_37); /* [++] important for the create shortcut functionality*/ - stringBuffer.append(TEXT_15); + stringBuffer.append(TEXT_38); stringBuffer.append(importManager.getImportedName(genDiagram.getVisualIDRegistryQualifiedClassName())); - stringBuffer.append(TEXT_16); + stringBuffer.append(TEXT_39); stringBuffer.append(genElement.getEditPartQualifiedClassName()); - stringBuffer.append(TEXT_17); + stringBuffer.append(TEXT_40); /* [--] important for the create shortcut functionality*/ - stringBuffer.append(TEXT_18); + stringBuffer.append(TEXT_41); if (isCompartment){ - stringBuffer.append(TEXT_19); + stringBuffer.append(TEXT_42); } - stringBuffer.append(TEXT_20); + stringBuffer.append(TEXT_43); stringBuffer.append(importManager.getImportedName(genDiagram.getEditPartQualifiedClassName())); - stringBuffer.append(TEXT_21); + stringBuffer.append(TEXT_44); stringBuffer.append(importManager.getImportedName(genDiagram.getVisualIDRegistryQualifiedClassName())); - stringBuffer.append(TEXT_22); + stringBuffer.append(TEXT_45); stringBuffer.append(importManager.getImportedName("org.eclipse.emf.ecore.EAnnotation")); - stringBuffer.append(TEXT_23); + stringBuffer.append(TEXT_46); stringBuffer.append(importManager.getImportedName("org.eclipse.emf.ecore.EcoreFactory")); - stringBuffer.append(TEXT_24); + stringBuffer.append(TEXT_47); stringBuffer.append(importManager.getImportedName(genDiagram.getEditPartQualifiedClassName())); - stringBuffer.append(TEXT_25); + stringBuffer.append(TEXT_48); } ColorAttributes colorAttrs = genElement.getViewmap() != null ? (ColorAttributes) genElement.getViewmap().find(ColorAttributes.class) : null; if (colorAttrs != null && colorAttrs.getForegroundColor() != null && colorAttrs.getForegroundColor().trim().length() > 0) { - stringBuffer.append(TEXT_26); + stringBuffer.append(TEXT_49); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.core.util.ViewUtil")); - stringBuffer.append(TEXT_27); + stringBuffer.append(TEXT_50); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationPackage")); - stringBuffer.append(TEXT_28); + stringBuffer.append(TEXT_51); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities")); - stringBuffer.append(TEXT_29); + stringBuffer.append(TEXT_52); stringBuffer.append(importManager.getImportedName("org.eclipse.draw2d.ColorConstants")); - stringBuffer.append(TEXT_30); + stringBuffer.append(TEXT_53); stringBuffer.append(colorAttrs.getForegroundColor()); - stringBuffer.append(TEXT_31); + stringBuffer.append(TEXT_54); } if (isNode) { GenNode genNode = (GenNode) genElement; if (colorAttrs != null && colorAttrs.getBackgroundColor() != null && colorAttrs.getBackgroundColor().trim().length() > 0) { - stringBuffer.append(TEXT_32); + stringBuffer.append(TEXT_55); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.core.util.ViewUtil")); - stringBuffer.append(TEXT_33); + stringBuffer.append(TEXT_56); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationPackage")); - stringBuffer.append(TEXT_34); + stringBuffer.append(TEXT_57); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities")); - stringBuffer.append(TEXT_35); + stringBuffer.append(TEXT_58); stringBuffer.append(importManager.getImportedName("org.eclipse.draw2d.ColorConstants")); - stringBuffer.append(TEXT_36); + stringBuffer.append(TEXT_59); stringBuffer.append(colorAttrs.getBackgroundColor()); - stringBuffer.append(TEXT_37); + stringBuffer.append(TEXT_60); } List labels = genNode.getLabels(); for (int j = 0; j < labels.size(); j++) { GenNodeLabel label = (GenNodeLabel) labels.get(j); - stringBuffer.append(TEXT_38); + stringBuffer.append(TEXT_61); stringBuffer.append(importManager.getImportedName(genDiagram.getVisualIDRegistryQualifiedClassName())); - stringBuffer.append(TEXT_39); + stringBuffer.append(TEXT_62); stringBuffer.append(importManager.getImportedName(label.getEditPartQualifiedClassName())); - stringBuffer.append(TEXT_40); + stringBuffer.append(TEXT_63); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.core.util.ViewUtil")); - stringBuffer.append(TEXT_41); + stringBuffer.append(TEXT_64); } List genChildContainers = genNode.getCompartments(); for (int j = 0; j < genChildContainers.size(); j++) { GenCompartment genChildContainer = (GenCompartment) genChildContainers.get(j); - stringBuffer.append(TEXT_42); + stringBuffer.append(TEXT_65); stringBuffer.append(importManager.getImportedName(genDiagram.getVisualIDRegistryQualifiedClassName())); - stringBuffer.append(TEXT_43); + stringBuffer.append(TEXT_66); stringBuffer.append(importManager.getImportedName(genChildContainer.getEditPartQualifiedClassName())); - stringBuffer.append(TEXT_44); + stringBuffer.append(TEXT_67); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.core.util.ViewUtil")); - stringBuffer.append(TEXT_45); + stringBuffer.append(TEXT_68); } } else if (isLink) { @@ -257,55 +347,49 @@ for (int j = 0; j < labels.size(); j++) { GenLinkLabel label = (GenLinkLabel) labels.get(j); - stringBuffer.append(TEXT_46); + stringBuffer.append(TEXT_69); stringBuffer.append(importManager.getImportedName(genDiagram.getVisualIDRegistryQualifiedClassName())); - stringBuffer.append(TEXT_47); + stringBuffer.append(TEXT_70); stringBuffer.append(importManager.getImportedName(label.getEditPartQualifiedClassName())); - stringBuffer.append(TEXT_48); + stringBuffer.append(TEXT_71); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.core.util.ViewUtil")); - stringBuffer.append(TEXT_49); + stringBuffer.append(TEXT_72); } } - stringBuffer.append(TEXT_50); + stringBuffer.append(TEXT_73); if (isCompartmentWithOwnBounds) { - stringBuffer.append(TEXT_51); - stringBuffer.append(importManager.getImportedName("java.util.List")); - stringBuffer.append(TEXT_52); - stringBuffer.append(importManager.getImportedName("java.util.List")); - stringBuffer.append(TEXT_53); - stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); - stringBuffer.append(TEXT_54); + stringBuffer.append(TEXT_74); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.LayoutConstraint")); - stringBuffer.append(TEXT_55); + stringBuffer.append(TEXT_75); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationFactory")); - stringBuffer.append(TEXT_56); + stringBuffer.append(TEXT_76); stringBuffer.append(importManager.getImportedName("org.eclipse.jface.preference.IPreferenceStore")); - stringBuffer.append(TEXT_57); + stringBuffer.append(TEXT_77); stringBuffer.append(importManager.getImportedName("org.eclipse.jface.preference.IPreferenceStore")); - stringBuffer.append(TEXT_58); + stringBuffer.append(TEXT_78); stringBuffer.append(importManager.getImportedName("org.eclipse.swt.graphics.RGB")); - stringBuffer.append(TEXT_59); + stringBuffer.append(TEXT_79); stringBuffer.append(importManager.getImportedName("org.eclipse.jface.preference.PreferenceConverter")); - stringBuffer.append(TEXT_60); + stringBuffer.append(TEXT_80); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants")); - stringBuffer.append(TEXT_61); + stringBuffer.append(TEXT_81); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.diagram.core.util.ViewUtil")); - stringBuffer.append(TEXT_62); + stringBuffer.append(TEXT_82); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationPackage")); - stringBuffer.append(TEXT_63); + stringBuffer.append(TEXT_83); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities")); - stringBuffer.append(TEXT_64); + stringBuffer.append(TEXT_84); } if (isDiagram && genDiagram.getUnits() != null && genDiagram.getUnits().trim().length() > 0) { - stringBuffer.append(TEXT_65); + stringBuffer.append(TEXT_85); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.MeasurementUnit")); - stringBuffer.append(TEXT_66); + stringBuffer.append(TEXT_86); stringBuffer.append(importManager.getImportedName("org.eclipse.gmf.runtime.notation.MeasurementUnit")); - stringBuffer.append(TEXT_67); + stringBuffer.append(TEXT_87); stringBuffer.append(genDiagram.getUnits().toUpperCase()); - stringBuffer.append(TEXT_68); + stringBuffer.append(TEXT_88); } if (isCompartment) { @@ -314,47 +398,23 @@ String notationPackageFQN = importManager.getImportedName("org.eclipse.gmf.runtime.notation.NotationPackage"); GenCompartment genCompartment = (GenCompartment)genElement; - stringBuffer.append(TEXT_69); + stringBuffer.append(TEXT_89); stringBuffer.append(titleStyleFQN); - stringBuffer.append(TEXT_70); + stringBuffer.append(TEXT_90); stringBuffer.append(titleStyleFQN); - stringBuffer.append(TEXT_71); + stringBuffer.append(TEXT_91); stringBuffer.append(notationPackageFQN); - stringBuffer.append(TEXT_72); - -if(genCompartment.isNeedsTitle()){ - - stringBuffer.append(TEXT_73); - stringBuffer.append(titleStyleFQN); - stringBuffer.append(TEXT_74); - stringBuffer.append(notationPackageFQN); - stringBuffer.append(TEXT_75); - } else { - stringBuffer.append(TEXT_76); - } - stringBuffer.append(TEXT_77); + stringBuffer.append(TEXT_92); stringBuffer.append(drawerStyleFQN); - stringBuffer.append(TEXT_78); + stringBuffer.append(TEXT_93); stringBuffer.append(drawerStyleFQN); - stringBuffer.append(TEXT_79); + stringBuffer.append(TEXT_94); stringBuffer.append(notationPackageFQN); - stringBuffer.append(TEXT_80); - -if(genCompartment.isCanCollapse()){ - - stringBuffer.append(TEXT_81); - stringBuffer.append(drawerStyleFQN); - stringBuffer.append(TEXT_82); - stringBuffer.append(notationPackageFQN); - stringBuffer.append(TEXT_83); - } else { - stringBuffer.append(TEXT_84); - } - stringBuffer.append(TEXT_85); + stringBuffer.append(TEXT_95); } - stringBuffer.append(TEXT_86); + stringBuffer.append(TEXT_96); importManager.emitSortedImports(); - stringBuffer.append(TEXT_87); + stringBuffer.append(TEXT_97); return stringBuffer.toString(); } } Index: src/org/eclipse/gmf/codegen/gmfgen/ColorAttributes.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.codegen/src/org/eclipse/gmf/codegen/gmfgen/ColorAttributes.java,v retrieving revision 1.1 diff -u -r1.1 ColorAttributes.java --- src/org/eclipse/gmf/codegen/gmfgen/ColorAttributes.java 11 Oct 2005 12:25:35 -0000 1.1 +++ src/org/eclipse/gmf/codegen/gmfgen/ColorAttributes.java 19 Jun 2006 11:02:42 -0000 @@ -12,6 +12,10 @@ * A representation of the model object 'Color Attributes'. * * + * + * Deprecated, use StyleAttributes instead + * + * *

* The following features are supported: *