Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoratikhomirov2006-02-13 17:36:07 +0000
committeratikhomirov2006-02-13 17:36:07 +0000
commitf8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8 (patch)
treec3712afb5d03429a0b1f9a44a2694d1fb180ef5b /plugins
parent80e4035d3bf83b8a35983bc23587f49485a14d3e (diff)
downloadorg.eclipse.gmf-tooling-f8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8.tar.gz
org.eclipse.gmf-tooling-f8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8.tar.xz
org.eclipse.gmf-tooling-f8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8.zip
[mgolubev] #127252 layout support
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.gmf.codegen/src-templates/org/eclipse/gmf/codegen/templates/parts/NodeEditPartGenerator.java2
-rw-r--r--plugins/org.eclipse.gmf.codegen/templates/parts/NodeEditPart.javajet4
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/META-INF/MANIFEST.MF12
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/FigureGenerator.java30
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/GraphDefDispatcher.java59
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/CustomClassAttributesGenerator.java87
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/FigureChildrenGenerator.java24
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutDataGenerator.java77
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutGenerator.java54
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutDataGenerator.java46
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutGenerator.java34
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutDataGenerator.java120
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutGenerator.java85
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewFigureGenerator.java7
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutDataGenerator.java44
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutGenerator.java63
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/TopShapeGenerator.java94
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/attr/CustomClass.javajet36
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/children/Figure.javajet10
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/BorderLayout.javajet17
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/CustomLayout.javajet8
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/GridLayout.javajet25
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/BorderLayoutData.javajet40
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/CustomLayoutData.javajet10
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/GridLayoutData.javajet31
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Figure.javajet5
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Layout.javajet21
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/new/LayoutData.javajet16
-rw-r--r--plugins/org.eclipse.gmf.graphdef.codegen/templates/top/Shape.javajet18
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateBorderLayout_spacing_Dimension.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomClass_attributes_CustomAttribute.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomConfigurableClass_attributes_CustomAttribute.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayoutData_sizeHint_Dimension.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_margins_Dimension.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_spacing_Dimension.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_BorderLayoutData.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_CustomLayoutData.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_GridLayoutData.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_LayoutData.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_BorderLayoutData.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_CustomLayoutData.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_GridLayoutData.gifbin0 -> 223 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_BorderLayout.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayout.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayoutData.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_GridLayout.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_Layout.gifbin0 -> 225 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayout.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayoutData.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomAttribute.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomConfigurableClass.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayout.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayoutData.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayout.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayoutData.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/Layout.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/LayoutData.gifbin0 -> 131 bytes
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/plugin.properties59
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BasicFontItemProvider.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutDataItemProvider.java194
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutItemProvider.java145
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompartmentItemProvider.java2
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompoundBorderItemProvider.java4
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ConstantColorItemProvider.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomAttributeItemProvider.java215
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomBorderItemProvider.java28
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomFigureItemProvider.java65
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutDataItemProvider.java217
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutItemProvider.java196
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/DimensionItemProvider.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/FigureRefItemProvider.java91
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphEditPlugin.java1
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphItemProviderAdapterFactory.java161
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutDataItemProvider.java325
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutItemProvider.java236
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/InsetsItemProvider.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabelItemProvider.java58
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabeledContainerItemProvider.java58
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LineBorderItemProvider.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/MarginBorderItemProvider.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/RGBColorItemProvider.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ShapeItemProvider.java58
-rw-r--r--plugins/org.eclipse.gmf.graphdef/models/gmfgraph.ecore73
-rw-r--r--plugins/org.eclipse.gmf.graphdef/models/gmfgraph.genmodel47
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Alignment.java205
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayout.java53
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayoutData.java85
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomAttribute.java138
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomClass.java18
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayout.java21
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayoutData.java21
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Figure.java27
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/FigureMarker.java3
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphFactory.java63
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphPackage.java1384
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayout.java136
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayoutData.java254
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/ImplementationAware.java30
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layout.java22
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/LayoutData.java56
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layoutable.java84
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutDataImpl.java315
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutImpl.java185
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomAttributeImpl.java320
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomBorderImpl.java57
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomFigureImpl.java231
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutDataImpl.java376
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutImpl.java302
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/FigureRefImpl.java161
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphFactoryImpl.java109
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphPackageImpl.java507
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutDataImpl.java652
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutImpl.java372
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabelImpl.java188
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabeledContainerImpl.java176
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/ShapeImpl.java192
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/FigureQualifiedNameSwitch.java15
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphAdapterFactory.java180
-rw-r--r--plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphSwitch.java247
119 files changed, 9958 insertions, 560 deletions
diff --git a/plugins/org.eclipse.gmf.codegen/src-templates/org/eclipse/gmf/codegen/templates/parts/NodeEditPartGenerator.java b/plugins/org.eclipse.gmf.codegen/src-templates/org/eclipse/gmf/codegen/templates/parts/NodeEditPartGenerator.java
index 604678e93..e6a309dd2 100644
--- a/plugins/org.eclipse.gmf.codegen/src-templates/org/eclipse/gmf/codegen/templates/parts/NodeEditPartGenerator.java
+++ b/plugins/org.eclipse.gmf.codegen/src-templates/org/eclipse/gmf/codegen/templates/parts/NodeEditPartGenerator.java
@@ -63,7 +63,7 @@ public class NodeEditPartGenerator {
protected final String TEXT_44 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected NodeFigure createNodePlate() {";
protected final String TEXT_45 = NL + "\t\treturn new DefaultSizeNodeFigure(getMapMode().DPtoLP(";
protected final String TEXT_46 = "), getMapMode().DPtoLP(";
- protected final String TEXT_47 = "));" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Creates figure for this edit part." + NL + "\t * " + NL + "\t * Body of this method does not depend on settings in generation model" + NL + "\t * so you may safely remove <i>generated</i> tag and modify it." + NL + "\t * " + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected NodeFigure createNodeFigure() {" + NL + "\t\tNodeFigure figure = createNodePlate();" + NL + "\t\tfigure.setLayoutManager(new StackLayout());" + NL + "\t\tIFigure shape = createNodeShape();" + NL + "\t\tfigure.add(shape);" + NL + "\t\tshape.setLayoutManager(new StackLayout());" + NL + "\t\t" + NL + "\t\tIFigure shapeContents = new Figure();" + NL + "\t\tshape.add(shapeContents);" + NL + "\t\tshapeContents.setLayoutManager(new BorderLayout());" + NL + "\t\taddContentPane(shapeContents);" + NL + "\t\tdecorateShape(shapeContents);" + NL + "" + NL + "\t\treturn figure;" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate void decorateShape(IFigure shapeContents) {" + NL + "\t\tView view = (View) getModel();" + NL + "\t\tEAnnotation annotation = view.getEAnnotation(\"Shortcutted\"); //$NON-NLS-1$" + NL + "\t\tif (annotation == null) {" + NL + "\t\t\treturn;" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\tFigure decorationPane = new Figure();" + NL + "\t\tdecorationPane.setLayoutManager(new BorderLayout());" + NL + "\t\tshapeContents.add(decorationPane, BorderLayout.BOTTOM);" + NL + "\t\t" + NL + "\t\tImageFigureEx imageFigure = new ImageFigureEx(";
+ protected final String TEXT_47 = "));" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Creates figure for this edit part." + NL + "\t * " + NL + "\t * Body of this method does not depend on settings in generation model" + NL + "\t * so you may safely remove <i>generated</i> tag and modify it." + NL + "\t * " + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected NodeFigure createNodeFigure() {" + NL + "\t\tNodeFigure figure = createNodePlate();" + NL + "\t\tfigure.setLayoutManager(new StackLayout());" + NL + "\t\tIFigure shape = createNodeShape();" + NL + "\t\tfigure.add(shape);" + NL + "\t\tif (shape.getLayoutManager() == null){" + NL + "\t\t\tshape.setLayoutManager(new StackLayout());" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\tIFigure shapeContents = new Figure();" + NL + "\t\tshape.add(shapeContents);" + NL + "\t\tshapeContents.setLayoutManager(new BorderLayout());" + NL + "\t\taddContentPane(shapeContents);" + NL + "\t\tdecorateShape(shapeContents);" + NL + "" + NL + "\t\treturn figure;" + NL + "\t}" + NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate void decorateShape(IFigure shapeContents) {" + NL + "\t\tView view = (View) getModel();" + NL + "\t\tEAnnotation annotation = view.getEAnnotation(\"Shortcutted\"); //$NON-NLS-1$" + NL + "\t\tif (annotation == null) {" + NL + "\t\t\treturn;" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\tFigure decorationPane = new Figure();" + NL + "\t\tdecorationPane.setLayoutManager(new BorderLayout());" + NL + "\t\tshapeContents.add(decorationPane, BorderLayout.BOTTOM);" + NL + "\t\t" + NL + "\t\tImageFigureEx imageFigure = new ImageFigureEx(";
protected final String TEXT_48 = ".getInstance().getBundledImage(\"icons/shortcut.gif\"));" + NL + "\t\tdecorationPane.add(imageFigure, BorderLayout.RIGHT);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void addContentPane(IFigure shape) {" + NL + "\t\tcontentPane = new ";
protected final String TEXT_49 = "();" + NL + "\t\tshape.add(contentPane, BorderLayout.CENTER);";
protected final String TEXT_50 = NL + "\t\t";
diff --git a/plugins/org.eclipse.gmf.codegen/templates/parts/NodeEditPart.javajet b/plugins/org.eclipse.gmf.codegen/templates/parts/NodeEditPart.javajet
index 97c137ebb..5d938947f 100644
--- a/plugins/org.eclipse.gmf.codegen/templates/parts/NodeEditPart.javajet
+++ b/plugins/org.eclipse.gmf.codegen/templates/parts/NodeEditPart.javajet
@@ -163,7 +163,9 @@ if (defSizeAttrs != null) {
figure.setLayoutManager(new StackLayout());
IFigure shape = createNodeShape();
figure.add(shape);
- shape.setLayoutManager(new StackLayout());
+ if (shape.getLayoutManager() == null){
+ shape.setLayoutManager(new StackLayout());
+ }
IFigure shapeContents = new Figure();
shape.add(shapeContents);
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/META-INF/MANIFEST.MF b/plugins/org.eclipse.gmf.graphdef.codegen/META-INF/MANIFEST.MF
index 60c5f7b1b..1713ab36e 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/META-INF/MANIFEST.MF
@@ -1,13 +1,15 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
+Bundle-Name: Graphical Definition Code Generator
Bundle-SymbolicName: org.eclipse.gmf.graphdef.codegen;singleton:=true
Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %providerName
+Bundle-Vendor: Eclipse.org
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.gmf.graphdef;visibility:=reexport,
- org.eclipse.gmf.common,
org.eclipse.emf.ecore,
- org.eclipse.emf.codegen
+ org.eclipse.gmf.common,
+ org.eclipse.gmf.graphdef;visibility:=reexport,
+ org.eclipse.emf.codegen,
+ org.eclipse.draw2d
+
Export-Package: org.eclipse.gmf.graphdef.codegen
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/FigureGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/FigureGenerator.java
index 7b4d856c7..43d46202d 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/FigureGenerator.java
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/FigureGenerator.java
@@ -15,7 +15,13 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.codegen.jet.JETException;
import org.eclipse.gmf.common.codegen.ImportAssistant;
import org.eclipse.gmf.common.codegen.NullImportAssistant;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
+import org.eclipse.gmf.gmfgraph.BorderLayoutData;
+import org.eclipse.gmf.gmfgraph.CustomLayout;
+import org.eclipse.gmf.gmfgraph.CustomLayoutData;
import org.eclipse.gmf.gmfgraph.Figure;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
import org.eclipse.gmf.gmfgraph.Label;
import org.eclipse.gmf.gmfgraph.PolygonDecoration;
import org.eclipse.gmf.gmfgraph.Polyline;
@@ -25,10 +31,19 @@ import org.eclipse.gmf.gmfgraph.RoundedRectangle;
import org.eclipse.gmf.gmfgraph.Shape;
import org.eclipse.gmf.gmfgraph.util.FigureQualifiedNameSwitch;
import org.eclipse.gmf.gmfgraph.util.GMFGraphSwitch;
+import org.eclipse.gmf.graphdef.codegen.templates.CustomClassAttributesGenerator;
import org.eclipse.gmf.graphdef.codegen.templates.FigureAttrGenerator;
import org.eclipse.gmf.graphdef.codegen.templates.FigureChildrenGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.InitBorderLayoutDataGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.InitBorderLayoutGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.InitCustomLayoutDataGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.InitCustomLayoutGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.InitGridLayoutDataGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.InitGridLayoutGenerator;
import org.eclipse.gmf.graphdef.codegen.templates.LabelAttrGenerator;
import org.eclipse.gmf.graphdef.codegen.templates.NewFigureGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.NewLayoutDataGenerator;
+import org.eclipse.gmf.graphdef.codegen.templates.NewLayoutGenerator;
import org.eclipse.gmf.graphdef.codegen.templates.PolygonDecorationAttrGenerator;
import org.eclipse.gmf.graphdef.codegen.templates.PolylineAttrGenerator;
import org.eclipse.gmf.graphdef.codegen.templates.PolylineDecorationAttrGenerator;
@@ -101,7 +116,7 @@ public class FigureGenerator {
tr.put(Figure.class, "/templates/top/Figure.javajet", TopFigureGenerator.class);
return tr;
}
-
+
// XXX NOTE, the fact we use "instantiate" and "Children" strings
// helps us to postpone resolution of the next problem (one we make these twwo overridable):
// it's not possible to tell from single dispatcher.dispatch(Figure, args) what's the intention -
@@ -124,6 +139,19 @@ public class FigureGenerator {
tr.put("Shape", "/templates/attr/Shape.javajet", ShapeAttrGenerator.class);
tr.put("Figure", "/templates/attr/Figure.javajet", FigureAttrGenerator.class);
tr.put("PolylineDecoration", "/templates/attr/PolylineDecoration.javajet", PolylineDecorationAttrGenerator.class);
+
+ // Custom attributes support
+ tr.put("customAttributes", "/templates/attr/CustomConfigurableClass.javajet", CustomClassAttributesGenerator.class);
+ // Layout related dispatching chain.
+ tr.put("createLayout", "/templates/new/Layout.javajet", NewLayoutGenerator.class);
+ tr.put(GridLayout.class, "/templates/layout/GridLayout.javajet", InitGridLayoutGenerator.class);
+ tr.put(BorderLayout.class, "/templates/layout/BorderLayout.javajet", InitBorderLayoutGenerator.class);
+ tr.put(CustomLayout.class, "/templates/layout/CustomLayout.javajet", InitCustomLayoutGenerator.class);
+
+ tr.put("createLayoutData", "/templates/new/LayoutData.javajet", NewLayoutDataGenerator.class);
+ tr.put(GridLayoutData.class, "/templates/layoutData/GridLayoutData.javajet", InitGridLayoutDataGenerator.class);
+ tr.put(BorderLayoutData.class, "/templates/layoutData/BorderLayoutData.javajet", InitBorderLayoutDataGenerator.class);
+ tr.put(CustomLayoutData.class, "/templates/layoutData/CustomLayoutData.javajet", InitCustomLayoutDataGenerator.class);
return tr;
}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/GraphDefDispatcher.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/GraphDefDispatcher.java
index 045f2df90..20634d921 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/GraphDefDispatcher.java
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/GraphDefDispatcher.java
@@ -13,6 +13,8 @@ package org.eclipse.gmf.graphdef.codegen;
import org.eclipse.gmf.common.codegen.ImportAssistant;
import org.eclipse.gmf.gmfgraph.Figure;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
import org.eclipse.gmf.gmfgraph.util.GMFGraphSwitch;
import org.eclipse.gmf.internal.codegen.dispatch.DispatcherImpl;
import org.eclipse.gmf.internal.codegen.dispatch.EmitterFactory;
@@ -30,7 +32,7 @@ public class GraphDefDispatcher extends DispatcherImpl {
myImportManager = importManager;
myFqnSwitch = fqnSwitch;
}
-
+
public ImportAssistant getImportManager() {
return myImportManager;
}
@@ -38,12 +40,23 @@ public class GraphDefDispatcher extends DispatcherImpl {
public GMFGraphSwitch getFQNSwitch() {
return myFqnSwitch;
}
-
-
+
public Args create(Figure figure, String figureVarName) {
return new Args(this, figure, figureVarName);
}
+ public LayoutArgs createLayoutArgs(Args inherit, String layoutVarName) {
+ return new LayoutArgs(inherit, layoutVarName);
+ }
+
+ public LayoutArgs createLayoutArgs(Args inherit) {
+ return new LayoutArgs(inherit);
+ }
+
+ public LayoutArgs createLayoutArgs(Figure figure, String figureVarName, String layoutVarName) {
+ return new LayoutArgs(this, figure, figureVarName, layoutVarName);
+ }
+
public static class Args {
private final Figure myFigure;
private final String myFigureVarName;
@@ -55,6 +68,10 @@ public class GraphDefDispatcher extends DispatcherImpl {
myFigureVarName = figureVarName;
}
+ protected Args(Args other) {
+ this(other.getDispatcher(), other.getFigure(), other.getVariableName());
+ }
+
public Figure getFigure() {
return myFigure;
}
@@ -67,4 +84,40 @@ public class GraphDefDispatcher extends DispatcherImpl {
return myOwner;
}
}
+
+ public static class LayoutArgs extends Args {
+ private final String myLayoutVariableName;
+
+ /**
+ * @param layoutVariableName
+ * may be either name of layout manager or figure constraint,
+ * because there are no contexts requiring both of names in the
+ * same time
+ */
+ public LayoutArgs(Args inherit, String layoutVariableName) {
+ super(inherit);
+ myLayoutVariableName = layoutVariableName;
+ }
+
+ public LayoutArgs(Args args) {
+ this(args, args.getVariableName() + "Layout");
+ }
+
+ public LayoutArgs(GraphDefDispatcher owner, Figure figure, String figureVarName, String layoutVarName) {
+ super(owner, figure, figureVarName);
+ myLayoutVariableName = layoutVarName;
+ }
+
+ public Layout getLayout() {
+ return getFigure().getLayout();
+ }
+
+ public LayoutData getData() {
+ return getFigure().getLayoutData();
+ }
+
+ public String getLayoutVariableName() {
+ return myLayoutVariableName;
+ }
+ }
}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/CustomClassAttributesGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/CustomClassAttributesGenerator.java
new file mode 100644
index 000000000..69138c367
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/CustomClassAttributesGenerator.java
@@ -0,0 +1,87 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.emf.codegen.util.CodeGenUtil;
+import java.util.*;
+
+public class CustomClassAttributesGenerator
+{
+ protected static String nl;
+ public static synchronized CustomClassAttributesGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ CustomClassAttributesGenerator result = new CustomClassAttributesGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = NL + "\t\t{";
+ protected final String TEXT_2 = NL + "\t\t\t";
+ protected final String TEXT_3 = ";";
+ protected final String TEXT_4 = NL + "\t\t\t";
+ protected final String TEXT_5 = ".";
+ protected final String TEXT_6 = " = ";
+ protected final String TEXT_7 = ";\t\t";
+ protected final String TEXT_8 = NL + "\t\t\t";
+ protected final String TEXT_9 = ".set";
+ protected final String TEXT_10 = "(";
+ protected final String TEXT_11 = ");";
+ protected final String TEXT_12 = "\t";
+ protected final String TEXT_13 = NL + "\t\t}" + NL;
+ protected final String TEXT_14 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+final CustomClass instance = (CustomClass) ((Object[]) argument)[0];
+//final GraphDefDispatcher dispatcher = (GraphDefDispatcher) ((Object[]) argument)[1];
+final String varName = (String) ((Object[]) argument)[2];
+
+ stringBuffer.append(TEXT_1);
+
+int attrIndex = 0;
+for (Iterator attrs = instance.getAttributes().iterator(); attrs.hasNext(); attrIndex++){
+ CustomAttribute next = (CustomAttribute) attrs.next();
+ String varValue;
+ if (next.isMultiStatementValue()){
+ varValue = "attr" + attrIndex;
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(java.text.MessageFormat.format(next.getValue(), new Object[] {varValue}));
+ stringBuffer.append(TEXT_3);
+ } else {
+ varValue = next.getValue();
+}
+ if (next.isDirectAccess()) {
+
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(varName);
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(next.getName());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(varValue);
+ stringBuffer.append(TEXT_7);
+
+ } else {
+
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(varName);
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(CodeGenUtil.capName(next.getName()));
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(varValue);
+ stringBuffer.append(TEXT_11);
+
+ }
+
+ stringBuffer.append(TEXT_12);
+
+} //for
+
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_14);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/FigureChildrenGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/FigureChildrenGenerator.java
index 23c834123..976cf05a7 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/FigureChildrenGenerator.java
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/FigureChildrenGenerator.java
@@ -1,7 +1,7 @@
package org.eclipse.gmf.graphdef.codegen.templates;
import org.eclipse.gmf.gmfgraph.*;
-import org.eclipse.gmf.graphdef.codegen.GraphDefDispatcher;
+import org.eclipse.gmf.graphdef.codegen.*;
import java.util.*;
public class FigureChildrenGenerator
@@ -19,9 +19,10 @@ public class FigureChildrenGenerator
protected final String TEXT_1 = "";
protected final String TEXT_2 = NL + "\t\t// FIXME instantiate - FigureRef - dispatch to 'instantiate' template?" + NL + "\t\t";
protected final String TEXT_3 = NL + "\t\t";
- protected final String TEXT_4 = ".add(";
- protected final String TEXT_5 = ");";
- protected final String TEXT_6 = NL;
+ protected final String TEXT_4 = NL + "\t\t";
+ protected final String TEXT_5 = ".add(";
+ protected final String TEXT_6 = ");" + NL + "\t\t";
+ protected final String TEXT_7 = NL;
public String generate(Object argument)
{
@@ -49,14 +50,19 @@ while (!l.isEmpty()) {
if (figureMarker instanceof FigureRef) {
throw new IllegalStateException("FIXME: sorry, don't support FigureRef for a while");
}
- final String figureVarName = "fig" + (figureCount++);
+ final String figureVarName = "fig" + figureCount;
+ final String layoutDataVarName = "layData" + figureCount;
+ figureCount++;
stringBuffer.append(TEXT_2);
- stringBuffer.append(dispatcher.dispatch("instantiate", dispatcher.create((Figure) figureMarker, figureVarName)));
+ GraphDefDispatcher.Args dargs = dispatcher.create((Figure) figureMarker, figureVarName);
stringBuffer.append(TEXT_3);
- stringBuffer.append(parentFigureVarName);
+ stringBuffer.append(dispatcher.dispatch("instantiate", dargs));
stringBuffer.append(TEXT_4);
- stringBuffer.append(figureVarName);
+ stringBuffer.append(parentFigureVarName);
stringBuffer.append(TEXT_5);
+ stringBuffer.append(figureVarName);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(dispatcher.dispatch("createLayoutData", dispatcher.createLayoutArgs(dargs, layoutDataVarName)));
if (_nxt instanceof Figure && !((Figure) _nxt).getChildren().isEmpty()) {
l.addFirst(marker);
@@ -66,7 +72,7 @@ if (_nxt instanceof Figure && !((Figure) _nxt).getChildren().isEmpty()) {
} // if
} // while
- stringBuffer.append(TEXT_6);
+ stringBuffer.append(TEXT_7);
return stringBuffer.toString();
}
}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutDataGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutDataGenerator.java
new file mode 100644
index 000000000..8d4208140
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutDataGenerator.java
@@ -0,0 +1,77 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class InitBorderLayoutDataGenerator
+{
+ protected static String nl;
+ public static synchronized InitBorderLayoutDataGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ InitBorderLayoutDataGenerator result = new InitBorderLayoutDataGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t\t";
+ protected final String TEXT_3 = ".getParent().getLayoutManager().setConstraint(";
+ protected final String TEXT_4 = ", ";
+ protected final String TEXT_5 = ".";
+ protected final String TEXT_6 = ");" + NL;
+ protected final String TEXT_7 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final BorderLayoutData gmfLayoutData = (BorderLayoutData) argsBundle.getData();
+final String figureVarName = argsBundle.getVariableName();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+
+ stringBuffer.append(TEXT_1);
+
+Alignment alignment = gmfLayoutData.getAlignment();
+if (alignment == null){
+ alignment = Alignment.CENTER_LITERAL;
+}
+final String constantName;
+switch(alignment.getValue()){
+ case Alignment.CENTER:
+ case Alignment.FILL:
+ constantName = "CENTER";
+ break;
+ case Alignment.BEGINNING:
+ if (gmfLayoutData.isVertical()){
+ constantName = "TOP";
+ } else {
+ constantName = "LEFT";
+ }
+ break;
+ case Alignment.END:
+ if (gmfLayoutData.isVertical()){
+ constantName = "BOTTOM";
+ } else {
+ constantName = "RIGHT";
+ }
+ break;
+ default:
+ throw new IllegalArgumentException("Unknown Alignment: " + gmfLayoutData.getAlignment());
+}
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(figureVarName);
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(figureVarName);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(dispatcher.getImportManager().getImportedName("org.eclipse.draw2d.BorderLayout"));
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(constantName);
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(TEXT_7);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutGenerator.java
new file mode 100644
index 000000000..d0b9649a7
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitBorderLayoutGenerator.java
@@ -0,0 +1,54 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class InitBorderLayoutGenerator
+{
+ protected static String nl;
+ public static synchronized InitBorderLayoutGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ InitBorderLayoutGenerator result = new InitBorderLayoutGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t\t";
+ protected final String TEXT_3 = ".setHorizontalSpacing(";
+ protected final String TEXT_4 = ");" + NL + "\t\t";
+ protected final String TEXT_5 = ".setVerticalSpacing(";
+ protected final String TEXT_6 = ");";
+ protected final String TEXT_7 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final BorderLayout gmfLayout = (BorderLayout) argsBundle.getLayout();
+final String layouterVarName = argsBundle.getLayoutVariableName();
+
+ stringBuffer.append(TEXT_1);
+
+Dimension spacing = gmfLayout.getSpacing();
+if (spacing != null){
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(spacing.getDx());
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(spacing.getDy());
+ stringBuffer.append(TEXT_6);
+
+}
+
+ stringBuffer.append(TEXT_7);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutDataGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutDataGenerator.java
new file mode 100644
index 000000000..e2ec6256c
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutDataGenerator.java
@@ -0,0 +1,46 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class InitCustomLayoutDataGenerator
+{
+ protected static String nl;
+ public static synchronized InitCustomLayoutDataGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ InitCustomLayoutDataGenerator result = new InitCustomLayoutDataGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = " ";
+ protected final String TEXT_3 = " = new ";
+ protected final String TEXT_4 = "();";
+ protected final String TEXT_5 = NL;
+ protected final String TEXT_6 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+GraphDefDispatcher.LayoutArgs args = (GraphDefDispatcher.LayoutArgs) argument;
+final CustomLayoutData layoutData = (CustomLayoutData) args.getData();
+final GraphDefDispatcher dispatcher = args.getDispatcher();
+final String layoutImplClassName = dispatcher.getImportManager().getImportedName((String) dispatcher.getFQNSwitch().doSwitch(layoutData));
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(layoutImplClassName);
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(args.getLayoutVariableName());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(layoutImplClassName);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(dispatcher.dispatch("customAttributes", new Object[] {layoutData, dispatcher, args.getLayoutVariableName()}));
+ stringBuffer.append(TEXT_6);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutGenerator.java
new file mode 100644
index 000000000..c687f0b47
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitCustomLayoutGenerator.java
@@ -0,0 +1,34 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class InitCustomLayoutGenerator
+{
+ protected static String nl;
+ public static synchronized InitCustomLayoutGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ InitCustomLayoutGenerator result = new InitCustomLayoutGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final CustomLayout layout = (CustomLayout) argsBundle.getLayout();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(dispatcher.dispatch("customAttributes", new Object[] {layout, dispatcher, argsBundle.getLayoutVariableName()} ));
+ stringBuffer.append(TEXT_2);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutDataGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutDataGenerator.java
new file mode 100644
index 000000000..ff12032c6
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutDataGenerator.java
@@ -0,0 +1,120 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class InitGridLayoutDataGenerator
+{
+ protected static String nl;
+ public static synchronized InitGridLayoutDataGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ InitGridLayoutDataGenerator result = new InitGridLayoutDataGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "\t\t\t";
+ protected final String TEXT_2 = " ";
+ protected final String TEXT_3 = " = new ";
+ protected final String TEXT_4 = "();" + NL + "\t\t\t";
+ protected final String TEXT_5 = ".verticalAlignment = ";
+ protected final String TEXT_6 = ";" + NL + "\t\t\t";
+ protected final String TEXT_7 = ".horizontalAlignment = ";
+ protected final String TEXT_8 = ";";
+ protected final String TEXT_9 = NL + "\t\t\t";
+ protected final String TEXT_10 = ".widthHint = ";
+ protected final String TEXT_11 = ";" + NL + "\t\t\t";
+ protected final String TEXT_12 = ".heightHint = ";
+ protected final String TEXT_13 = ";";
+ protected final String TEXT_14 = NL + "\t\t\t";
+ protected final String TEXT_15 = ".horizontalIndent = ";
+ protected final String TEXT_16 = ";" + NL + "\t\t\t";
+ protected final String TEXT_17 = ".horizontalSpan = ";
+ protected final String TEXT_18 = ";" + NL + "\t\t\t";
+ protected final String TEXT_19 = ".verticalSpan = ";
+ protected final String TEXT_20 = ";" + NL + "\t\t\t";
+ protected final String TEXT_21 = ".grabExcessHorizontalSpace = ";
+ protected final String TEXT_22 = ";" + NL + "\t\t\t";
+ protected final String TEXT_23 = ".grabExcessVerticalSpace = ";
+ protected final String TEXT_24 = ";" + NL + "\t\t\t";
+ protected final String TEXT_25 = ".getParent().getLayoutManager().setConstraint(";
+ protected final String TEXT_26 = ", ";
+ protected final String TEXT_27 = ");" + NL;
+ protected final String TEXT_28 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final GridLayoutData gmfLayoutData = (GridLayoutData) argsBundle.getData();
+final String figureVarName = argsBundle.getVariableName();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+final String layoutConstraintVarName = argsBundle.getLayoutVariableName();
+
+final String layoutImplClassName = dispatcher.getImportManager().getImportedName((String) dispatcher.getFQNSwitch().doSwitch(gmfLayoutData));
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(layoutImplClassName);
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(layoutImplClassName);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(gmfLayoutData.getVerticalAlignment().getValue());
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(gmfLayoutData.getHorizontalAlignment().getValue());
+ stringBuffer.append(TEXT_8);
+
+Dimension sizeHint = gmfLayoutData.getSizeHint();
+if (sizeHint != null){
+
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_10);
+ stringBuffer.append(sizeHint.getDx());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(sizeHint.getDy());
+ stringBuffer.append(TEXT_13);
+
+}
+
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_15);
+ stringBuffer.append(gmfLayoutData.getHorizontalIndent());
+ stringBuffer.append(TEXT_16);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_17);
+ stringBuffer.append(gmfLayoutData.getHorizontalSpan());
+ stringBuffer.append(TEXT_18);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_19);
+ stringBuffer.append(gmfLayoutData.getVerticalSpan());
+ stringBuffer.append(TEXT_20);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_21);
+ stringBuffer.append(gmfLayoutData.isGrabExcessHorizontalSpace());
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_23);
+ stringBuffer.append(gmfLayoutData.isGrabExcessVerticalSpace());
+ stringBuffer.append(TEXT_24);
+ stringBuffer.append(figureVarName);
+ stringBuffer.append(TEXT_25);
+ stringBuffer.append(figureVarName);
+ stringBuffer.append(TEXT_26);
+ stringBuffer.append(layoutConstraintVarName);
+ stringBuffer.append(TEXT_27);
+ stringBuffer.append(TEXT_28);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutGenerator.java
new file mode 100644
index 000000000..552996c12
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/InitGridLayoutGenerator.java
@@ -0,0 +1,85 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class InitGridLayoutGenerator
+{
+ protected static String nl;
+ public static synchronized InitGridLayoutGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ InitGridLayoutGenerator result = new InitGridLayoutGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "\t\t";
+ protected final String TEXT_2 = ".numColumns = ";
+ protected final String TEXT_3 = ";" + NL + "\t\t";
+ protected final String TEXT_4 = ".makeColumnsEqualWidth = ";
+ protected final String TEXT_5 = ";";
+ protected final String TEXT_6 = NL + "\t\t";
+ protected final String TEXT_7 = ".marginWidth = ";
+ protected final String TEXT_8 = ";" + NL + "\t\t";
+ protected final String TEXT_9 = ".marginHeight = ";
+ protected final String TEXT_10 = ";";
+ protected final String TEXT_11 = NL + "\t\t";
+ protected final String TEXT_12 = ".horizontalSpacing = ";
+ protected final String TEXT_13 = ";" + NL + "\t\t";
+ protected final String TEXT_14 = ".verticalSpacing = ";
+ protected final String TEXT_15 = ";";
+ protected final String TEXT_16 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final GridLayout gmfLayout = (GridLayout) argsBundle.getLayout();
+final String layouterVarName = argsBundle.getLayoutVariableName();
+
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(gmfLayout.getNumColumns());
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(gmfLayout.isEqualWidth());
+ stringBuffer.append(TEXT_5);
+
+Dimension margins = gmfLayout.getMargins();
+if (margins != null){
+
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(margins.getDx());
+ stringBuffer.append(TEXT_8);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_9);
+ stringBuffer.append(margins.getDy());
+ stringBuffer.append(TEXT_10);
+
+}
+Dimension spacing = gmfLayout.getSpacing();
+if (spacing != null){
+
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(spacing.getDx());
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_14);
+ stringBuffer.append(spacing.getDy());
+ stringBuffer.append(TEXT_15);
+
+}
+
+ stringBuffer.append(TEXT_16);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewFigureGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewFigureGenerator.java
index 5d631465c..0d0d42ca7 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewFigureGenerator.java
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewFigureGenerator.java
@@ -1,7 +1,7 @@
package org.eclipse.gmf.graphdef.codegen.templates;
import org.eclipse.gmf.gmfgraph.*;
-import org.eclipse.gmf.graphdef.codegen.GraphDefDispatcher;
+import org.eclipse.gmf.graphdef.codegen.*;
public class NewFigureGenerator
{
@@ -20,6 +20,8 @@ public class NewFigureGenerator
protected final String TEXT_3 = " = new ";
protected final String TEXT_4 = "();";
protected final String TEXT_5 = NL;
+ protected final String TEXT_6 = NL;
+ protected final String TEXT_7 = NL;
public String generate(Object argument)
{
@@ -42,6 +44,9 @@ final String figureClassName = dispatcher.getImportManager().getImportedName((St
stringBuffer.append(TEXT_4);
stringBuffer.append(TEXT_5);
stringBuffer.append(args.getDispatcher().dispatch(figureInstance, args));
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(args.getDispatcher().dispatch("createLayout", dispatcher.createLayoutArgs(args)));
+ stringBuffer.append(TEXT_7);
return stringBuffer.toString();
}
}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutDataGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutDataGenerator.java
new file mode 100644
index 000000000..2abce94e3
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutDataGenerator.java
@@ -0,0 +1,44 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class NewLayoutDataGenerator
+{
+ protected static String nl;
+ public static synchronized NewLayoutDataGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ NewLayoutDataGenerator result = new NewLayoutDataGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = "\t\t\t";
+ protected final String TEXT_3 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+// NOTE: this code expects that constrainted figure is already added to its parent
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+final LayoutData gmfLayoutData = argsBundle.getData();
+final Figure figureInstance = argsBundle.getFigure();
+
+// merely makes sure layoutData present
+// and parent figure got chance to have layout initialized
+
+if (gmfLayoutData != null && figureInstance.getParent() != null && figureInstance.getParent().getLayout() != null) {
+ stringBuffer.append(TEXT_1);
+ stringBuffer.append(dispatcher.dispatch(gmfLayoutData, argsBundle));
+ stringBuffer.append(TEXT_2);
+ }
+ stringBuffer.append(TEXT_3);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutGenerator.java
new file mode 100644
index 000000000..07c371abc
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/NewLayoutGenerator.java
@@ -0,0 +1,63 @@
+package org.eclipse.gmf.graphdef.codegen.templates;
+
+import org.eclipse.gmf.gmfgraph.*;
+import org.eclipse.gmf.graphdef.codegen.*;
+
+public class NewLayoutGenerator
+{
+ protected static String nl;
+ public static synchronized NewLayoutGenerator create(String lineSeparator)
+ {
+ nl = lineSeparator;
+ NewLayoutGenerator result = new NewLayoutGenerator();
+ nl = null;
+ return result;
+ }
+
+ protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
+ protected final String TEXT_1 = "";
+ protected final String TEXT_2 = NL + "\t\t";
+ protected final String TEXT_3 = " ";
+ protected final String TEXT_4 = " = new ";
+ protected final String TEXT_5 = "();" + NL + "\t\t";
+ protected final String TEXT_6 = "\t" + NL + "\t\t";
+ protected final String TEXT_7 = ".setLayoutManager(";
+ protected final String TEXT_8 = ");";
+ protected final String TEXT_9 = NL;
+
+ public String generate(Object argument)
+ {
+ StringBuffer stringBuffer = new StringBuffer();
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final FigureMarker figureMarker = argsBundle.getFigure();
+final String figureVarName = argsBundle.getVariableName();
+final String layouterVarName = argsBundle.getLayoutVariableName();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+
+ stringBuffer.append(TEXT_1);
+
+Layout gmfLayout= figureMarker.getLayout();
+if (gmfLayout != null){
+ final String layouterImplClass = dispatcher.getImportManager().getImportedName((String) dispatcher.getFQNSwitch().doSwitch(gmfLayout));
+
+ stringBuffer.append(TEXT_2);
+ stringBuffer.append(layouterImplClass);
+ stringBuffer.append(TEXT_3);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_4);
+ stringBuffer.append(layouterImplClass);
+ stringBuffer.append(TEXT_5);
+ stringBuffer.append(argsBundle.getDispatcher().dispatch(gmfLayout, argsBundle));
+ stringBuffer.append(TEXT_6);
+ stringBuffer.append(figureVarName);
+ stringBuffer.append(TEXT_7);
+ stringBuffer.append(layouterVarName);
+ stringBuffer.append(TEXT_8);
+
+}
+
+ stringBuffer.append(TEXT_9);
+ return stringBuffer.toString();
+ }
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/TopShapeGenerator.java b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/TopShapeGenerator.java
index bacc7ee17..5bb99e24e 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/TopShapeGenerator.java
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/src/org/eclipse/gmf/graphdef/codegen/templates/TopShapeGenerator.java
@@ -3,7 +3,7 @@ package org.eclipse.gmf.graphdef.codegen.templates;
import org.eclipse.gmf.gmfgraph.*;
import org.eclipse.gmf.gmfgraph.util.*;
import org.eclipse.gmf.common.codegen.*;
-import org.eclipse.gmf.graphdef.codegen.GraphDefDispatcher;
+import org.eclipse.gmf.graphdef.codegen.*;
import java.util.*;
public class TopShapeGenerator
@@ -22,24 +22,29 @@ public class TopShapeGenerator
protected final String TEXT_2 = NL + NL + "/**" + NL + " * @generated" + NL + " */" + NL + "public class ";
protected final String TEXT_3 = " extends ";
protected final String TEXT_4 = " {" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ";
- protected final String TEXT_5 = "() {" + NL + "\t\t";
- protected final String TEXT_6 = NL + "\t\tsetFigure";
- protected final String TEXT_7 = "(createFigure";
- protected final String TEXT_8 = "());" + NL + "\t\tadd(getFigure";
- protected final String TEXT_9 = "());";
- protected final String TEXT_10 = NL + "\t}" + NL;
- protected final String TEXT_11 = NL + NL + "\tprivate IFigure f";
- protected final String TEXT_12 = "; " + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic IFigure getFigure";
- protected final String TEXT_13 = "() {" + NL + "\t\treturn f";
- protected final String TEXT_14 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void setFigure";
- protected final String TEXT_15 = "(IFigure figure) {" + NL + "\t\tf";
- protected final String TEXT_16 = " = figure;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate IFigure createFigure";
- protected final String TEXT_17 = "() {";
- protected final String TEXT_18 = NL;
- protected final String TEXT_19 = NL;
- protected final String TEXT_20 = NL + "\t\treturn rv;" + NL + "\t}" + NL;
- protected final String TEXT_21 = NL + "}";
- protected final String TEXT_22 = NL;
+ protected final String TEXT_5 = "() {";
+ protected final String TEXT_6 = "\t" + NL + "\t\t";
+ protected final String TEXT_7 = NL + "\t\t";
+ protected final String TEXT_8 = NL + "\t\t" + NL + "\t\torg.eclipse.draw2d.IFigure ";
+ protected final String TEXT_9 = " = createFigure";
+ protected final String TEXT_10 = "();" + NL + "\t\tsetFigure";
+ protected final String TEXT_11 = "(";
+ protected final String TEXT_12 = ");" + NL + "\t\tadd(";
+ protected final String TEXT_13 = ");" + NL + "\t\t";
+ protected final String TEXT_14 = "\t\t";
+ protected final String TEXT_15 = NL + "\t}" + NL;
+ protected final String TEXT_16 = NL + NL + "\tprivate IFigure f";
+ protected final String TEXT_17 = "; " + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic IFigure getFigure";
+ protected final String TEXT_18 = "() {" + NL + "\t\treturn f";
+ protected final String TEXT_19 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void setFigure";
+ protected final String TEXT_20 = "(IFigure figure) {" + NL + "\t\tf";
+ protected final String TEXT_21 = " = figure;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate IFigure createFigure";
+ protected final String TEXT_22 = "() {";
+ protected final String TEXT_23 = NL;
+ protected final String TEXT_24 = NL;
+ protected final String TEXT_25 = NL + "\t\treturn rv;" + NL + "\t}" + NL;
+ protected final String TEXT_26 = NL + "}";
+ protected final String TEXT_27 = NL;
public String generate(Object argument)
{
@@ -60,45 +65,58 @@ final GraphDefDispatcher dispatcher = (GraphDefDispatcher) args[3];
stringBuffer.append(TEXT_4);
stringBuffer.append(figure.getName());
stringBuffer.append(TEXT_5);
- stringBuffer.append(dispatcher.dispatch(figure, dispatcher.create(figure, "this")));
-for (Iterator it = figure.getResolvedChildren().iterator(); it.hasNext();) {
- Figure next = (Figure) it.next();
+GraphDefDispatcher.LayoutArgs dispatcherArgs = dispatcher.createLayoutArgs(figure, "this", "myGenLayoutManager");
+
stringBuffer.append(TEXT_6);
- stringBuffer.append(next.getName());
+ stringBuffer.append(dispatcher.dispatch("createLayout", dispatcherArgs));
stringBuffer.append(TEXT_7);
- stringBuffer.append(next.getName());
+ stringBuffer.append(dispatcher.dispatch(figure, dispatcherArgs));
+
+for (Iterator it = figure.getResolvedChildren().iterator(); it.hasNext();) {
+ Figure next = (Figure) it.next();
+ final String childVarName = "child" + next.getName();
stringBuffer.append(TEXT_8);
- stringBuffer.append(next.getName());
+ stringBuffer.append(childVarName);
stringBuffer.append(TEXT_9);
- }
+ stringBuffer.append(next.getName());
stringBuffer.append(TEXT_10);
+ stringBuffer.append(next.getName());
+ stringBuffer.append(TEXT_11);
+ stringBuffer.append(childVarName);
+ stringBuffer.append(TEXT_12);
+ stringBuffer.append(childVarName);
+ stringBuffer.append(TEXT_13);
+ stringBuffer.append(dispatcher.dispatch("createLayoutData", dispatcher.createLayoutArgs(next, childVarName, "layout" + next.getName())));
+ stringBuffer.append(TEXT_14);
+ }
+ stringBuffer.append(TEXT_15);
int fc = 0;
for (Iterator it = figure.getResolvedChildren().iterator(); it.hasNext(); fc++) {
Figure next = (Figure) it.next();
- stringBuffer.append(TEXT_11);
+ stringBuffer.append(TEXT_16);
stringBuffer.append(next.getName());
- stringBuffer.append(TEXT_12);
+ stringBuffer.append(TEXT_17);
stringBuffer.append(next.getName());
- stringBuffer.append(TEXT_13);
+ stringBuffer.append(TEXT_18);
stringBuffer.append(next.getName());
- stringBuffer.append(TEXT_14);
+ stringBuffer.append(TEXT_19);
stringBuffer.append(next.getName());
- stringBuffer.append(TEXT_15);
+ stringBuffer.append(TEXT_20);
stringBuffer.append(next.getName());
- stringBuffer.append(TEXT_16);
+ stringBuffer.append(TEXT_21);
stringBuffer.append(next.getName());
- stringBuffer.append(TEXT_17);
- stringBuffer.append(TEXT_18);
+ stringBuffer.append(TEXT_22);
+ stringBuffer.append(TEXT_23);
stringBuffer.append(dispatcher.dispatch("instantiate", dispatcher.create(next, "rv")));
- stringBuffer.append(TEXT_19);
+ stringBuffer.append(TEXT_24);
stringBuffer.append(dispatcher.dispatch("Children", new Object[] {next.getChildren(), dispatcher, "rv"}));
- stringBuffer.append(TEXT_20);
+ stringBuffer.append(TEXT_25);
}
- stringBuffer.append(TEXT_21);
+ stringBuffer.append(TEXT_26);
importManager.emitSortedImports();
- stringBuffer.append(TEXT_22);
+ stringBuffer.append(TEXT_27);
return stringBuffer.toString();
}
}
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/attr/CustomClass.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/attr/CustomClass.javajet
new file mode 100644
index 000000000..5d7424e22
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/attr/CustomClass.javajet
@@ -0,0 +1,36 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="CustomClassAttributesGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.emf.codegen.util.CodeGenUtil java.util.* "%>
+<%
+final CustomClass instance = (CustomClass) ((Object[]) argument)[0];
+//final GraphDefDispatcher dispatcher = (GraphDefDispatcher) ((Object[]) argument)[1];
+final String varName = (String) ((Object[]) argument)[2];
+%>
+
+ {
+<%
+int attrIndex = 0;
+for (Iterator attrs = instance.getAttributes().iterator(); attrs.hasNext(); attrIndex++){
+ CustomAttribute next = (CustomAttribute) attrs.next();
+ String varValue;
+ if (next.isMultiStatementValue()){
+ varValue = "attr" + attrIndex;
+%>
+ <%=java.text.MessageFormat.format(next.getValue(), new Object[] {varValue})%>;
+<% } else {
+ varValue = next.getValue();
+}
+ if (next.isDirectAccess()) {
+%>
+ <%=varName%>.<%=next.getName()%> = <%=varValue%>;
+<%
+ } else {
+%>
+ <%=varName%>.set<%=CodeGenUtil.capName(next.getName())%>(<%=varValue%>);
+<%
+ }
+%>
+<%
+} //for
+%>
+ }
+
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/children/Figure.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/children/Figure.javajet
index f2a51c57a..eb76ac6cc 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/templates/children/Figure.javajet
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/children/Figure.javajet
@@ -1,5 +1,5 @@
<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="FigureChildrenGenerator"
- imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.GraphDefDispatcher java.util.*"%>
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.* java.util.*"%>
<%
Object[] args = (Object[]) argument;
List/*<Figure>*/ figureChildren = (List) args[0];
@@ -23,10 +23,14 @@ while (!l.isEmpty()) {
if (figureMarker instanceof FigureRef) {
throw new IllegalStateException("FIXME: sorry, don't support FigureRef for a while");
}
- final String figureVarName = "fig" + (figureCount++);%>
+ final String figureVarName = "fig" + figureCount;
+ final String layoutDataVarName = "layData" + figureCount;
+ figureCount++;%>
// FIXME instantiate - FigureRef - dispatch to 'instantiate' template?
- <%=dispatcher.dispatch("instantiate", dispatcher.create((Figure) figureMarker, figureVarName))%>
+ <%GraphDefDispatcher.Args dargs = dispatcher.create((Figure) figureMarker, figureVarName);%>
+ <%=dispatcher.dispatch("instantiate", dargs)%>
<%=parentFigureVarName%>.add(<%=figureVarName%>);
+ <%=dispatcher.dispatch("createLayoutData", dispatcher.createLayoutArgs(dargs, layoutDataVarName))%>
<%
if (_nxt instanceof Figure && !((Figure) _nxt).getChildren().isEmpty()) {
l.addFirst(marker);
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/BorderLayout.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/BorderLayout.javajet
new file mode 100644
index 000000000..f86fb4889
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/BorderLayout.javajet
@@ -0,0 +1,17 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="InitBorderLayoutGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final BorderLayout gmfLayout = (BorderLayout) argsBundle.getLayout();
+final String layouterVarName = argsBundle.getLayoutVariableName();
+%>
+
+<%
+Dimension spacing = gmfLayout.getSpacing();
+if (spacing != null){
+%>
+ <%=layouterVarName%>.setHorizontalSpacing(<%=spacing.getDx()%>);
+ <%=layouterVarName%>.setVerticalSpacing(<%=spacing.getDy()%>);
+<%
+}
+%>
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/CustomLayout.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/CustomLayout.javajet
new file mode 100644
index 000000000..0345832a6
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/CustomLayout.javajet
@@ -0,0 +1,8 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="InitCustomLayoutGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final CustomLayout layout = (CustomLayout) argsBundle.getLayout();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+%>
+<%=dispatcher.dispatch("customAttributes", new Object[] {layout, dispatcher, argsBundle.getLayoutVariableName()} )%>
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/GridLayout.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/GridLayout.javajet
new file mode 100644
index 000000000..4f162a721
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layout/GridLayout.javajet
@@ -0,0 +1,25 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="InitGridLayoutGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final GridLayout gmfLayout = (GridLayout) argsBundle.getLayout();
+final String layouterVarName = argsBundle.getLayoutVariableName();
+%>
+ <%=layouterVarName%>.numColumns = <%=gmfLayout.getNumColumns()%>;
+ <%=layouterVarName%>.makeColumnsEqualWidth = <%=gmfLayout.isEqualWidth()%>;
+<%
+Dimension margins = gmfLayout.getMargins();
+if (margins != null){
+%>
+ <%=layouterVarName%>.marginWidth = <%=margins.getDx()%>;
+ <%=layouterVarName%>.marginHeight = <%=margins.getDy()%>;
+<%
+}
+Dimension spacing = gmfLayout.getSpacing();
+if (spacing != null){
+%>
+ <%=layouterVarName%>.horizontalSpacing = <%=spacing.getDx()%>;
+ <%=layouterVarName%>.verticalSpacing = <%=spacing.getDy()%>;
+<%
+}
+%>
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/BorderLayoutData.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/BorderLayoutData.javajet
new file mode 100644
index 000000000..18525aaf2
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/BorderLayoutData.javajet
@@ -0,0 +1,40 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="InitBorderLayoutDataGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final BorderLayoutData gmfLayoutData = (BorderLayoutData) argsBundle.getData();
+final String figureVarName = argsBundle.getVariableName();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+%>
+
+<%
+Alignment alignment = gmfLayoutData.getAlignment();
+if (alignment == null){
+ alignment = Alignment.CENTER_LITERAL;
+}
+final String constantName;
+switch(alignment.getValue()){
+ case Alignment.CENTER:
+ case Alignment.FILL:
+ constantName = "CENTER";
+ break;
+ case Alignment.BEGINNING:
+ if (gmfLayoutData.isVertical()){
+ constantName = "TOP";
+ } else {
+ constantName = "LEFT";
+ }
+ break;
+ case Alignment.END:
+ if (gmfLayoutData.isVertical()){
+ constantName = "BOTTOM";
+ } else {
+ constantName = "RIGHT";
+ }
+ break;
+ default:
+ throw new IllegalArgumentException("Unknown Alignment: " + gmfLayoutData.getAlignment());
+}
+%>
+ <%=figureVarName%>.getParent().getLayoutManager().setConstraint(<%=figureVarName%>, <%=dispatcher.getImportManager().getImportedName("org.eclipse.draw2d.BorderLayout")%>.<%=constantName%>);
+
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/CustomLayoutData.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/CustomLayoutData.javajet
new file mode 100644
index 000000000..4dec5729f
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/CustomLayoutData.javajet
@@ -0,0 +1,10 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="InitCustomLayoutDataGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+GraphDefDispatcher.LayoutArgs args = (GraphDefDispatcher.LayoutArgs) argument;
+final CustomLayoutData layoutData = (CustomLayoutData) args.getData();
+final GraphDefDispatcher dispatcher = args.getDispatcher();
+final String layoutImplClassName = dispatcher.getImportManager().getImportedName((String) dispatcher.getFQNSwitch().doSwitch(layoutData));
+%>
+<%=layoutImplClassName%> <%=args.getLayoutVariableName()%> = new <%=layoutImplClassName%>();
+<%=dispatcher.dispatch("customAttributes", new Object[] {layoutData, dispatcher, args.getLayoutVariableName()})%>
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/GridLayoutData.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/GridLayoutData.javajet
new file mode 100644
index 000000000..362940518
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/layoutData/GridLayoutData.javajet
@@ -0,0 +1,31 @@
+
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="InitGridLayoutDataGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final GridLayoutData gmfLayoutData = (GridLayoutData) argsBundle.getData();
+final String figureVarName = argsBundle.getVariableName();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+final String layoutConstraintVarName = argsBundle.getLayoutVariableName();
+
+final String layoutImplClassName = dispatcher.getImportManager().getImportedName((String) dispatcher.getFQNSwitch().doSwitch(gmfLayoutData));
+%>
+ <%=layoutImplClassName%> <%=layoutConstraintVarName%> = new <%=layoutImplClassName%>();
+ <%=layoutConstraintVarName%>.verticalAlignment = <%=gmfLayoutData.getVerticalAlignment().getValue()%>;
+ <%=layoutConstraintVarName%>.horizontalAlignment = <%=gmfLayoutData.getHorizontalAlignment().getValue()%>;
+<%
+Dimension sizeHint = gmfLayoutData.getSizeHint();
+if (sizeHint != null){
+%>
+ <%=layoutConstraintVarName%>.widthHint = <%=sizeHint.getDx()%>;
+ <%=layoutConstraintVarName%>.heightHint = <%=sizeHint.getDy()%>;
+<%
+}
+%>
+ <%=layoutConstraintVarName%>.horizontalIndent = <%=gmfLayoutData.getHorizontalIndent()%>;
+ <%=layoutConstraintVarName%>.horizontalSpan = <%=gmfLayoutData.getHorizontalSpan()%>;
+ <%=layoutConstraintVarName%>.verticalSpan = <%=gmfLayoutData.getVerticalSpan()%>;
+ <%=layoutConstraintVarName%>.grabExcessHorizontalSpace = <%=gmfLayoutData.isGrabExcessHorizontalSpace()%>;
+ <%=layoutConstraintVarName%>.grabExcessVerticalSpace = <%=gmfLayoutData.isGrabExcessVerticalSpace()%>;
+ <%=figureVarName%>.getParent().getLayoutManager().setConstraint(<%=figureVarName%>, <%=layoutConstraintVarName%>);
+
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Figure.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Figure.javajet
index eecabf0fd..39bff0a20 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Figure.javajet
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Figure.javajet
@@ -1,5 +1,5 @@
<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="NewFigureGenerator"
- imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.GraphDefDispatcher"%>
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
<%
GraphDefDispatcher.Args args = (GraphDefDispatcher.Args) argument;
final Figure figureInstance = args.getFigure();
@@ -10,4 +10,5 @@ final String figureClassName = dispatcher.getImportManager().getImportedName((St
// PRODUCES instance AND (!) initializes attributes
%>
<%=figureClassName%> <%=figureVarName%> = new <%=figureClassName%>();
-<%=args.getDispatcher().dispatch(figureInstance, args)%> \ No newline at end of file
+<%=args.getDispatcher().dispatch(figureInstance, args)%>
+<%=args.getDispatcher().dispatch("createLayout", dispatcher.createLayoutArgs(args))%>
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Layout.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Layout.javajet
new file mode 100644
index 000000000..ac8bd568b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/Layout.javajet
@@ -0,0 +1,21 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="NewLayoutGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final FigureMarker figureMarker = argsBundle.getFigure();
+final String figureVarName = argsBundle.getVariableName();
+final String layouterVarName = argsBundle.getLayoutVariableName();
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+%>
+
+<%
+Layout gmfLayout= figureMarker.getLayout();
+if (gmfLayout != null){
+ final String layouterImplClass = dispatcher.getImportManager().getImportedName((String) dispatcher.getFQNSwitch().doSwitch(gmfLayout));
+%>
+ <%=layouterImplClass%> <%=layouterVarName%> = new <%=layouterImplClass%>();
+ <%=argsBundle.getDispatcher().dispatch(gmfLayout, argsBundle)%>
+ <%=figureVarName%>.setLayoutManager(<%=layouterVarName%>);
+<%
+}
+%>
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/LayoutData.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/LayoutData.javajet
new file mode 100644
index 000000000..efe9f349f
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/new/LayoutData.javajet
@@ -0,0 +1,16 @@
+<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="NewLayoutDataGenerator"
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.graphdef.codegen.*"%>
+<%
+// NOTE: this code expects that constrainted figure is already added to its parent
+
+GraphDefDispatcher.LayoutArgs argsBundle = (GraphDefDispatcher.LayoutArgs) argument;
+final GraphDefDispatcher dispatcher = argsBundle.getDispatcher();
+final LayoutData gmfLayoutData = argsBundle.getData();
+final Figure figureInstance = argsBundle.getFigure();
+
+// merely makes sure layoutData present
+// and parent figure got chance to have layout initialized
+
+if (gmfLayoutData != null && figureInstance.getParent() != null && figureInstance.getParent().getLayout() != null) {%>
+<%=dispatcher.dispatch(gmfLayoutData, argsBundle)%>
+<%}%>
diff --git a/plugins/org.eclipse.gmf.graphdef.codegen/templates/top/Shape.javajet b/plugins/org.eclipse.gmf.graphdef.codegen/templates/top/Shape.javajet
index 34d9f1df9..c5854561c 100644
--- a/plugins/org.eclipse.gmf.graphdef.codegen/templates/top/Shape.javajet
+++ b/plugins/org.eclipse.gmf.graphdef.codegen/templates/top/Shape.javajet
@@ -1,5 +1,5 @@
<%@ jet package="org.eclipse.gmf.graphdef.codegen.templates" class="TopShapeGenerator"
- imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.gmfgraph.util.* org.eclipse.gmf.common.codegen.* org.eclipse.gmf.graphdef.codegen.GraphDefDispatcher java.util.*"%>
+ imports="org.eclipse.gmf.gmfgraph.* org.eclipse.gmf.gmfgraph.util.* org.eclipse.gmf.common.codegen.* org.eclipse.gmf.graphdef.codegen.* java.util.*"%>
<%
Object[] args = (Object[]) argument;
Shape figure = (Shape) args[0];
@@ -18,12 +18,20 @@ public class <%=figure.getName()%> extends <%=importManager.getImportedName((Str
* @generated
*/
public <%=figure.getName()%>() {
- <%=dispatcher.dispatch(figure, dispatcher.create(figure, "this"))%>
+<%
+GraphDefDispatcher.LayoutArgs dispatcherArgs = dispatcher.createLayoutArgs(figure, "this", "myGenLayoutManager");
+%>
+ <%=dispatcher.dispatch("createLayout", dispatcherArgs)%>
+ <%=dispatcher.dispatch(figure, dispatcherArgs)%>
<%
for (Iterator it = figure.getResolvedChildren().iterator(); it.hasNext();) {
- Figure next = (Figure) it.next();%>
- setFigure<%=next.getName()%>(createFigure<%=next.getName()%>());
- add(getFigure<%=next.getName()%>());
+ Figure next = (Figure) it.next();
+ final String childVarName = "child" + next.getName();%>
+
+ org.eclipse.draw2d.IFigure <%=childVarName%> = createFigure<%=next.getName()%>();
+ setFigure<%=next.getName()%>(<%=childVarName%>);
+ add(<%=childVarName%>);
+ <%=dispatcher.dispatch("createLayoutData", dispatcher.createLayoutArgs(next, childVarName, "layout" + next.getName()))%>
<%}%>
}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateBorderLayout_spacing_Dimension.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateBorderLayout_spacing_Dimension.gif
new file mode 100644
index 000000000..2bdaa748b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateBorderLayout_spacing_Dimension.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomClass_attributes_CustomAttribute.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomClass_attributes_CustomAttribute.gif
new file mode 100644
index 000000000..7403d3965
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomClass_attributes_CustomAttribute.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomConfigurableClass_attributes_CustomAttribute.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomConfigurableClass_attributes_CustomAttribute.gif
new file mode 100644
index 000000000..689841d9a
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomConfigurableClass_attributes_CustomAttribute.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayoutData_sizeHint_Dimension.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayoutData_sizeHint_Dimension.gif
new file mode 100644
index 000000000..6fd731e45
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayoutData_sizeHint_Dimension.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_margins_Dimension.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_margins_Dimension.gif
new file mode 100644
index 000000000..a29fe36e7
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_margins_Dimension.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_spacing_Dimension.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_spacing_Dimension.gif
new file mode 100644
index 000000000..a29fe36e7
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_spacing_Dimension.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_BorderLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_BorderLayoutData.gif
new file mode 100644
index 000000000..f5e123328
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_BorderLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_CustomLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_CustomLayoutData.gif
new file mode 100644
index 000000000..b73646120
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_CustomLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_GridLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_GridLayoutData.gif
new file mode 100644
index 000000000..f309de1ad
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_GridLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_LayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_LayoutData.gif
new file mode 100644
index 000000000..48d3c7faf
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_LayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_BorderLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_BorderLayoutData.gif
new file mode 100644
index 000000000..3f8d415eb
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_BorderLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_CustomLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_CustomLayoutData.gif
new file mode 100644
index 000000000..b73646120
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_CustomLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_GridLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_GridLayoutData.gif
new file mode 100644
index 000000000..89badf28d
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_GridLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_BorderLayout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_BorderLayout.gif
new file mode 100644
index 000000000..2c5a5dfe1
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_BorderLayout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayout.gif
new file mode 100644
index 000000000..94841a6c1
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayoutData.gif
new file mode 100644
index 000000000..6f413cd02
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_GridLayout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_GridLayout.gif
new file mode 100644
index 000000000..22ecc645b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_GridLayout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_Layout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_Layout.gif
new file mode 100644
index 000000000..b6fd64f4a
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_Layout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayout.gif
new file mode 100644
index 000000000..b53e8d0d7
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayoutData.gif
new file mode 100644
index 000000000..f85190204
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomAttribute.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomAttribute.gif
new file mode 100644
index 000000000..e0575392b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomAttribute.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomConfigurableClass.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomConfigurableClass.gif
new file mode 100644
index 000000000..d600d00ba
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomConfigurableClass.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayout.gif
new file mode 100644
index 000000000..dfe8c5145
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayoutData.gif
new file mode 100644
index 000000000..db974f3e4
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayout.gif
new file mode 100644
index 000000000..792fb4e1c
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayoutData.gif
new file mode 100644
index 000000000..f8cea0ef8
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/Layout.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/Layout.gif
new file mode 100644
index 000000000..3a2082077
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/Layout.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/LayoutData.gif b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/LayoutData.gif
new file mode 100644
index 000000000..eeff0e9e2
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/LayoutData.gif
Binary files differ
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/plugin.properties b/plugins/org.eclipse.gmf.graphdef.edit/plugin.properties
index 9a262c269..db01bebdd 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/plugin.properties
+++ b/plugins/org.eclipse.gmf.graphdef.edit/plugin.properties
@@ -224,3 +224,62 @@ _UI_ColorConstants_darkBlue_literal = darkBlue
_UI_FontStyle_NORMAL_literal = NORMAL
_UI_FontStyle_BOLD_literal = BOLD
_UI_FontStyle_ITALIC_literal = ITALIC
+_UI_LayoutData_type = Layout Data
+_UI_Layoutable_type = Layoutable
+_UI_Layout_type = Layout
+_UI_ImplementationAware_type = Implementation Aware
+_UI_LayoutData_grabExcessHorizontalSpace_feature = Grab Excess Horizontal Space
+_UI_LayoutData_grabExcessVerticalSpace_feature = Grab Excess Vertical Space
+_UI_LayoutData_verticalAlignment_feature = Vertical Alignment
+_UI_LayoutData_horizontalAlignment_feature = Horizontal Alignment
+_UI_LayoutData_verticalSpan_feature = Vertical Span
+_UI_LayoutData_horizontalSpan_feature = Horizontal Span
+_UI_LayoutData_horizontalIndent_feature = Horizontal Indent
+_UI_LayoutData_sizeHint_feature = Size Hint
+_UI_LayoutData_owner_feature = Owner
+_UI_Layoutable_data_feature = Data
+_UI_Layoutable_layout_feature = Layout
+_UI_Layout_numColumns_feature = Num Columns
+_UI_Layout_equalWidth_feature = Equal Width
+_UI_Layout_margins_feature = Margins
+_UI_Layout_spacing_feature = Spacing
+_UI_Alignment_BEGINNING_literal = BEGINNING
+_UI_Alignment_CENTER_literal = CENTER
+_UI_Alignment_END_literal = END
+_UI_Alignment_FILL_literal = FILL
+_UI_GridLayoutData_type = Grid Layout Data
+_UI_GridLayout_type = Grid Layout
+_UI_GridLayoutData_qualifiedClassName_feature = Qualified Class Name
+_UI_GridLayoutData_bundleName_feature = Bundle Name
+_UI_GridLayoutData_grabExcessHorizontalSpace_feature = Grab Excess Horizontal Space
+_UI_GridLayoutData_grabExcessVerticalSpace_feature = Grab Excess Vertical Space
+_UI_GridLayoutData_verticalAlignment_feature = Vertical Alignment
+_UI_GridLayoutData_horizontalAlignment_feature = Horizontal Alignment
+_UI_GridLayoutData_verticalSpan_feature = Vertical Span
+_UI_GridLayoutData_horizontalSpan_feature = Horizontal Span
+_UI_GridLayoutData_horizontalIndent_feature = Horizontal Indent
+_UI_GridLayoutData_sizeHint_feature = Size Hint
+_UI_GridLayout_qualifiedClassName_feature = Qualified Class Name
+_UI_GridLayout_bundleName_feature = Bundle Name
+_UI_GridLayout_numColumns_feature = Num Columns
+_UI_GridLayout_equalWidth_feature = Equal Width
+_UI_GridLayout_margins_feature = Margins
+_UI_GridLayout_spacing_feature = Spacing
+_UI_BorderLayoutData_type = Border Layout Data
+_UI_BorderLayout_type = Border Layout
+_UI_BorderLayoutData_alignment_feature = Alignment
+_UI_BorderLayoutData_isVertical_feature = Is Vertical
+_UI_BorderLayout_spacing_feature = Spacing
+_UI_BorderLayoutData_vertical_feature = Vertical
+_UI_CustomConfigurableClass_type = Custom Configurable Class
+_UI_CustomAttribute_type = Custom Attribute
+_UI_CustomConfigurableClass_attributes_feature = Attributes
+_UI_CustomAttribute_type_feature = Type
+_UI_CustomAttribute_value_feature = Value
+_UI_CustomAttribute_directAccess_feature = Direct Access
+_UI_CustomAttribute_multiStatementValue_feature = Multi Statement Value
+_UI_CustomAttribute_name_feature = Name
+_UI_CustomLayoutData_type = Custom Layout Data
+_UI_CustomLayout_type = Custom Layout
+_UI_CustomClass_attributes_feature = Attributes
+_UI_Layoutable_layoutData_feature = Layout Data
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BasicFontItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BasicFontItemProvider.java
index bdc372074..707997e1b 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BasicFontItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BasicFontItemProvider.java
@@ -12,9 +12,7 @@ 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;
@@ -24,7 +22,6 @@ 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.gmfgraph.BasicFont;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutDataItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutDataItemProvider.java
new file mode 100644
index 000000000..880e779e7
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutDataItemProvider.java
@@ -0,0 +1,194 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.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.gmfgraph.Alignment;
+import org.eclipse.gmf.gmfgraph.BorderLayoutData;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.gmf.gmfgraph.BorderLayoutData} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BorderLayoutDataItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BorderLayoutDataItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnerPropertyDescriptor(object);
+ addAlignmentPropertyDescriptor(object);
+ addVerticalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owner feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LayoutData_owner_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LayoutData_owner_feature", "_UI_LayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutData_Owner(),
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Alignment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addAlignmentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BorderLayoutData_alignment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_BorderLayoutData_alignment_feature", "_UI_BorderLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getBorderLayoutData_Alignment(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Vertical feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVerticalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BorderLayoutData_vertical_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_BorderLayoutData_vertical_feature", "_UI_BorderLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getBorderLayoutData_Vertical(),
+ true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns BorderLayoutData.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/BorderLayoutData");
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ Alignment labelValue = ((BorderLayoutData)object).getAlignment();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ?
+ getString("_UI_BorderLayoutData_type") :
+ getString("_UI_BorderLayoutData_type") + " " + label;
+ }
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(BorderLayoutData.class)) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__ALIGNMENT:
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__VERTICAL:
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return GMFGraphEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutItemProvider.java
new file mode 100644
index 000000000..967b7ae8c
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/BorderLayoutItemProvider.java
@@ -0,0 +1,145 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.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.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.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
+import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.gmf.gmfgraph.BorderLayout} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BorderLayoutItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BorderLayoutItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getBorderLayout_Spacing());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns BorderLayout.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/BorderLayout");
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ return getString("_UI_BorderLayout_type");
+ }
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(BorderLayout.class)) {
+ case GMFGraphPackage.BORDER_LAYOUT__SPACING:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getBorderLayout_Spacing(),
+ GMFGraphFactory.eINSTANCE.createDimension()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return GMFGraphEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompartmentItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompartmentItemProvider.java
index 12d69862b..4de5c7209 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompartmentItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompartmentItemProvider.java
@@ -21,9 +21,7 @@ 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.ViewerNotification;
-
import org.eclipse.gmf.gmfgraph.Compartment;
-
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
/**
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompoundBorderItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompoundBorderItemProvider.java
index b8d2647f1..dad77934f 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompoundBorderItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CompoundBorderItemProvider.java
@@ -12,11 +12,8 @@ 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.ecore.EStructuralFeature;
-
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
@@ -24,7 +21,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-
import org.eclipse.gmf.gmfgraph.CompoundBorder;
import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ConstantColorItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ConstantColorItemProvider.java
index 133ef52a5..d51fb758e 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ConstantColorItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ConstantColorItemProvider.java
@@ -12,9 +12,7 @@ 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;
@@ -24,7 +22,6 @@ 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.gmfgraph.ColorConstants;
import org.eclipse.gmf.gmfgraph.ConstantColor;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomAttributeItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomAttributeItemProvider.java
new file mode 100644
index 000000000..fa66edb43
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomAttributeItemProvider.java
@@ -0,0 +1,215 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.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.gmfgraph.CustomAttribute;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.gmf.gmfgraph.CustomAttribute} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CustomAttributeItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomAttributeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ addDirectAccessPropertyDescriptor(object);
+ addMultiStatementValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomAttribute_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomAttribute_name_feature", "_UI_CustomAttribute_type"),
+ GMFGraphPackage.eINSTANCE.getCustomAttribute_Name(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomAttribute_value_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomAttribute_value_feature", "_UI_CustomAttribute_type"),
+ GMFGraphPackage.eINSTANCE.getCustomAttribute_Value(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Direct Access feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDirectAccessPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomAttribute_directAccess_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomAttribute_directAccess_feature", "_UI_CustomAttribute_type"),
+ GMFGraphPackage.eINSTANCE.getCustomAttribute_DirectAccess(),
+ true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Multi Statement Value feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMultiStatementValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomAttribute_multiStatementValue_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomAttribute_multiStatementValue_feature", "_UI_CustomAttribute_type"),
+ GMFGraphPackage.eINSTANCE.getCustomAttribute_MultiStatementValue(),
+ true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns CustomAttribute.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CustomAttribute");
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CustomAttribute)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_CustomAttribute_type") :
+ getString("_UI_CustomAttribute_type") + " " + label;
+ }
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CustomAttribute.class)) {
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__NAME:
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__VALUE:
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__DIRECT_ACCESS:
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE:
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return GMFGraphEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomBorderItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomBorderItemProvider.java
index c94e6ab18..3d90eb127 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomBorderItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomBorderItemProvider.java
@@ -12,9 +12,7 @@ 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;
@@ -24,8 +22,8 @@ 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.gmfgraph.CustomBorder;
+import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
/**
@@ -109,6 +107,22 @@ public class CustomBorderItemProvider
}
/**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getCustomClass_Attributes());
+ }
+ return childrenFeatures;
+ }
+
+ /**
* This returns CustomBorder.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -146,6 +160,9 @@ public class CustomBorderItemProvider
case GMFGraphPackage.CUSTOM_BORDER__BUNDLE_NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
}
super.notifyChanged(notification);
}
@@ -159,6 +176,11 @@ public class CustomBorderItemProvider
*/
protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getCustomClass_Attributes(),
+ GMFGraphFactory.eINSTANCE.createCustomAttribute()));
}
/**
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomFigureItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomFigureItemProvider.java
index 6d84448d2..c01c4f182 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomFigureItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomFigureItemProvider.java
@@ -61,8 +61,8 @@ public class CustomFigureItemProvider
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
+ addLayoutPropertyDescriptor(object);
addNamePropertyDescriptor(object);
- addLayoutManagerPropertyDescriptor(object);
addQualifiedClassNamePropertyDescriptor(object);
addBundleNamePropertyDescriptor(object);
}
@@ -70,39 +70,39 @@ public class CustomFigureItemProvider
}
/**
- * This adds a property descriptor for the Name feature.
+ * This adds a property descriptor for the Layout feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addNamePropertyDescriptor(Object object) {
+ protected void addLayoutPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Identity_name_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
- GMFGraphPackage.eINSTANCE.getIdentity_Name(),
+ getString("_UI_Layoutable_layout_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layoutable_layout_feature", "_UI_Layoutable_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
true,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
null,
null));
}
/**
- * This adds a property descriptor for the Layout Manager feature.
+ * This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addLayoutManagerPropertyDescriptor(Object object) {
+ protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Figure_layoutManager_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Figure_layoutManager_feature", "_UI_Figure_type"),
- GMFGraphPackage.eINSTANCE.getFigure_LayoutManager(),
+ getString("_UI_Identity_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
+ GMFGraphPackage.eINSTANCE.getIdentity_Name(),
true,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
@@ -160,6 +160,8 @@ public class CustomFigureItemProvider
public Collection getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData());
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_Layout());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_Children());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_ForegroundColor());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_BackgroundColor());
@@ -171,6 +173,7 @@ public class CustomFigureItemProvider
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_Border());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_Location());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_Size());
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getCustomClass_Attributes());
}
return childrenFeatures;
}
@@ -222,11 +225,11 @@ public class CustomFigureItemProvider
switch (notification.getFeatureID(CustomFigure.class)) {
case GMFGraphPackage.CUSTOM_FIGURE__NAME:
- case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_MANAGER:
case GMFGraphPackage.CUSTOM_FIGURE__QUALIFIED_CLASS_NAME:
case GMFGraphPackage.CUSTOM_FIGURE__BUNDLE_NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA:
case GMFGraphPackage.CUSTOM_FIGURE__CHILDREN:
case GMFGraphPackage.CUSTOM_FIGURE__FOREGROUND_COLOR:
case GMFGraphPackage.CUSTOM_FIGURE__BACKGROUND_COLOR:
@@ -238,6 +241,7 @@ public class CustomFigureItemProvider
case GMFGraphPackage.CUSTOM_FIGURE__BORDER:
case GMFGraphPackage.CUSTOM_FIGURE__LOCATION:
case GMFGraphPackage.CUSTOM_FIGURE__SIZE:
+ case GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -256,6 +260,36 @@ public class CustomFigureItemProvider
newChildDescriptors.add
(createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createCustomLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createGridLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createBorderLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createCustomLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createGridLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createBorderLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
(GMFGraphPackage.eINSTANCE.getFigure_Children(),
GMFGraphFactory.eINSTANCE.createFigureRef()));
@@ -393,6 +427,11 @@ public class CustomFigureItemProvider
(createChildParameter
(GMFGraphPackage.eINSTANCE.getFigure_Size(),
GMFGraphFactory.eINSTANCE.createPoint()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getCustomClass_Attributes(),
+ GMFGraphFactory.eINSTANCE.createCustomAttribute()));
}
/**
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutDataItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutDataItemProvider.java
new file mode 100644
index 000000000..5326a1705
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutDataItemProvider.java
@@ -0,0 +1,217 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.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.gmfgraph.CustomLayoutData;
+import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.gmf.gmfgraph.CustomLayoutData} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CustomLayoutDataItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomLayoutDataItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnerPropertyDescriptor(object);
+ addQualifiedClassNamePropertyDescriptor(object);
+ addBundleNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owner feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LayoutData_owner_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LayoutData_owner_feature", "_UI_LayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutData_Owner(),
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Qualified Class Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQualifiedClassNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomClass_qualifiedClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomClass_qualifiedClassName_feature", "_UI_CustomClass_type"),
+ GMFGraphPackage.eINSTANCE.getCustomClass_QualifiedClassName(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Bundle Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBundleNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomClass_bundleName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomClass_bundleName_feature", "_UI_CustomClass_type"),
+ GMFGraphPackage.eINSTANCE.getCustomClass_BundleName(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getCustomClass_Attributes());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns CustomLayoutData.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CustomLayoutData");
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CustomLayoutData)object).getQualifiedClassName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_CustomLayoutData_type") :
+ getString("_UI_CustomLayoutData_type") + " " + label;
+ }
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CustomLayoutData.class)) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME:
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getCustomClass_Attributes(),
+ GMFGraphFactory.eINSTANCE.createCustomAttribute()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return GMFGraphEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutItemProvider.java
new file mode 100644
index 000000000..8785fe37c
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/CustomLayoutItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.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.gmfgraph.CustomLayout;
+import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.gmf.gmfgraph.CustomLayout} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CustomLayoutItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomLayoutItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addQualifiedClassNamePropertyDescriptor(object);
+ addBundleNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Qualified Class Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQualifiedClassNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomClass_qualifiedClassName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomClass_qualifiedClassName_feature", "_UI_CustomClass_type"),
+ GMFGraphPackage.eINSTANCE.getCustomClass_QualifiedClassName(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Bundle Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBundleNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_CustomClass_bundleName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CustomClass_bundleName_feature", "_UI_CustomClass_type"),
+ GMFGraphPackage.eINSTANCE.getCustomClass_BundleName(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getCustomClass_Attributes());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns CustomLayout.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/CustomLayout");
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ String label = ((CustomLayout)object).getQualifiedClassName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_CustomLayout_type") :
+ getString("_UI_CustomLayout_type") + " " + label;
+ }
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CustomLayout.class)) {
+ case GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME:
+ case GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getCustomClass_Attributes(),
+ GMFGraphFactory.eINSTANCE.createCustomAttribute()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return GMFGraphEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/DimensionItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/DimensionItemProvider.java
index a36a35c58..7016ab3a1 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/DimensionItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/DimensionItemProvider.java
@@ -12,9 +12,7 @@ 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;
@@ -24,7 +22,6 @@ 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.gmfgraph.Dimension;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/FigureRefItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/FigureRefItemProvider.java
index f2c3fa248..8e7244455 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/FigureRefItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/FigureRefItemProvider.java
@@ -13,6 +13,7 @@ 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.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -20,6 +21,10 @@ 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.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.gmf.gmfgraph.FigureRef;
+import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
/**
@@ -56,12 +61,33 @@ public class FigureRefItemProvider
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
+ addLayoutPropertyDescriptor(object);
addFigurePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
+ * This adds a property descriptor for the Layout feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLayoutPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Layoutable_layout_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layoutable_layout_feature", "_UI_Layoutable_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
* This adds a property descriptor for the Figure feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -82,6 +108,35 @@ public class FigureRefItemProvider
}
/**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData());
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_Layout());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
* This returns FigureRef.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -110,6 +165,12 @@ public class FigureRefItemProvider
*/
public void notifyChanged(Notification notification) {
updateChildren(notification);
+
+ switch (notification.getFeatureID(FigureRef.class)) {
+ case GMFGraphPackage.FIGURE_REF__LAYOUT_DATA:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
super.notifyChanged(notification);
}
@@ -122,6 +183,36 @@ public class FigureRefItemProvider
*/
protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createCustomLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createGridLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createBorderLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createCustomLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createGridLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createBorderLayout()));
}
/**
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphEditPlugin.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphEditPlugin.java
index 8357a0292..2b26c0115 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphEditPlugin.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphEditPlugin.java
@@ -8,7 +8,6 @@ package org.eclipse.gmf.gmfgraph.provider;
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.ui.EclipseUIPlugin;
-
import org.eclipse.emf.common.util.ResourceLocator;
/**
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphItemProviderAdapterFactory.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphItemProviderAdapterFactory.java
index 08c086d1d..eec372230 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphItemProviderAdapterFactory.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GMFGraphItemProviderAdapterFactory.java
@@ -778,6 +778,160 @@ public class GMFGraphItemProviderAdapterFactory extends GMFGraphAdapterFactory i
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.gmf.gmfgraph.CustomLayoutData} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CustomLayoutDataItemProvider customLayoutDataItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.gmf.gmfgraph.CustomLayoutData}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCustomLayoutDataAdapter() {
+ if (customLayoutDataItemProvider == null) {
+ customLayoutDataItemProvider = new CustomLayoutDataItemProvider(this);
+ }
+
+ return customLayoutDataItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.gmf.gmfgraph.GridLayoutData} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GridLayoutDataItemProvider gridLayoutDataItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.gmf.gmfgraph.GridLayoutData}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createGridLayoutDataAdapter() {
+ if (gridLayoutDataItemProvider == null) {
+ gridLayoutDataItemProvider = new GridLayoutDataItemProvider(this);
+ }
+
+ return gridLayoutDataItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.gmf.gmfgraph.BorderLayoutData} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BorderLayoutDataItemProvider borderLayoutDataItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.gmf.gmfgraph.BorderLayoutData}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createBorderLayoutDataAdapter() {
+ if (borderLayoutDataItemProvider == null) {
+ borderLayoutDataItemProvider = new BorderLayoutDataItemProvider(this);
+ }
+
+ return borderLayoutDataItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.gmf.gmfgraph.CustomLayout} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CustomLayoutItemProvider customLayoutItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.gmf.gmfgraph.CustomLayout}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCustomLayoutAdapter() {
+ if (customLayoutItemProvider == null) {
+ customLayoutItemProvider = new CustomLayoutItemProvider(this);
+ }
+
+ return customLayoutItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.gmf.gmfgraph.GridLayout} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GridLayoutItemProvider gridLayoutItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.gmf.gmfgraph.GridLayout}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createGridLayoutAdapter() {
+ if (gridLayoutItemProvider == null) {
+ gridLayoutItemProvider = new GridLayoutItemProvider(this);
+ }
+
+ return gridLayoutItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.gmf.gmfgraph.BorderLayout} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BorderLayoutItemProvider borderLayoutItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.gmf.gmfgraph.BorderLayout}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createBorderLayoutAdapter() {
+ if (borderLayoutItemProvider == null) {
+ borderLayoutItemProvider = new BorderLayoutItemProvider(this);
+ }
+
+ return borderLayoutItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.gmf.gmfgraph.CustomAttribute} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CustomAttributeItemProvider customAttributeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.gmf.gmfgraph.CustomAttribute}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Adapter createCustomAttributeAdapter() {
+ if (customAttributeItemProvider == null) {
+ customAttributeItemProvider = new CustomAttributeItemProvider(this);
+ }
+
+ return customAttributeItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -905,6 +1059,13 @@ public class GMFGraphItemProviderAdapterFactory extends GMFGraphAdapterFactory i
if (marginBorderItemProvider != null) marginBorderItemProvider.dispose();
if (compoundBorderItemProvider != null) compoundBorderItemProvider.dispose();
if (customBorderItemProvider != null) customBorderItemProvider.dispose();
+ if (customLayoutDataItemProvider != null) customLayoutDataItemProvider.dispose();
+ if (gridLayoutDataItemProvider != null) gridLayoutDataItemProvider.dispose();
+ if (borderLayoutDataItemProvider != null) borderLayoutDataItemProvider.dispose();
+ if (customLayoutItemProvider != null) customLayoutItemProvider.dispose();
+ if (gridLayoutItemProvider != null) gridLayoutItemProvider.dispose();
+ if (borderLayoutItemProvider != null) borderLayoutItemProvider.dispose();
+ if (customAttributeItemProvider != null) customAttributeItemProvider.dispose();
}
}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutDataItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutDataItemProvider.java
new file mode 100644
index 000000000..ac94d3d59
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutDataItemProvider.java
@@ -0,0 +1,325 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.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.gmfgraph.GMFGraphFactory;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.gmf.gmfgraph.GridLayoutData} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GridLayoutDataItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GridLayoutDataItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOwnerPropertyDescriptor(object);
+ addGrabExcessHorizontalSpacePropertyDescriptor(object);
+ addGrabExcessVerticalSpacePropertyDescriptor(object);
+ addVerticalAlignmentPropertyDescriptor(object);
+ addHorizontalAlignmentPropertyDescriptor(object);
+ addVerticalSpanPropertyDescriptor(object);
+ addHorizontalSpanPropertyDescriptor(object);
+ addHorizontalIndentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Owner feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOwnerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LayoutData_owner_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_LayoutData_owner_feature", "_UI_LayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutData_Owner(),
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Grab Excess Horizontal Space feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGrabExcessHorizontalSpacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayoutData_grabExcessHorizontalSpace_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayoutData_grabExcessHorizontalSpace_feature", "_UI_GridLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayoutData_GrabExcessHorizontalSpace(),
+ true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Grab Excess Vertical Space feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addGrabExcessVerticalSpacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayoutData_grabExcessVerticalSpace_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayoutData_grabExcessVerticalSpace_feature", "_UI_GridLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayoutData_GrabExcessVerticalSpace(),
+ true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Vertical Alignment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVerticalAlignmentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayoutData_verticalAlignment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayoutData_verticalAlignment_feature", "_UI_GridLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayoutData_VerticalAlignment(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Horizontal Alignment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addHorizontalAlignmentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayoutData_horizontalAlignment_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayoutData_horizontalAlignment_feature", "_UI_GridLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayoutData_HorizontalAlignment(),
+ true,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Vertical Span feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVerticalSpanPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayoutData_verticalSpan_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayoutData_verticalSpan_feature", "_UI_GridLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayoutData_VerticalSpan(),
+ true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Horizontal Span feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addHorizontalSpanPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayoutData_horizontalSpan_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayoutData_horizontalSpan_feature", "_UI_GridLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayoutData_HorizontalSpan(),
+ true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Horizontal Indent feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addHorizontalIndentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayoutData_horizontalIndent_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayoutData_horizontalIndent_feature", "_UI_GridLayoutData_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayoutData_HorizontalIndent(),
+ true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getGridLayoutData_SizeHint());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * This returns GridLayoutData.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/GridLayoutData");
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ GridLayoutData gridLayoutData = (GridLayoutData)object;
+ return getString("_UI_GridLayoutData_type") + " " + gridLayoutData.isGrabExcessHorizontalSpace();
+ }
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(GridLayoutData.class)) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE:
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE:
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT:
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT:
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_SPAN:
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_SPAN:
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_INDENT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getGridLayoutData_SizeHint(),
+ GMFGraphFactory.eINSTANCE.createDimension()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return GMFGraphEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutItemProvider.java
new file mode 100644
index 000000000..717e53dd2
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/GridLayoutItemProvider.java
@@ -0,0 +1,236 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.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.ecore.EStructuralFeature;
+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.gmfgraph.GMFGraphFactory;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.gmf.gmfgraph.GridLayout} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GridLayoutItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GridLayoutItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNumColumnsPropertyDescriptor(object);
+ addEqualWidthPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Num Columns feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNumColumnsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayout_numColumns_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayout_numColumns_feature", "_UI_GridLayout_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayout_NumColumns(),
+ true,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Equal Width feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEqualWidthPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_GridLayout_equalWidth_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_GridLayout_equalWidth_feature", "_UI_GridLayout_type"),
+ GMFGraphPackage.eINSTANCE.getGridLayout_EqualWidth(),
+ true,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collection getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getGridLayout_Margins());
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getGridLayout_Spacing());
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns GridLayout.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getImage(Object object) {
+ return getResourceLocator().getImage("full/obj16/GridLayout");
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText(Object object) {
+ GridLayout gridLayout = (GridLayout)object;
+ return getString("_UI_GridLayout_type") + " " + gridLayout.getNumColumns();
+ }
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(GridLayout.class)) {
+ case GMFGraphPackage.GRID_LAYOUT__NUM_COLUMNS:
+ case GMFGraphPackage.GRID_LAYOUT__EQUAL_WIDTH:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case GMFGraphPackage.GRID_LAYOUT__MARGINS:
+ case GMFGraphPackage.GRID_LAYOUT__SPACING:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getGridLayout_Margins(),
+ GMFGraphFactory.eINSTANCE.createDimension()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getGridLayout_Spacing(),
+ GMFGraphFactory.eINSTANCE.createDimension()));
+ }
+
+ /**
+ * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify =
+ childFeature == GMFGraphPackage.eINSTANCE.getGridLayout_Margins() ||
+ childFeature == GMFGraphPackage.eINSTANCE.getGridLayout_Spacing();
+
+ if (qualify) {
+ return getString
+ ("_UI_CreateChild_text2",
+ new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceLocator getResourceLocator() {
+ return GMFGraphEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/InsetsItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/InsetsItemProvider.java
index a6a4934b4..10d520da0 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/InsetsItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/InsetsItemProvider.java
@@ -12,9 +12,7 @@ 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;
@@ -24,7 +22,6 @@ 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.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.Insets;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabelItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabelItemProvider.java
index 0a96e6d58..1ede7b210 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabelItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabelItemProvider.java
@@ -61,47 +61,47 @@ public class LabelItemProvider
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
+ addLayoutPropertyDescriptor(object);
addNamePropertyDescriptor(object);
- addLayoutManagerPropertyDescriptor(object);
addTextPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
- * This adds a property descriptor for the Name feature.
+ * This adds a property descriptor for the Layout feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addNamePropertyDescriptor(Object object) {
+ protected void addLayoutPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Identity_name_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
- GMFGraphPackage.eINSTANCE.getIdentity_Name(),
+ getString("_UI_Layoutable_layout_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layoutable_layout_feature", "_UI_Layoutable_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
true,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
null,
null));
}
/**
- * This adds a property descriptor for the Layout Manager feature.
+ * This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addLayoutManagerPropertyDescriptor(Object object) {
+ protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Figure_layoutManager_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Figure_layoutManager_feature", "_UI_Figure_type"),
- GMFGraphPackage.eINSTANCE.getFigure_LayoutManager(),
+ getString("_UI_Identity_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
+ GMFGraphPackage.eINSTANCE.getIdentity_Name(),
true,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
@@ -139,6 +139,8 @@ public class LabelItemProvider
public Collection getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData());
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_Layout());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_Children());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_ForegroundColor());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_BackgroundColor());
@@ -201,10 +203,10 @@ public class LabelItemProvider
switch (notification.getFeatureID(Label.class)) {
case GMFGraphPackage.LABEL__NAME:
- case GMFGraphPackage.LABEL__LAYOUT_MANAGER:
case GMFGraphPackage.LABEL__TEXT:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case GMFGraphPackage.LABEL__LAYOUT_DATA:
case GMFGraphPackage.LABEL__CHILDREN:
case GMFGraphPackage.LABEL__FOREGROUND_COLOR:
case GMFGraphPackage.LABEL__BACKGROUND_COLOR:
@@ -234,6 +236,36 @@ public class LabelItemProvider
newChildDescriptors.add
(createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createCustomLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createGridLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createBorderLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createCustomLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createGridLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createBorderLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
(GMFGraphPackage.eINSTANCE.getFigure_Children(),
GMFGraphFactory.eINSTANCE.createFigureRef()));
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabeledContainerItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabeledContainerItemProvider.java
index bf0a358c8..04e6bf03a 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabeledContainerItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LabeledContainerItemProvider.java
@@ -61,46 +61,46 @@ public class LabeledContainerItemProvider
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
+ addLayoutPropertyDescriptor(object);
addNamePropertyDescriptor(object);
- addLayoutManagerPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
- * This adds a property descriptor for the Name feature.
+ * This adds a property descriptor for the Layout feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addNamePropertyDescriptor(Object object) {
+ protected void addLayoutPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Identity_name_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
- GMFGraphPackage.eINSTANCE.getIdentity_Name(),
+ getString("_UI_Layoutable_layout_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layoutable_layout_feature", "_UI_Layoutable_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
true,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
null,
null));
}
/**
- * This adds a property descriptor for the Layout Manager feature.
+ * This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addLayoutManagerPropertyDescriptor(Object object) {
+ protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Figure_layoutManager_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Figure_layoutManager_feature", "_UI_Figure_type"),
- GMFGraphPackage.eINSTANCE.getFigure_LayoutManager(),
+ getString("_UI_Identity_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
+ GMFGraphPackage.eINSTANCE.getIdentity_Name(),
true,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
@@ -118,6 +118,8 @@ public class LabeledContainerItemProvider
public Collection getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData());
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_Layout());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_Children());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_ForegroundColor());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_BackgroundColor());
@@ -180,9 +182,9 @@ public class LabeledContainerItemProvider
switch (notification.getFeatureID(LabeledContainer.class)) {
case GMFGraphPackage.LABELED_CONTAINER__NAME:
- case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_MANAGER:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA:
case GMFGraphPackage.LABELED_CONTAINER__CHILDREN:
case GMFGraphPackage.LABELED_CONTAINER__FOREGROUND_COLOR:
case GMFGraphPackage.LABELED_CONTAINER__BACKGROUND_COLOR:
@@ -212,6 +214,36 @@ public class LabeledContainerItemProvider
newChildDescriptors.add
(createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createCustomLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createGridLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createBorderLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createCustomLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createGridLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createBorderLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
(GMFGraphPackage.eINSTANCE.getFigure_Children(),
GMFGraphFactory.eINSTANCE.createFigureRef()));
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LineBorderItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LineBorderItemProvider.java
index 7cf5f6d93..a04d7c4f3 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LineBorderItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/LineBorderItemProvider.java
@@ -12,9 +12,7 @@ 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;
@@ -24,7 +22,6 @@ 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.gmfgraph.GMFGraphFactory;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.LineBorder;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/MarginBorderItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/MarginBorderItemProvider.java
index 653d8d192..f2c063536 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/MarginBorderItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/MarginBorderItemProvider.java
@@ -12,9 +12,7 @@ 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.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
@@ -22,7 +20,6 @@ import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-
import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.MarginBorder;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/RGBColorItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/RGBColorItemProvider.java
index 12166c906..ccc6024cc 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/RGBColorItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/RGBColorItemProvider.java
@@ -12,9 +12,7 @@ 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;
@@ -24,7 +22,6 @@ 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.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.RGBColor;
diff --git a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ShapeItemProvider.java b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ShapeItemProvider.java
index e308c9868..f563ee146 100644
--- a/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ShapeItemProvider.java
+++ b/plugins/org.eclipse.gmf.graphdef.edit/src/org/eclipse/gmf/gmfgraph/provider/ShapeItemProvider.java
@@ -61,8 +61,8 @@ public class ShapeItemProvider
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
+ addLayoutPropertyDescriptor(object);
addNamePropertyDescriptor(object);
- addLayoutManagerPropertyDescriptor(object);
addOutlinePropertyDescriptor(object);
addFillPropertyDescriptor(object);
addLineWidthPropertyDescriptor(object);
@@ -75,39 +75,39 @@ public class ShapeItemProvider
}
/**
- * This adds a property descriptor for the Name feature.
+ * This adds a property descriptor for the Layout feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addNamePropertyDescriptor(Object object) {
+ protected void addLayoutPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Identity_name_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
- GMFGraphPackage.eINSTANCE.getIdentity_Name(),
+ getString("_UI_Layoutable_layout_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Layoutable_layout_feature", "_UI_Layoutable_type"),
+ GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
true,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
null,
null));
}
/**
- * This adds a property descriptor for the Layout Manager feature.
+ * This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected void addLayoutManagerPropertyDescriptor(Object object) {
+ protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_Figure_layoutManager_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_Figure_layoutManager_feature", "_UI_Figure_type"),
- GMFGraphPackage.eINSTANCE.getFigure_LayoutManager(),
+ getString("_UI_Identity_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_Identity_name_feature", "_UI_Identity_type"),
+ GMFGraphPackage.eINSTANCE.getIdentity_Name(),
true,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
@@ -265,6 +265,8 @@ public class ShapeItemProvider
public Collection getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData());
+ childrenFeatures.add(GMFGraphPackage.eINSTANCE.getLayoutable_Layout());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_Children());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_ForegroundColor());
childrenFeatures.add(GMFGraphPackage.eINSTANCE.getFigure_BackgroundColor());
@@ -317,7 +319,6 @@ public class ShapeItemProvider
switch (notification.getFeatureID(Shape.class)) {
case GMFGraphPackage.SHAPE__NAME:
- case GMFGraphPackage.SHAPE__LAYOUT_MANAGER:
case GMFGraphPackage.SHAPE__OUTLINE:
case GMFGraphPackage.SHAPE__FILL:
case GMFGraphPackage.SHAPE__LINE_WIDTH:
@@ -326,6 +327,7 @@ public class ShapeItemProvider
case GMFGraphPackage.SHAPE__XOR_OUTLINE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
+ case GMFGraphPackage.SHAPE__LAYOUT_DATA:
case GMFGraphPackage.SHAPE__CHILDREN:
case GMFGraphPackage.SHAPE__FOREGROUND_COLOR:
case GMFGraphPackage.SHAPE__BACKGROUND_COLOR:
@@ -355,6 +357,36 @@ public class ShapeItemProvider
newChildDescriptors.add
(createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createCustomLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createGridLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_LayoutData(),
+ GMFGraphFactory.eINSTANCE.createBorderLayoutData()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createCustomLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createGridLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (GMFGraphPackage.eINSTANCE.getLayoutable_Layout(),
+ GMFGraphFactory.eINSTANCE.createBorderLayout()));
+
+ newChildDescriptors.add
+ (createChildParameter
(GMFGraphPackage.eINSTANCE.getFigure_Children(),
GMFGraphFactory.eINSTANCE.createFigureRef()));
diff --git a/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.ecore b/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.ecore
index 9037e0fc3..d274553d5 100644
--- a/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.ecore
+++ b/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.ecore
@@ -65,7 +65,7 @@
<eClassifiers xsi:type="ecore:EClass" name="GradientFacet" eSuperTypes="#//VisualFacet">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//Direction"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="FigureMarker" interface="true">
+ <eClassifiers xsi:type="ecore:EClass" name="FigureMarker" interface="true" eSuperTypes="#//Layoutable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Anything you could combine visual representation from. Ordinary GEF figures, custom-defined or references to defined elsewhere."/>
</eAnnotations>
@@ -97,7 +97,6 @@
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="size" eType="#//Point"
containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="layoutManager" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FigureRef" eSuperTypes="#//FigureMarker">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -192,6 +191,8 @@
<eClassifiers xsi:type="ecore:EClass" name="CustomClass" interface="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedClassName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="bundleName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
+ eType="#//CustomAttribute" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CustomFigure" eSuperTypes="#//Figure #//CustomClass">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -300,4 +301,72 @@
<eLiterals name="LINE_DASHDOTDOT" value="5"/>
<eLiterals name="LINE_CUSTOM" value="6"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LayoutData" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Layoutable"
+ eOpposite="#//Layoutable/layoutData"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CustomLayoutData" eSuperTypes="#//LayoutData #//CustomClass"/>
+ <eClassifiers xsi:type="ecore:EClass" name="GridLayoutData" eSuperTypes="#//LayoutData">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="grabExcessHorizontalSpace"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="grabExcessVerticalSpace"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="verticalAlignment" lowerBound="1"
+ eType="#//Alignment" defaultValueLiteral="CENTER"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="horizontalAlignment" lowerBound="1"
+ eType="#//Alignment" defaultValueLiteral="CENTER"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="verticalSpan" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="horizontalSpan" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="horizontalIndent" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sizeHint" eType="#//Dimension"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BorderLayoutData" eSuperTypes="#//LayoutData">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="alignment" lowerBound="1"
+ eType="#//Alignment" defaultValueLiteral="CENTER"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="vertical" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="Alignment">
+ <eLiterals name="BEGINNING"/>
+ <eLiterals name="CENTER" value="1"/>
+ <eLiterals name="END" value="2"/>
+ <eLiterals name="FILL" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Layoutable" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="layoutData" eType="#//LayoutData"
+ defaultValueLiteral="" containment="true" eOpposite="#//LayoutData/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="layout" eType="#//Layout"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Layout" interface="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CustomLayout" eSuperTypes="#//Layout #//CustomClass"/>
+ <eClassifiers xsi:type="ecore:EClass" name="GridLayout" eSuperTypes="#//Layout">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="numColumns" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="equalWidth" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="margins" eType="#//Dimension"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="spacing" eType="#//Dimension"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BorderLayout" eSuperTypes="#//Layout">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="spacing" eType="#//Dimension"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CustomAttribute">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="null"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="directAccess" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiStatementValue" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
+ </eClassifiers>
</ecore:EPackage>
diff --git a/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.genmodel b/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.genmodel
index c7c7c118c..ebb3302b2 100644
--- a/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.genmodel
+++ b/plugins/org.eclipse.gmf.graphdef/models/gmfgraph.genmodel
@@ -50,6 +50,12 @@
<genEnumLiterals ecoreEnumLiteral="gmfgraph.ecore#//LineKind/LINE_DASHDOTDOT"/>
<genEnumLiterals ecoreEnumLiteral="gmfgraph.ecore#//LineKind/LINE_CUSTOM"/>
</genEnums>
+ <genEnums ecoreEnum="gmfgraph.ecore#//Alignment">
+ <genEnumLiterals ecoreEnumLiteral="gmfgraph.ecore#//Alignment/BEGINNING"/>
+ <genEnumLiterals ecoreEnumLiteral="gmfgraph.ecore#//Alignment/CENTER"/>
+ <genEnumLiterals ecoreEnumLiteral="gmfgraph.ecore#//Alignment/END"/>
+ <genEnumLiterals ecoreEnumLiteral="gmfgraph.ecore#//Alignment/FILL"/>
+ </genEnums>
<genClasses ecoreClass="gmfgraph.ecore#//Canvas">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//Canvas/figures"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//Canvas/nodes"/>
@@ -99,7 +105,6 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//Figure/border"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//Figure/location"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//Figure/size"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//Figure/layoutManager"/>
</genClasses>
<genClasses ecoreClass="gmfgraph.ecore#//FigureRef">
<genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference gmfgraph.ecore#//FigureRef/figure"/>
@@ -138,6 +143,7 @@
<genClasses ecoreClass="gmfgraph.ecore#//CustomClass">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//CustomClass/qualifiedClassName"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//CustomClass/bundleName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//CustomClass/attributes"/>
</genClasses>
<genClasses ecoreClass="gmfgraph.ecore#//CustomFigure"/>
<genClasses ecoreClass="gmfgraph.ecore#//CustomDecoration"/>
@@ -184,5 +190,44 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//CompoundBorder/inner"/>
</genClasses>
<genClasses ecoreClass="gmfgraph.ecore#//CustomBorder"/>
+ <genClasses ecoreClass="gmfgraph.ecore#//LayoutData">
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference gmfgraph.ecore#//LayoutData/owner"/>
+ </genClasses>
+ <genClasses ecoreClass="gmfgraph.ecore#//CustomLayoutData"/>
+ <genClasses ecoreClass="gmfgraph.ecore#//GridLayoutData">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayoutData/grabExcessHorizontalSpace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayoutData/grabExcessVerticalSpace"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayoutData/verticalAlignment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayoutData/horizontalAlignment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayoutData/verticalSpan"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayoutData/horizontalSpan"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayoutData/horizontalIndent"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//GridLayoutData/sizeHint"/>
+ </genClasses>
+ <genClasses ecoreClass="gmfgraph.ecore#//BorderLayoutData">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//BorderLayoutData/alignment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//BorderLayoutData/vertical"/>
+ </genClasses>
+ <genClasses ecoreClass="gmfgraph.ecore#//Layoutable">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//Layoutable/layoutData"/>
+ <genFeatures notify="false" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//Layoutable/layout"/>
+ </genClasses>
+ <genClasses ecoreClass="gmfgraph.ecore#//Layout"/>
+ <genClasses ecoreClass="gmfgraph.ecore#//CustomLayout"/>
+ <genClasses ecoreClass="gmfgraph.ecore#//GridLayout">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayout/numColumns"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//GridLayout/equalWidth"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//GridLayout/margins"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//GridLayout/spacing"/>
+ </genClasses>
+ <genClasses ecoreClass="gmfgraph.ecore#//BorderLayout">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gmfgraph.ecore#//BorderLayout/spacing"/>
+ </genClasses>
+ <genClasses ecoreClass="gmfgraph.ecore#//CustomAttribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//CustomAttribute/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//CustomAttribute/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//CustomAttribute/directAccess"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gmfgraph.ecore#//CustomAttribute/multiStatementValue"/>
+ </genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Alignment.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Alignment.java
new file mode 100644
index 000000000..19126f17d
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Alignment.java
@@ -0,0 +1,205 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Alignment</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getAlignment()
+ * @model
+ * @generated
+ */
+public final class Alignment extends AbstractEnumerator {
+ /**
+ * The '<em><b>BEGINNING</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>BEGINNING</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BEGINNING_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int BEGINNING = 0;
+
+ /**
+ * The '<em><b>CENTER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CENTER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CENTER_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CENTER = 1;
+
+ /**
+ * The '<em><b>END</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>END</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #END_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int END = 2;
+
+ /**
+ * The '<em><b>FILL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FILL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FILL_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int FILL = 3;
+
+ /**
+ * The '<em><b>BEGINNING</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BEGINNING
+ * @generated
+ * @ordered
+ */
+ public static final Alignment BEGINNING_LITERAL = new Alignment(BEGINNING, "BEGINNING", "BEGINNING");
+
+ /**
+ * The '<em><b>CENTER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CENTER
+ * @generated
+ * @ordered
+ */
+ public static final Alignment CENTER_LITERAL = new Alignment(CENTER, "CENTER", "CENTER");
+
+ /**
+ * The '<em><b>END</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #END
+ * @generated
+ * @ordered
+ */
+ public static final Alignment END_LITERAL = new Alignment(END, "END", "END");
+
+ /**
+ * The '<em><b>FILL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FILL
+ * @generated
+ * @ordered
+ */
+ public static final Alignment FILL_LITERAL = new Alignment(FILL, "FILL", "FILL");
+
+ /**
+ * An array of all the '<em><b>Alignment</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Alignment[] VALUES_ARRAY =
+ new Alignment[] {
+ BEGINNING_LITERAL,
+ CENTER_LITERAL,
+ END_LITERAL,
+ FILL_LITERAL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Alignment</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Alignment</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Alignment get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Alignment result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Alignment</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Alignment getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Alignment result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Alignment</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Alignment get(int value) {
+ switch (value) {
+ case BEGINNING: return BEGINNING_LITERAL;
+ case CENTER: return CENTER_LITERAL;
+ case END: return END_LITERAL;
+ case FILL: return FILL_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private Alignment(int value, String name, String literal) {
+ super(value, name, literal);
+ }
+
+} //Alignment
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayout.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayout.java
new file mode 100644
index 000000000..50a11abf1
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayout.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Border Layout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.BorderLayout#getSpacing <em>Spacing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getBorderLayout()
+ * @model
+ * @generated
+ */
+public interface BorderLayout extends Layout {
+ /**
+ * Returns the value of the '<em><b>Spacing</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Spacing</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Spacing</em>' containment reference.
+ * @see #setSpacing(Dimension)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getBorderLayout_Spacing()
+ * @model containment="true"
+ * @generated
+ */
+ Dimension getSpacing();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.BorderLayout#getSpacing <em>Spacing</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Spacing</em>' containment reference.
+ * @see #getSpacing()
+ * @generated
+ */
+ void setSpacing(Dimension value);
+
+} // BorderLayout
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayoutData.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayoutData.java
new file mode 100644
index 000000000..364c39b9b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/BorderLayoutData.java
@@ -0,0 +1,85 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Border Layout Data</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.BorderLayoutData#getAlignment <em>Alignment</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.BorderLayoutData#isVertical <em>Vertical</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getBorderLayoutData()
+ * @model
+ * @generated
+ */
+public interface BorderLayoutData extends LayoutData {
+ /**
+ * Returns the value of the '<em><b>Alignment</b></em>' attribute.
+ * The default value is <code>"CENTER"</code>.
+ * The literals are from the enumeration {@link org.eclipse.gmf.gmfgraph.Alignment}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Alignment</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Alignment</em>' attribute.
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @see #setAlignment(Alignment)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getBorderLayoutData_Alignment()
+ * @model default="CENTER" required="true"
+ * @generated
+ */
+ Alignment getAlignment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.BorderLayoutData#getAlignment <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Alignment</em>' attribute.
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @see #getAlignment()
+ * @generated
+ */
+ void setAlignment(Alignment value);
+
+ /**
+ * Returns the value of the '<em><b>Vertical</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vertical</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vertical</em>' attribute.
+ * @see #setVertical(boolean)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getBorderLayoutData_Vertical()
+ * @model default="false"
+ * @generated
+ */
+ boolean isVertical();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.BorderLayoutData#isVertical <em>Vertical</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vertical</em>' attribute.
+ * @see #isVertical()
+ * @generated
+ */
+ void setVertical(boolean value);
+
+} // BorderLayoutData
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomAttribute.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomAttribute.java
new file mode 100644
index 000000000..986abe4a4
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomAttribute.java
@@ -0,0 +1,138 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Custom Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.CustomAttribute#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.CustomAttribute#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.CustomAttribute#isDirectAccess <em>Direct Access</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.CustomAttribute#isMultiStatementValue <em>Multi Statement Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomAttribute()
+ * @model
+ * @generated
+ */
+public interface CustomAttribute extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomAttribute_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * The default value is <code>"null"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomAttribute_Value()
+ * @model default="null" required="true"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Direct Access</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Direct Access</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Direct Access</em>' attribute.
+ * @see #setDirectAccess(boolean)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomAttribute_DirectAccess()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isDirectAccess();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#isDirectAccess <em>Direct Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Direct Access</em>' attribute.
+ * @see #isDirectAccess()
+ * @generated
+ */
+ void setDirectAccess(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Multi Statement Value</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Multi Statement Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Multi Statement Value</em>' attribute.
+ * @see #setMultiStatementValue(boolean)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomAttribute_MultiStatementValue()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isMultiStatementValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#isMultiStatementValue <em>Multi Statement Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Multi Statement Value</em>' attribute.
+ * @see #isMultiStatementValue()
+ * @generated
+ */
+ void setMultiStatementValue(boolean value);
+
+} // CustomAttribute
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomClass.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomClass.java
index 7d8692d3a..47692d208 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomClass.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomClass.java
@@ -6,6 +6,7 @@
*/
package org.eclipse.gmf.gmfgraph;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
@@ -18,6 +19,7 @@ import org.eclipse.emf.ecore.EObject;
* <ul>
* <li>{@link org.eclipse.gmf.gmfgraph.CustomClass#getQualifiedClassName <em>Qualified Class Name</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.CustomClass#getBundleName <em>Bundle Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.CustomClass#getAttributes <em>Attributes</em>}</li>
* </ul>
* </p>
*
@@ -78,4 +80,20 @@ public interface CustomClass extends EObject {
*/
void setBundleName(String value);
+ /**
+ * Returns the value of the '<em><b>Attributes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.gmf.gmfgraph.CustomAttribute}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attributes</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attributes</em>' containment reference list.
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomClass_Attributes()
+ * @model type="org.eclipse.gmf.gmfgraph.CustomAttribute" containment="true"
+ * @generated
+ */
+ EList getAttributes();
+
} // CustomClass
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayout.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayout.java
new file mode 100644
index 000000000..d8fd771a7
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayout.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Custom Layout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomLayout()
+ * @model
+ * @generated
+ */
+public interface CustomLayout extends Layout, CustomClass {
+} // CustomLayout
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayoutData.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayoutData.java
new file mode 100644
index 000000000..d32ab8bc5
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/CustomLayoutData.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Custom Layout Data</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getCustomLayoutData()
+ * @model
+ * @generated
+ */
+public interface CustomLayoutData extends LayoutData, CustomClass {
+} // CustomLayoutData
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Figure.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Figure.java
index 9ec9a93ee..e91c7a305 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Figure.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Figure.java
@@ -32,7 +32,6 @@ import org.eclipse.emf.common.util.EList;
* <li>{@link org.eclipse.gmf.gmfgraph.Figure#getBorder <em>Border</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.Figure#getLocation <em>Location</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.Figure#getSize <em>Size</em>}</li>
- * <li>{@link org.eclipse.gmf.gmfgraph.Figure#getLayoutManager <em>Layout Manager</em>}</li>
* </ul>
* </p>
*
@@ -334,30 +333,4 @@ public interface Figure extends FigureMarker, Identity {
*/
void setSize(Point value);
- /**
- * Returns the value of the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Layout Manager</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Layout Manager</em>' attribute.
- * @see #setLayoutManager(String)
- * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getFigure_LayoutManager()
- * @model
- * @generated
- */
- String getLayoutManager();
-
- /**
- * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.Figure#getLayoutManager <em>Layout Manager</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Layout Manager</em>' attribute.
- * @see #getLayoutManager()
- * @generated
- */
- void setLayoutManager(String value);
-
} // Figure
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/FigureMarker.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/FigureMarker.java
index 109a4a858..dd9453fa4 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/FigureMarker.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/FigureMarker.java
@@ -7,7 +7,6 @@
package org.eclipse.gmf.gmfgraph;
-import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
@@ -23,5 +22,5 @@ import org.eclipse.emf.ecore.EObject;
* @model interface="true" abstract="true"
* @generated
*/
-public interface FigureMarker extends EObject {
+public interface FigureMarker extends Layoutable {
} // FigureMarker
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphFactory.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphFactory.java
index d31d811d0..2ba120f9d 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphFactory.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphFactory.java
@@ -314,6 +314,69 @@ public interface GMFGraphFactory extends EFactory {
CustomBorder createCustomBorder();
/**
+ * Returns a new object of class '<em>Custom Layout Data</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Custom Layout Data</em>'.
+ * @generated
+ */
+ CustomLayoutData createCustomLayoutData();
+
+ /**
+ * Returns a new object of class '<em>Grid Layout Data</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Grid Layout Data</em>'.
+ * @generated
+ */
+ GridLayoutData createGridLayoutData();
+
+ /**
+ * Returns a new object of class '<em>Border Layout Data</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Border Layout Data</em>'.
+ * @generated
+ */
+ BorderLayoutData createBorderLayoutData();
+
+ /**
+ * Returns a new object of class '<em>Custom Layout</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Custom Layout</em>'.
+ * @generated
+ */
+ CustomLayout createCustomLayout();
+
+ /**
+ * Returns a new object of class '<em>Grid Layout</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Grid Layout</em>'.
+ * @generated
+ */
+ GridLayout createGridLayout();
+
+ /**
+ * Returns a new object of class '<em>Border Layout</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Border Layout</em>'.
+ * @generated
+ */
+ BorderLayout createBorderLayout();
+
+ /**
+ * Returns a new object of class '<em>Custom Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Custom Attribute</em>'.
+ * @generated
+ */
+ CustomAttribute createCustomAttribute();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphPackage.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphPackage.java
index 0786958e3..93212c3ad 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphPackage.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GMFGraphPackage.java
@@ -549,6 +549,43 @@ public interface GMFGraphPackage extends EPackage {
int GRADIENT_FACET_FEATURE_COUNT = VISUAL_FACET_FEATURE_COUNT + 1;
/**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.Layoutable <em>Layoutable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.Layoutable
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getLayoutable()
+ * @generated
+ */
+ int LAYOUTABLE = 48;
+
+ /**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTABLE__LAYOUT_DATA = 0;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTABLE__LAYOUT = 1;
+
+ /**
+ * The number of structural features of the '<em>Layoutable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUTABLE_FEATURE_COUNT = 2;
+
+ /**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.FigureMarker <em>Figure Marker</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -559,13 +596,31 @@ public interface GMFGraphPackage extends EPackage {
int FIGURE_MARKER = 11;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIGURE_MARKER__LAYOUT_DATA = LAYOUTABLE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIGURE_MARKER__LAYOUT = LAYOUTABLE__LAYOUT;
+
+ /**
* The number of structural features of the '<em>Figure Marker</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int FIGURE_MARKER_FEATURE_COUNT = 0;
+ int FIGURE_MARKER_FEATURE_COUNT = LAYOUTABLE_FEATURE_COUNT + 0;
/**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.Figure <em>Figure</em>}' class.
@@ -578,6 +633,24 @@ public interface GMFGraphPackage extends EPackage {
int FIGURE = 12;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIGURE__LAYOUT_DATA = FIGURE_MARKER__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FIGURE__LAYOUT = FIGURE_MARKER__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -695,32 +768,41 @@ public interface GMFGraphPackage extends EPackage {
int FIGURE__SIZE = FIGURE_MARKER_FEATURE_COUNT + 12;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
+ * The number of structural features of the '<em>Figure</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int FIGURE__LAYOUT_MANAGER = FIGURE_MARKER_FEATURE_COUNT + 13;
+ int FIGURE_FEATURE_COUNT = FIGURE_MARKER_FEATURE_COUNT + 13;
/**
- * The number of structural features of the '<em>Figure</em>' class.
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.FigureRefImpl <em>Figure Ref</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.FigureRefImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getFigureRef()
+ * @generated
+ */
+ int FIGURE_REF = 13;
+
+ /**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int FIGURE_FEATURE_COUNT = FIGURE_MARKER_FEATURE_COUNT + 14;
+ int FIGURE_REF__LAYOUT_DATA = FIGURE_MARKER__LAYOUT_DATA;
/**
- * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.FigureRefImpl <em>Figure Ref</em>}' class.
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.gmf.gmfgraph.impl.FigureRefImpl
- * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getFigureRef()
* @generated
+ * @ordered
*/
- int FIGURE_REF = 13;
+ int FIGURE_REF__LAYOUT = FIGURE_MARKER__LAYOUT;
/**
* The feature id for the '<em><b>Figure</b></em>' reference.
@@ -751,6 +833,24 @@ public interface GMFGraphPackage extends EPackage {
int CONNECTION_FIGURE = 14;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONNECTION_FIGURE__LAYOUT_DATA = FIGURE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONNECTION_FIGURE__LAYOUT = FIGURE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -868,32 +968,41 @@ public interface GMFGraphPackage extends EPackage {
int CONNECTION_FIGURE__SIZE = FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
+ * The number of structural features of the '<em>Connection Figure</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONNECTION_FIGURE__LAYOUT_MANAGER = FIGURE__LAYOUT_MANAGER;
+ int CONNECTION_FIGURE_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Connection Figure</em>' class.
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.DecorationFigure <em>Decoration Figure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.DecorationFigure
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getDecorationFigure()
+ * @generated
+ */
+ int DECORATION_FIGURE = 15;
+
+ /**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONNECTION_FIGURE_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 0;
+ int DECORATION_FIGURE__LAYOUT_DATA = FIGURE__LAYOUT_DATA;
/**
- * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.DecorationFigure <em>Decoration Figure</em>}' class.
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.gmf.gmfgraph.DecorationFigure
- * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getDecorationFigure()
* @generated
+ * @ordered
*/
- int DECORATION_FIGURE = 15;
+ int DECORATION_FIGURE__LAYOUT = FIGURE__LAYOUT;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1013,32 +1122,41 @@ public interface GMFGraphPackage extends EPackage {
int DECORATION_FIGURE__SIZE = FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
+ * The number of structural features of the '<em>Decoration Figure</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int DECORATION_FIGURE__LAYOUT_MANAGER = FIGURE__LAYOUT_MANAGER;
+ int DECORATION_FIGURE_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Decoration Figure</em>' class.
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl <em>Shape</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.ShapeImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getShape()
+ * @generated
+ */
+ int SHAPE = 16;
+
+ /**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int DECORATION_FIGURE_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 0;
+ int SHAPE__LAYOUT_DATA = FIGURE__LAYOUT_DATA;
/**
- * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl <em>Shape</em>}' class.
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.gmf.gmfgraph.impl.ShapeImpl
- * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getShape()
* @generated
+ * @ordered
*/
- int SHAPE = 16;
+ int SHAPE__LAYOUT = FIGURE__LAYOUT;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1158,15 +1276,6 @@ public interface GMFGraphPackage extends EPackage {
int SHAPE__SIZE = FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int SHAPE__LAYOUT_MANAGER = FIGURE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1249,6 +1358,24 @@ public interface GMFGraphPackage extends EPackage {
int LABEL = 17;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LABEL__LAYOUT_DATA = FIGURE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LABEL__LAYOUT = FIGURE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1366,15 +1493,6 @@ public interface GMFGraphPackage extends EPackage {
int LABEL__SIZE = FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LABEL__LAYOUT_MANAGER = FIGURE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Text</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1403,6 +1521,24 @@ public interface GMFGraphPackage extends EPackage {
int LABELED_CONTAINER = 18;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LABELED_CONTAINER__LAYOUT_DATA = FIGURE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LABELED_CONTAINER__LAYOUT = FIGURE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1520,32 +1656,41 @@ public interface GMFGraphPackage extends EPackage {
int LABELED_CONTAINER__SIZE = FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
+ * The number of structural features of the '<em>Labeled Container</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LABELED_CONTAINER__LAYOUT_MANAGER = FIGURE__LAYOUT_MANAGER;
+ int LABELED_CONTAINER_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 0;
/**
- * The number of structural features of the '<em>Labeled Container</em>' class.
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.RectangleImpl <em>Rectangle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.RectangleImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getRectangle()
+ * @generated
+ */
+ int RECTANGLE = 19;
+
+ /**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LABELED_CONTAINER_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 0;
+ int RECTANGLE__LAYOUT_DATA = SHAPE__LAYOUT_DATA;
/**
- * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.RectangleImpl <em>Rectangle</em>}' class.
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.gmf.gmfgraph.impl.RectangleImpl
- * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getRectangle()
* @generated
+ * @ordered
*/
- int RECTANGLE = 19;
+ int RECTANGLE__LAYOUT = SHAPE__LAYOUT;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1665,15 +1810,6 @@ public interface GMFGraphPackage extends EPackage {
int RECTANGLE__SIZE = SHAPE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RECTANGLE__LAYOUT_MANAGER = SHAPE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1756,6 +1892,24 @@ public interface GMFGraphPackage extends EPackage {
int ROUNDED_RECTANGLE = 20;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUNDED_RECTANGLE__LAYOUT_DATA = SHAPE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROUNDED_RECTANGLE__LAYOUT = SHAPE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1873,15 +2027,6 @@ public interface GMFGraphPackage extends EPackage {
int ROUNDED_RECTANGLE__SIZE = SHAPE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ROUNDED_RECTANGLE__LAYOUT_MANAGER = SHAPE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1982,6 +2127,24 @@ public interface GMFGraphPackage extends EPackage {
int ELLIPSE = 21;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__LAYOUT_DATA = SHAPE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELLIPSE__LAYOUT = SHAPE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2099,15 +2262,6 @@ public interface GMFGraphPackage extends EPackage {
int ELLIPSE__SIZE = SHAPE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ELLIPSE__LAYOUT_MANAGER = SHAPE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2190,6 +2344,24 @@ public interface GMFGraphPackage extends EPackage {
int POLYLINE = 22;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__LAYOUT_DATA = SHAPE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYLINE__LAYOUT = SHAPE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2307,15 +2479,6 @@ public interface GMFGraphPackage extends EPackage {
int POLYLINE__SIZE = SHAPE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POLYLINE__LAYOUT_MANAGER = SHAPE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2407,6 +2570,24 @@ public interface GMFGraphPackage extends EPackage {
int POLYGON = 23;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYGON__LAYOUT_DATA = POLYLINE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYGON__LAYOUT = POLYLINE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2524,15 +2705,6 @@ public interface GMFGraphPackage extends EPackage {
int POLYGON__SIZE = POLYLINE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POLYGON__LAYOUT_MANAGER = POLYLINE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2624,6 +2796,24 @@ public interface GMFGraphPackage extends EPackage {
int POLYLINE_CONNECTION = 24;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYLINE_CONNECTION__LAYOUT_DATA = POLYLINE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYLINE_CONNECTION__LAYOUT = POLYLINE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2741,15 +2931,6 @@ public interface GMFGraphPackage extends EPackage {
int POLYLINE_CONNECTION__SIZE = POLYLINE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POLYLINE_CONNECTION__LAYOUT_MANAGER = POLYLINE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2859,6 +3040,24 @@ public interface GMFGraphPackage extends EPackage {
int POLYLINE_DECORATION = 25;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYLINE_DECORATION__LAYOUT_DATA = POLYLINE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYLINE_DECORATION__LAYOUT = POLYLINE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2976,15 +3175,6 @@ public interface GMFGraphPackage extends EPackage {
int POLYLINE_DECORATION__SIZE = POLYLINE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POLYLINE_DECORATION__LAYOUT_MANAGER = POLYLINE__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3076,6 +3266,24 @@ public interface GMFGraphPackage extends EPackage {
int POLYGON_DECORATION = 26;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYGON_DECORATION__LAYOUT_DATA = POLYGON__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POLYGON_DECORATION__LAYOUT = POLYGON__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3193,15 +3401,6 @@ public interface GMFGraphPackage extends EPackage {
int POLYGON_DECORATION__SIZE = POLYGON__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int POLYGON_DECORATION__LAYOUT_MANAGER = POLYGON__LAYOUT_MANAGER;
-
- /**
* The feature id for the '<em><b>Outline</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3311,13 +3510,22 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_CLASS__BUNDLE_NAME = 1;
/**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_CLASS__ATTRIBUTES = 2;
+
+ /**
* The number of structural features of the '<em>Custom Class</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_CLASS_FEATURE_COUNT = 2;
+ int CUSTOM_CLASS_FEATURE_COUNT = 3;
/**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl <em>Custom Figure</em>}' class.
@@ -3330,6 +3538,24 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_FIGURE = 28;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_FIGURE__LAYOUT_DATA = FIGURE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_FIGURE__LAYOUT = FIGURE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3447,31 +3673,31 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_FIGURE__SIZE = FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
+ * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_FIGURE__LAYOUT_MANAGER = FIGURE__LAYOUT_MANAGER;
+ int CUSTOM_FIGURE__QUALIFIED_CLASS_NAME = FIGURE_FEATURE_COUNT + 0;
/**
- * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
+ * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_FIGURE__QUALIFIED_CLASS_NAME = FIGURE_FEATURE_COUNT + 0;
+ int CUSTOM_FIGURE__BUNDLE_NAME = FIGURE_FEATURE_COUNT + 1;
/**
- * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_FIGURE__BUNDLE_NAME = FIGURE_FEATURE_COUNT + 1;
+ int CUSTOM_FIGURE__ATTRIBUTES = FIGURE_FEATURE_COUNT + 2;
/**
* The number of structural features of the '<em>Custom Figure</em>' class.
@@ -3480,7 +3706,7 @@ public interface GMFGraphPackage extends EPackage {
* @generated
* @ordered
*/
- int CUSTOM_FIGURE_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 2;
+ int CUSTOM_FIGURE_FEATURE_COUNT = FIGURE_FEATURE_COUNT + 3;
/**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.CustomDecorationImpl <em>Custom Decoration</em>}' class.
@@ -3493,6 +3719,24 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_DECORATION = 29;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_DECORATION__LAYOUT_DATA = CUSTOM_FIGURE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_DECORATION__LAYOUT = CUSTOM_FIGURE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3610,31 +3854,31 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_DECORATION__SIZE = CUSTOM_FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
+ * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_DECORATION__LAYOUT_MANAGER = CUSTOM_FIGURE__LAYOUT_MANAGER;
+ int CUSTOM_DECORATION__QUALIFIED_CLASS_NAME = CUSTOM_FIGURE__QUALIFIED_CLASS_NAME;
/**
- * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
+ * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_DECORATION__QUALIFIED_CLASS_NAME = CUSTOM_FIGURE__QUALIFIED_CLASS_NAME;
+ int CUSTOM_DECORATION__BUNDLE_NAME = CUSTOM_FIGURE__BUNDLE_NAME;
/**
- * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_DECORATION__BUNDLE_NAME = CUSTOM_FIGURE__BUNDLE_NAME;
+ int CUSTOM_DECORATION__ATTRIBUTES = CUSTOM_FIGURE__ATTRIBUTES;
/**
* The number of structural features of the '<em>Custom Decoration</em>' class.
@@ -3656,6 +3900,24 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_CONNECTION = 30;
/**
+ * The feature id for the '<em><b>Layout Data</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_CONNECTION__LAYOUT_DATA = CUSTOM_FIGURE__LAYOUT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_CONNECTION__LAYOUT = CUSTOM_FIGURE__LAYOUT;
+
+ /**
* The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3773,31 +4035,31 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_CONNECTION__SIZE = CUSTOM_FIGURE__SIZE;
/**
- * The feature id for the '<em><b>Layout Manager</b></em>' attribute.
+ * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_CONNECTION__LAYOUT_MANAGER = CUSTOM_FIGURE__LAYOUT_MANAGER;
+ int CUSTOM_CONNECTION__QUALIFIED_CLASS_NAME = CUSTOM_FIGURE__QUALIFIED_CLASS_NAME;
/**
- * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
+ * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_CONNECTION__QUALIFIED_CLASS_NAME = CUSTOM_FIGURE__QUALIFIED_CLASS_NAME;
+ int CUSTOM_CONNECTION__BUNDLE_NAME = CUSTOM_FIGURE__BUNDLE_NAME;
/**
- * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_CONNECTION__BUNDLE_NAME = CUSTOM_FIGURE__BUNDLE_NAME;
+ int CUSTOM_CONNECTION__ATTRIBUTES = CUSTOM_FIGURE__ATTRIBUTES;
/**
* The number of structural features of the '<em>Custom Connection</em>' class.
@@ -3974,7 +4236,7 @@ public interface GMFGraphPackage extends EPackage {
* @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getFontStyle()
* @generated
*/
- int FONT_STYLE = 45;
+ int FONT_STYLE = 55;
/**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.PointImpl <em>Point</em>}' class.
@@ -4255,13 +4517,454 @@ public interface GMFGraphPackage extends EPackage {
int CUSTOM_BORDER__BUNDLE_NAME = BORDER_FEATURE_COUNT + 1;
/**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_BORDER__ATTRIBUTES = BORDER_FEATURE_COUNT + 2;
+
+ /**
* The number of structural features of the '<em>Custom Border</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_BORDER_FEATURE_COUNT = BORDER_FEATURE_COUNT + 2;
+ int CUSTOM_BORDER_FEATURE_COUNT = BORDER_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.LayoutData <em>Layout Data</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.LayoutData
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getLayoutData()
+ * @generated
+ */
+ int LAYOUT_DATA = 44;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_DATA__OWNER = 0;
+
+ /**
+ * The number of structural features of the '<em>Layout Data</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_DATA_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl <em>Grid Layout Data</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getGridLayoutData()
+ * @generated
+ */
+ int GRID_LAYOUT_DATA = 46;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.BorderLayoutDataImpl <em>Border Layout Data</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.BorderLayoutDataImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getBorderLayoutData()
+ * @generated
+ */
+ int BORDER_LAYOUT_DATA = 47;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutImpl <em>Custom Layout</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.CustomLayoutImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getCustomLayout()
+ * @generated
+ */
+ int CUSTOM_LAYOUT = 50;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.Layout <em>Layout</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.Layout
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getLayout()
+ * @generated
+ */
+ int LAYOUT = 49;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutDataImpl <em>Custom Layout Data</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.CustomLayoutDataImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getCustomLayoutData()
+ * @generated
+ */
+ int CUSTOM_LAYOUT_DATA = 45;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_DATA__OWNER = LAYOUT_DATA__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME = LAYOUT_DATA_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_DATA__BUNDLE_NAME = LAYOUT_DATA_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_DATA__ATTRIBUTES = LAYOUT_DATA_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Custom Layout Data</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_DATA_FEATURE_COUNT = LAYOUT_DATA_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__OWNER = LAYOUT_DATA__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Grab Excess Horizontal Space</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE = LAYOUT_DATA_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Grab Excess Vertical Space</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE = LAYOUT_DATA_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Vertical Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT = LAYOUT_DATA_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Horizontal Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT = LAYOUT_DATA_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Vertical Span</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__VERTICAL_SPAN = LAYOUT_DATA_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Horizontal Span</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__HORIZONTAL_SPAN = LAYOUT_DATA_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Horizontal Indent</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__HORIZONTAL_INDENT = LAYOUT_DATA_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Size Hint</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA__SIZE_HINT = LAYOUT_DATA_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Grid Layout Data</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_DATA_FEATURE_COUNT = LAYOUT_DATA_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORDER_LAYOUT_DATA__OWNER = LAYOUT_DATA__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORDER_LAYOUT_DATA__ALIGNMENT = LAYOUT_DATA_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Vertical</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORDER_LAYOUT_DATA__VERTICAL = LAYOUT_DATA_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Border Layout Data</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORDER_LAYOUT_DATA_FEATURE_COUNT = LAYOUT_DATA_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Layout</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYOUT_FEATURE_COUNT = 0;
+
+ /**
+ * The feature id for the '<em><b>Qualified Class Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME = LAYOUT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Bundle Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT__BUNDLE_NAME = LAYOUT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Attributes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT__ATTRIBUTES = LAYOUT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Custom Layout</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYOUT_FEATURE_COUNT = LAYOUT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutImpl <em>Grid Layout</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.GridLayoutImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getGridLayout()
+ * @generated
+ */
+ int GRID_LAYOUT = 51;
+
+ /**
+ * The feature id for the '<em><b>Num Columns</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT__NUM_COLUMNS = LAYOUT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Equal Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT__EQUAL_WIDTH = LAYOUT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Margins</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT__MARGINS = LAYOUT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Spacing</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT__SPACING = LAYOUT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Grid Layout</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRID_LAYOUT_FEATURE_COUNT = LAYOUT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.BorderLayoutImpl <em>Border Layout</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.BorderLayoutImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getBorderLayout()
+ * @generated
+ */
+ int BORDER_LAYOUT = 52;
+
+ /**
+ * The feature id for the '<em><b>Spacing</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORDER_LAYOUT__SPACING = LAYOUT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Border Layout</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORDER_LAYOUT_FEATURE_COUNT = LAYOUT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.impl.CustomAttributeImpl <em>Custom Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.impl.CustomAttributeImpl
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getCustomAttribute()
+ * @generated
+ */
+ int CUSTOM_ATTRIBUTE = 53;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_ATTRIBUTE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_ATTRIBUTE__VALUE = 1;
+
+ /**
+ * The feature id for the '<em><b>Direct Access</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_ATTRIBUTE__DIRECT_ACCESS = 2;
+
+ /**
+ * The feature id for the '<em><b>Multi Statement Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE = 3;
+
+ /**
+ * The number of structural features of the '<em>Custom Attribute</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_ATTRIBUTE_FEATURE_COUNT = 4;
/**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.ColorConstants <em>Color Constants</em>}' enum.
@@ -4271,7 +4974,7 @@ public interface GMFGraphPackage extends EPackage {
* @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getColorConstants()
* @generated
*/
- int COLOR_CONSTANTS = 44;
+ int COLOR_CONSTANTS = 54;
/**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.Direction <em>Direction</em>}' enum.
@@ -4281,7 +4984,7 @@ public interface GMFGraphPackage extends EPackage {
* @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getDirection()
* @generated
*/
- int DIRECTION = 46;
+ int DIRECTION = 56;
/**
* The meta object id for the '{@link org.eclipse.gmf.gmfgraph.LineKind <em>Line Kind</em>}' enum.
@@ -4291,7 +4994,18 @@ public interface GMFGraphPackage extends EPackage {
* @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getLineKind()
* @generated
*/
- int LINE_KIND = 47;
+ int LINE_KIND = 57;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.gmf.gmfgraph.Alignment <em>Alignment</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @see org.eclipse.gmf.gmfgraph.impl.GMFGraphPackageImpl#getAlignment()
+ * @generated
+ */
+ int ALIGNMENT = 58;
/**
@@ -4733,17 +5447,6 @@ public interface GMFGraphPackage extends EPackage {
EReference getFigure_Size();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.Figure#getLayoutManager <em>Layout Manager</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Layout Manager</em>'.
- * @see org.eclipse.gmf.gmfgraph.Figure#getLayoutManager()
- * @see #getFigure()
- * @generated
- */
- EAttribute getFigure_LayoutManager();
-
- /**
* Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.FigureRef <em>Figure Ref</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5070,6 +5773,17 @@ public interface GMFGraphPackage extends EPackage {
EAttribute getCustomClass_BundleName();
/**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.gmfgraph.CustomClass#getAttributes <em>Attributes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Attributes</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomClass#getAttributes()
+ * @see #getCustomClass()
+ * @generated
+ */
+ EReference getCustomClass_Attributes();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.CustomFigure <em>Custom Figure</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5460,6 +6174,348 @@ public interface GMFGraphPackage extends EPackage {
EClass getCustomBorder();
/**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.LayoutData <em>Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Layout Data</em>'.
+ * @see org.eclipse.gmf.gmfgraph.LayoutData
+ * @generated
+ */
+ EClass getLayoutData();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.gmf.gmfgraph.LayoutData#getOwner <em>Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Owner</em>'.
+ * @see org.eclipse.gmf.gmfgraph.LayoutData#getOwner()
+ * @see #getLayoutData()
+ * @generated
+ */
+ EReference getLayoutData_Owner();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.CustomLayoutData <em>Custom Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Custom Layout Data</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomLayoutData
+ * @generated
+ */
+ EClass getCustomLayoutData();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.GridLayoutData <em>Grid Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Grid Layout Data</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData
+ * @generated
+ */
+ EClass getGridLayoutData();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessHorizontalSpace <em>Grab Excess Horizontal Space</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Grab Excess Horizontal Space</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessHorizontalSpace()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EAttribute getGridLayoutData_GrabExcessHorizontalSpace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessVerticalSpace <em>Grab Excess Vertical Space</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Grab Excess Vertical Space</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessVerticalSpace()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EAttribute getGridLayoutData_GrabExcessVerticalSpace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalAlignment <em>Vertical Alignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Vertical Alignment</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalAlignment()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EAttribute getGridLayoutData_VerticalAlignment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalAlignment <em>Horizontal Alignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Horizontal Alignment</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalAlignment()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EAttribute getGridLayoutData_HorizontalAlignment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalSpan <em>Vertical Span</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Vertical Span</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalSpan()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EAttribute getGridLayoutData_VerticalSpan();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalSpan <em>Horizontal Span</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Horizontal Span</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalSpan()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EAttribute getGridLayoutData_HorizontalSpan();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalIndent <em>Horizontal Indent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Horizontal Indent</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalIndent()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EAttribute getGridLayoutData_HorizontalIndent();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getSizeHint <em>Size Hint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Size Hint</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData#getSizeHint()
+ * @see #getGridLayoutData()
+ * @generated
+ */
+ EReference getGridLayoutData_SizeHint();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.BorderLayoutData <em>Border Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Border Layout Data</em>'.
+ * @see org.eclipse.gmf.gmfgraph.BorderLayoutData
+ * @generated
+ */
+ EClass getBorderLayoutData();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.BorderLayoutData#getAlignment <em>Alignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Alignment</em>'.
+ * @see org.eclipse.gmf.gmfgraph.BorderLayoutData#getAlignment()
+ * @see #getBorderLayoutData()
+ * @generated
+ */
+ EAttribute getBorderLayoutData_Alignment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.BorderLayoutData#isVertical <em>Vertical</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Vertical</em>'.
+ * @see org.eclipse.gmf.gmfgraph.BorderLayoutData#isVertical()
+ * @see #getBorderLayoutData()
+ * @generated
+ */
+ EAttribute getBorderLayoutData_Vertical();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.Layoutable <em>Layoutable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Layoutable</em>'.
+ * @see org.eclipse.gmf.gmfgraph.Layoutable
+ * @generated
+ */
+ EClass getLayoutable();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.gmfgraph.Layoutable#getLayoutData <em>Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Layout Data</em>'.
+ * @see org.eclipse.gmf.gmfgraph.Layoutable#getLayoutData()
+ * @see #getLayoutable()
+ * @generated
+ */
+ EReference getLayoutable_LayoutData();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.gmfgraph.Layoutable#getLayout <em>Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Layout</em>'.
+ * @see org.eclipse.gmf.gmfgraph.Layoutable#getLayout()
+ * @see #getLayoutable()
+ * @generated
+ */
+ EReference getLayoutable_Layout();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.Layout <em>Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Layout</em>'.
+ * @see org.eclipse.gmf.gmfgraph.Layout
+ * @generated
+ */
+ EClass getLayout();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.CustomLayout <em>Custom Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Custom Layout</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomLayout
+ * @generated
+ */
+ EClass getCustomLayout();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.GridLayout <em>Grid Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Grid Layout</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayout
+ * @generated
+ */
+ EClass getGridLayout();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayout#getNumColumns <em>Num Columns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Num Columns</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayout#getNumColumns()
+ * @see #getGridLayout()
+ * @generated
+ */
+ EAttribute getGridLayout_NumColumns();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.GridLayout#isEqualWidth <em>Equal Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Equal Width</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayout#isEqualWidth()
+ * @see #getGridLayout()
+ * @generated
+ */
+ EAttribute getGridLayout_EqualWidth();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.gmfgraph.GridLayout#getMargins <em>Margins</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Margins</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayout#getMargins()
+ * @see #getGridLayout()
+ * @generated
+ */
+ EReference getGridLayout_Margins();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.gmfgraph.GridLayout#getSpacing <em>Spacing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Spacing</em>'.
+ * @see org.eclipse.gmf.gmfgraph.GridLayout#getSpacing()
+ * @see #getGridLayout()
+ * @generated
+ */
+ EReference getGridLayout_Spacing();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.BorderLayout <em>Border Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Border Layout</em>'.
+ * @see org.eclipse.gmf.gmfgraph.BorderLayout
+ * @generated
+ */
+ EClass getBorderLayout();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.gmf.gmfgraph.BorderLayout#getSpacing <em>Spacing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Spacing</em>'.
+ * @see org.eclipse.gmf.gmfgraph.BorderLayout#getSpacing()
+ * @see #getBorderLayout()
+ * @generated
+ */
+ EReference getBorderLayout_Spacing();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.gmf.gmfgraph.CustomAttribute <em>Custom Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Custom Attribute</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomAttribute
+ * @generated
+ */
+ EClass getCustomAttribute();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomAttribute#getName()
+ * @see #getCustomAttribute()
+ * @generated
+ */
+ EAttribute getCustomAttribute_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomAttribute#getValue()
+ * @see #getCustomAttribute()
+ * @generated
+ */
+ EAttribute getCustomAttribute_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#isDirectAccess <em>Direct Access</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Direct Access</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomAttribute#isDirectAccess()
+ * @see #getCustomAttribute()
+ * @generated
+ */
+ EAttribute getCustomAttribute_DirectAccess();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.gmf.gmfgraph.CustomAttribute#isMultiStatementValue <em>Multi Statement Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Multi Statement Value</em>'.
+ * @see org.eclipse.gmf.gmfgraph.CustomAttribute#isMultiStatementValue()
+ * @see #getCustomAttribute()
+ * @generated
+ */
+ EAttribute getCustomAttribute_MultiStatementValue();
+
+ /**
* Returns the meta object for enum '{@link org.eclipse.gmf.gmfgraph.ColorConstants <em>Color Constants</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5490,6 +6546,16 @@ public interface GMFGraphPackage extends EPackage {
EEnum getLineKind();
/**
+ * Returns the meta object for enum '{@link org.eclipse.gmf.gmfgraph.Alignment <em>Alignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Alignment</em>'.
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @generated
+ */
+ EEnum getAlignment();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayout.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayout.java
new file mode 100644
index 000000000..bedf0fc36
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayout.java
@@ -0,0 +1,136 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Grid Layout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayout#getNumColumns <em>Num Columns</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayout#isEqualWidth <em>Equal Width</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayout#getMargins <em>Margins</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayout#getSpacing <em>Spacing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayout()
+ * @model
+ * @generated
+ */
+public interface GridLayout extends Layout {
+ /**
+ * Returns the value of the '<em><b>Num Columns</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Num Columns</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Num Columns</em>' attribute.
+ * @see #setNumColumns(int)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayout_NumColumns()
+ * @model default="1" required="true"
+ * @generated
+ */
+ int getNumColumns();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayout#getNumColumns <em>Num Columns</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Num Columns</em>' attribute.
+ * @see #getNumColumns()
+ * @generated
+ */
+ void setNumColumns(int value);
+
+ /**
+ * Returns the value of the '<em><b>Equal Width</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Equal Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Equal Width</em>' attribute.
+ * @see #setEqualWidth(boolean)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayout_EqualWidth()
+ * @model default="true" required="true"
+ * @generated
+ */
+ boolean isEqualWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayout#isEqualWidth <em>Equal Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Equal Width</em>' attribute.
+ * @see #isEqualWidth()
+ * @generated
+ */
+ void setEqualWidth(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Margins</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Margins</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Margins</em>' containment reference.
+ * @see #setMargins(Dimension)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayout_Margins()
+ * @model containment="true"
+ * @generated
+ */
+ Dimension getMargins();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayout#getMargins <em>Margins</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Margins</em>' containment reference.
+ * @see #getMargins()
+ * @generated
+ */
+ void setMargins(Dimension value);
+
+ /**
+ * Returns the value of the '<em><b>Spacing</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Spacing</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Spacing</em>' containment reference.
+ * @see #setSpacing(Dimension)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayout_Spacing()
+ * @model containment="true"
+ * @generated
+ */
+ Dimension getSpacing();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayout#getSpacing <em>Spacing</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Spacing</em>' containment reference.
+ * @see #getSpacing()
+ * @generated
+ */
+ void setSpacing(Dimension value);
+
+} // GridLayout
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayoutData.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayoutData.java
new file mode 100644
index 000000000..c94509919
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/GridLayoutData.java
@@ -0,0 +1,254 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Grid Layout Data</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessHorizontalSpace <em>Grab Excess Horizontal Space</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessVerticalSpace <em>Grab Excess Vertical Space</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalAlignment <em>Vertical Alignment</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalAlignment <em>Horizontal Alignment</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalSpan <em>Vertical Span</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalSpan <em>Horizontal Span</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalIndent <em>Horizontal Indent</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getSizeHint <em>Size Hint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData()
+ * @model
+ * @generated
+ */
+public interface GridLayoutData extends LayoutData {
+ /**
+ * Returns the value of the '<em><b>Grab Excess Horizontal Space</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Grab Excess Horizontal Space</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Grab Excess Horizontal Space</em>' attribute.
+ * @see #setGrabExcessHorizontalSpace(boolean)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_GrabExcessHorizontalSpace()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isGrabExcessHorizontalSpace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessHorizontalSpace <em>Grab Excess Horizontal Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Grab Excess Horizontal Space</em>' attribute.
+ * @see #isGrabExcessHorizontalSpace()
+ * @generated
+ */
+ void setGrabExcessHorizontalSpace(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Grab Excess Vertical Space</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Grab Excess Vertical Space</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Grab Excess Vertical Space</em>' attribute.
+ * @see #setGrabExcessVerticalSpace(boolean)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_GrabExcessVerticalSpace()
+ * @model default="false" required="true"
+ * @generated
+ */
+ boolean isGrabExcessVerticalSpace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#isGrabExcessVerticalSpace <em>Grab Excess Vertical Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Grab Excess Vertical Space</em>' attribute.
+ * @see #isGrabExcessVerticalSpace()
+ * @generated
+ */
+ void setGrabExcessVerticalSpace(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Vertical Alignment</b></em>' attribute.
+ * The default value is <code>"CENTER"</code>.
+ * The literals are from the enumeration {@link org.eclipse.gmf.gmfgraph.Alignment}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vertical Alignment</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vertical Alignment</em>' attribute.
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @see #setVerticalAlignment(Alignment)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_VerticalAlignment()
+ * @model default="CENTER" required="true"
+ * @generated
+ */
+ Alignment getVerticalAlignment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalAlignment <em>Vertical Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vertical Alignment</em>' attribute.
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @see #getVerticalAlignment()
+ * @generated
+ */
+ void setVerticalAlignment(Alignment value);
+
+ /**
+ * Returns the value of the '<em><b>Horizontal Alignment</b></em>' attribute.
+ * The default value is <code>"CENTER"</code>.
+ * The literals are from the enumeration {@link org.eclipse.gmf.gmfgraph.Alignment}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Horizontal Alignment</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Horizontal Alignment</em>' attribute.
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @see #setHorizontalAlignment(Alignment)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_HorizontalAlignment()
+ * @model default="CENTER" required="true"
+ * @generated
+ */
+ Alignment getHorizontalAlignment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalAlignment <em>Horizontal Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Horizontal Alignment</em>' attribute.
+ * @see org.eclipse.gmf.gmfgraph.Alignment
+ * @see #getHorizontalAlignment()
+ * @generated
+ */
+ void setHorizontalAlignment(Alignment value);
+
+ /**
+ * Returns the value of the '<em><b>Vertical Span</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vertical Span</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vertical Span</em>' attribute.
+ * @see #setVerticalSpan(int)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_VerticalSpan()
+ * @model default="1" required="true"
+ * @generated
+ */
+ int getVerticalSpan();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getVerticalSpan <em>Vertical Span</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Vertical Span</em>' attribute.
+ * @see #getVerticalSpan()
+ * @generated
+ */
+ void setVerticalSpan(int value);
+
+ /**
+ * Returns the value of the '<em><b>Horizontal Span</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Horizontal Span</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Horizontal Span</em>' attribute.
+ * @see #setHorizontalSpan(int)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_HorizontalSpan()
+ * @model default="1" required="true"
+ * @generated
+ */
+ int getHorizontalSpan();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalSpan <em>Horizontal Span</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Horizontal Span</em>' attribute.
+ * @see #getHorizontalSpan()
+ * @generated
+ */
+ void setHorizontalSpan(int value);
+
+ /**
+ * Returns the value of the '<em><b>Horizontal Indent</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Horizontal Indent</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Horizontal Indent</em>' attribute.
+ * @see #setHorizontalIndent(int)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_HorizontalIndent()
+ * @model required="true"
+ * @generated
+ */
+ int getHorizontalIndent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getHorizontalIndent <em>Horizontal Indent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Horizontal Indent</em>' attribute.
+ * @see #getHorizontalIndent()
+ * @generated
+ */
+ void setHorizontalIndent(int value);
+
+ /**
+ * Returns the value of the '<em><b>Size Hint</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Size Hint</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Size Hint</em>' containment reference.
+ * @see #setSizeHint(Dimension)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getGridLayoutData_SizeHint()
+ * @model containment="true"
+ * @generated
+ */
+ Dimension getSizeHint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.GridLayoutData#getSizeHint <em>Size Hint</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Size Hint</em>' containment reference.
+ * @see #getSizeHint()
+ * @generated
+ */
+ void setSizeHint(Dimension value);
+
+} // GridLayoutData
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/ImplementationAware.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/ImplementationAware.java
new file mode 100644
index 000000000..8a9326981
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/ImplementationAware.java
@@ -0,0 +1,30 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Implementation Aware</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getImplementationAware()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface ImplementationAware extends EObject {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ String getImplementationFQN();
+
+} // ImplementationAware
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layout.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layout.java
new file mode 100644
index 000000000..e5dbc1a82
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layout.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Layout</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getLayout()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface Layout extends EObject {
+} // Layout
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/LayoutData.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/LayoutData.java
new file mode 100644
index 000000000..6555345f9
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/LayoutData.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Layout Data</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.LayoutData#getOwner <em>Owner</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getLayoutData()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface LayoutData extends EObject {
+ /**
+ * Returns the value of the '<em><b>Owner</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.gmf.gmfgraph.Layoutable#getLayoutData <em>Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owner</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owner</em>' container reference.
+ * @see #setOwner(Layoutable)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getLayoutData_Owner()
+ * @see org.eclipse.gmf.gmfgraph.Layoutable#getLayoutData
+ * @model opposite="layoutData" required="true"
+ * @generated
+ */
+ Layoutable getOwner();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.LayoutData#getOwner <em>Owner</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owner</em>' container reference.
+ * @see #getOwner()
+ * @generated
+ */
+ void setOwner(Layoutable value);
+
+} // LayoutData
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layoutable.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layoutable.java
new file mode 100644
index 000000000..8375ee081
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/Layoutable.java
@@ -0,0 +1,84 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Layoutable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.Layoutable#getLayoutData <em>Layout Data</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.Layoutable#getLayout <em>Layout</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getLayoutable()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface Layoutable extends EObject {
+ /**
+ * Returns the value of the '<em><b>Layout Data</b></em>' containment reference.
+ * The default value is <code>""</code>.
+ * It is bidirectional and its opposite is '{@link org.eclipse.gmf.gmfgraph.LayoutData#getOwner <em>Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layout Data</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Layout Data</em>' containment reference.
+ * @see #setLayoutData(LayoutData)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getLayoutable_LayoutData()
+ * @see org.eclipse.gmf.gmfgraph.LayoutData#getOwner
+ * @model opposite="owner" containment="true"
+ * @generated
+ */
+ LayoutData getLayoutData();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.Layoutable#getLayoutData <em>Layout Data</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Layout Data</em>' containment reference.
+ * @see #getLayoutData()
+ * @generated
+ */
+ void setLayoutData(LayoutData value);
+
+ /**
+ * Returns the value of the '<em><b>Layout</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Layout</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Layout</em>' containment reference.
+ * @see #setLayout(Layout)
+ * @see org.eclipse.gmf.gmfgraph.GMFGraphPackage#getLayoutable_Layout()
+ * @model containment="true"
+ * @generated
+ */
+ Layout getLayout();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.gmf.gmfgraph.Layoutable#getLayout <em>Layout</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Layout</em>' containment reference.
+ * @see #getLayout()
+ * @generated
+ */
+ void setLayout(Layout value);
+
+} // Layoutable
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutDataImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutDataImpl.java
new file mode 100644
index 000000000..a82a54f10
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutDataImpl.java
@@ -0,0 +1,315 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gmf.gmfgraph.Alignment;
+import org.eclipse.gmf.gmfgraph.BorderLayoutData;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+import org.eclipse.gmf.gmfgraph.Layoutable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Border Layout Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.BorderLayoutDataImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.BorderLayoutDataImpl#getAlignment <em>Alignment</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.BorderLayoutDataImpl#isVertical <em>Vertical</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BorderLayoutDataImpl extends EObjectImpl implements BorderLayoutData {
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final Alignment ALIGNMENT_EDEFAULT = Alignment.CENTER_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected Alignment alignment = ALIGNMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isVertical() <em>Vertical</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isVertical()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean VERTICAL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isVertical() <em>Vertical</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isVertical()
+ * @generated
+ * @ordered
+ */
+ protected boolean vertical = VERTICAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BorderLayoutDataImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getBorderLayoutData();
+ }
+
+ /**
+ * @generated NOT
+ */
+ public String getQualifiedClassName() {
+ return "java.lang.Object";
+ }
+
+
+ /**
+ * @generated NOT
+ */
+ public void setQualifiedClassName(String newQualifiedClassName) {
+ //throw new UnsupportedOperationException("You can not change predefined name of implementation class");
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layoutable getOwner() {
+ if (eContainerFeatureID != GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER) return null;
+ return (Layoutable)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwner(Layoutable newOwner) {
+ if (newOwner != eInternalContainer() || (eContainerFeatureID != GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER && newOwner != null)) {
+ if (EcoreUtil.isAncestor(this, newOwner))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newOwner != null)
+ msgs = ((InternalEObject)newOwner).eInverseAdd(this, GMFGraphPackage.LAYOUTABLE__LAYOUT_DATA, Layoutable.class, msgs);
+ msgs = eBasicSetContainer((InternalEObject)newOwner, GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER, newOwner, newOwner));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Alignment getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAlignment(Alignment newAlignment) {
+ Alignment oldAlignment = alignment;
+ alignment = newAlignment == null ? ALIGNMENT_EDEFAULT : newAlignment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.BORDER_LAYOUT_DATA__ALIGNMENT, oldAlignment, alignment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isVertical() {
+ return vertical;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVertical(boolean newVertical) {
+ boolean oldVertical = vertical;
+ vertical = newVertical;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.BORDER_LAYOUT_DATA__VERTICAL, oldVertical, vertical));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return eBasicSetContainer(otherEnd, GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER:
+ return eBasicSetContainer(null, GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER:
+ return eInternalContainer().eInverseRemove(this, GMFGraphPackage.LAYOUTABLE__LAYOUT_DATA, Layoutable.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER:
+ return getOwner();
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__ALIGNMENT:
+ return getAlignment();
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__VERTICAL:
+ return isVertical() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER:
+ setOwner((Layoutable)newValue);
+ return;
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__ALIGNMENT:
+ setAlignment((Alignment)newValue);
+ return;
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__VERTICAL:
+ setVertical(((Boolean)newValue).booleanValue());
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER:
+ setOwner((Layoutable)null);
+ return;
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__ALIGNMENT:
+ setAlignment(ALIGNMENT_EDEFAULT);
+ return;
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__VERTICAL:
+ setVertical(VERTICAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__OWNER:
+ return getOwner() != null;
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__ALIGNMENT:
+ return alignment != ALIGNMENT_EDEFAULT;
+ case GMFGraphPackage.BORDER_LAYOUT_DATA__VERTICAL:
+ return vertical != VERTICAL_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (alignment: ");
+ result.append(alignment);
+ result.append(", vertical: ");
+ result.append(vertical);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BorderLayoutDataImpl
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutImpl.java
new file mode 100644
index 000000000..9559677db
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/BorderLayoutImpl.java
@@ -0,0 +1,185 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
+import org.eclipse.gmf.gmfgraph.Dimension;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Border Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.BorderLayoutImpl#getSpacing <em>Spacing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BorderLayoutImpl extends EObjectImpl implements BorderLayout {
+ /**
+ * The cached value of the '{@link #getSpacing() <em>Spacing</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpacing()
+ * @generated
+ * @ordered
+ */
+ protected Dimension spacing = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BorderLayoutImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getBorderLayout();
+ }
+
+ /**
+ * @generated NOT
+ */
+ public String getQualifiedClassName() {
+ return "org.eclipse.draw2d.BorderLayout";
+ }
+
+ /**
+ * @generated NOT
+ */
+ public void setQualifiedClassName(String newQualifiedClassName) {
+ //throw new UnsupportedOperationException("You can not change predefined name of implementation class");
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dimension getSpacing() {
+ return spacing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSpacing(Dimension newSpacing, NotificationChain msgs) {
+ Dimension oldSpacing = spacing;
+ spacing = newSpacing;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.BORDER_LAYOUT__SPACING, oldSpacing, newSpacing);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpacing(Dimension newSpacing) {
+ if (newSpacing != spacing) {
+ NotificationChain msgs = null;
+ if (spacing != null)
+ msgs = ((InternalEObject)spacing).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.BORDER_LAYOUT__SPACING, null, msgs);
+ if (newSpacing != null)
+ msgs = ((InternalEObject)newSpacing).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.BORDER_LAYOUT__SPACING, null, msgs);
+ msgs = basicSetSpacing(newSpacing, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.BORDER_LAYOUT__SPACING, newSpacing, newSpacing));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT__SPACING:
+ return basicSetSpacing(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT__SPACING:
+ return getSpacing();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT__SPACING:
+ setSpacing((Dimension)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT__SPACING:
+ setSpacing((Dimension)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.BORDER_LAYOUT__SPACING:
+ return spacing != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BorderLayoutImpl
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomAttributeImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomAttributeImpl.java
new file mode 100644
index 000000000..e283afbbf
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomAttributeImpl.java
@@ -0,0 +1,320 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Custom Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomAttributeImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomAttributeImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomAttributeImpl#isDirectAccess <em>Direct Access</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomAttributeImpl#isMultiStatementValue <em>Multi Statement Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CustomAttributeImpl extends EObjectImpl implements CustomAttribute {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = "null";
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isDirectAccess() <em>Direct Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDirectAccess()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DIRECT_ACCESS_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isDirectAccess() <em>Direct Access</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDirectAccess()
+ * @generated
+ * @ordered
+ */
+ protected boolean directAccess = DIRECT_ACCESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isMultiStatementValue() <em>Multi Statement Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiStatementValue()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MULTI_STATEMENT_VALUE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMultiStatementValue() <em>Multi Statement Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMultiStatementValue()
+ * @generated
+ * @ordered
+ */
+ protected boolean multiStatementValue = MULTI_STATEMENT_VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CustomAttributeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getCustomAttribute();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_ATTRIBUTE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_ATTRIBUTE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDirectAccess() {
+ return directAccess;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDirectAccess(boolean newDirectAccess) {
+ boolean oldDirectAccess = directAccess;
+ directAccess = newDirectAccess;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_ATTRIBUTE__DIRECT_ACCESS, oldDirectAccess, directAccess));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMultiStatementValue() {
+ return multiStatementValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMultiStatementValue(boolean newMultiStatementValue) {
+ boolean oldMultiStatementValue = multiStatementValue;
+ multiStatementValue = newMultiStatementValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE, oldMultiStatementValue, multiStatementValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__NAME:
+ return getName();
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__VALUE:
+ return getValue();
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__DIRECT_ACCESS:
+ return isDirectAccess() ? Boolean.TRUE : Boolean.FALSE;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE:
+ return isMultiStatementValue() ? Boolean.TRUE : Boolean.FALSE;
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__NAME:
+ setName((String)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__VALUE:
+ setValue((String)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__DIRECT_ACCESS:
+ setDirectAccess(((Boolean)newValue).booleanValue());
+ return;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE:
+ setMultiStatementValue(((Boolean)newValue).booleanValue());
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__DIRECT_ACCESS:
+ setDirectAccess(DIRECT_ACCESS_EDEFAULT);
+ return;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE:
+ setMultiStatementValue(MULTI_STATEMENT_VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__DIRECT_ACCESS:
+ return directAccess != DIRECT_ACCESS_EDEFAULT;
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE:
+ return multiStatementValue != MULTI_STATEMENT_VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", value: ");
+ result.append(value);
+ result.append(", directAccess: ");
+ result.append(directAccess);
+ result.append(", multiStatementValue: ");
+ result.append(multiStatementValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CustomAttributeImpl
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomBorderImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomBorderImpl.java
index ea7a4c2e5..fc2c58eab 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomBorderImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomBorderImpl.java
@@ -6,10 +6,18 @@
*/
package org.eclipse.gmf.gmfgraph.impl;
+import java.util.Collection;
+
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
import org.eclipse.gmf.gmfgraph.CustomBorder;
import org.eclipse.gmf.gmfgraph.CustomClass;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
@@ -23,6 +31,7 @@ import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
* <ul>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomBorderImpl#getQualifiedClassName <em>Qualified Class Name</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomBorderImpl#getBundleName <em>Bundle Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomBorderImpl#getAttributes <em>Attributes</em>}</li>
* </ul>
* </p>
*
@@ -70,6 +79,16 @@ public class CustomBorderImpl extends EObjectImpl implements CustomBorder {
protected String bundleName = BUNDLE_NAME_EDEFAULT;
/**
+ * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected EList attributes = null;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -134,12 +153,39 @@ public class CustomBorderImpl extends EObjectImpl implements CustomBorder {
* <!-- end-user-doc -->
* @generated
*/
+ public EList getAttributes() {
+ if (attributes == null) {
+ attributes = new EObjectContainmentEList(CustomAttribute.class, this, GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES);
+ }
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES:
+ return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case GMFGraphPackage.CUSTOM_BORDER__QUALIFIED_CLASS_NAME:
return getQualifiedClassName();
case GMFGraphPackage.CUSTOM_BORDER__BUNDLE_NAME:
return getBundleName();
+ case GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES:
+ return getAttributes();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -157,6 +203,10 @@ public class CustomBorderImpl extends EObjectImpl implements CustomBorder {
case GMFGraphPackage.CUSTOM_BORDER__BUNDLE_NAME:
setBundleName((String)newValue);
return;
+ case GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES:
+ getAttributes().clear();
+ getAttributes().addAll((Collection)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -174,6 +224,9 @@ public class CustomBorderImpl extends EObjectImpl implements CustomBorder {
case GMFGraphPackage.CUSTOM_BORDER__BUNDLE_NAME:
setBundleName(BUNDLE_NAME_EDEFAULT);
return;
+ case GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES:
+ getAttributes().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -189,6 +242,8 @@ public class CustomBorderImpl extends EObjectImpl implements CustomBorder {
return QUALIFIED_CLASS_NAME_EDEFAULT == null ? qualifiedClassName != null : !QUALIFIED_CLASS_NAME_EDEFAULT.equals(qualifiedClassName);
case GMFGraphPackage.CUSTOM_BORDER__BUNDLE_NAME:
return BUNDLE_NAME_EDEFAULT == null ? bundleName != null : !BUNDLE_NAME_EDEFAULT.equals(bundleName);
+ case GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES:
+ return attributes != null && !attributes.isEmpty();
}
return super.eIsSet(featureID);
}
@@ -203,6 +258,7 @@ public class CustomBorderImpl extends EObjectImpl implements CustomBorder {
switch (derivedFeatureID) {
case GMFGraphPackage.CUSTOM_BORDER__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME;
case GMFGraphPackage.CUSTOM_BORDER__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES: return GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES;
default: return -1;
}
}
@@ -219,6 +275,7 @@ public class CustomBorderImpl extends EObjectImpl implements CustomBorder {
switch (baseFeatureID) {
case GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_BORDER__QUALIFIED_CLASS_NAME;
case GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_BORDER__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES: return GMFGraphPackage.CUSTOM_BORDER__ATTRIBUTES;
default: return -1;
}
}
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomFigureImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomFigureImpl.java
index 43946bfa6..086946684 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomFigureImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomFigureImpl.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.gmf.gmfgraph.Border;
import org.eclipse.gmf.gmfgraph.Color;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
import org.eclipse.gmf.gmfgraph.CustomClass;
import org.eclipse.gmf.gmfgraph.CustomFigure;
import org.eclipse.gmf.gmfgraph.Dimension;
@@ -28,6 +29,8 @@ import org.eclipse.gmf.gmfgraph.Font;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.Identity;
import org.eclipse.gmf.gmfgraph.Insets;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
import org.eclipse.gmf.gmfgraph.Point;
/**
@@ -37,6 +40,8 @@ import org.eclipse.gmf.gmfgraph.Point;
* <p>
* The following features are implemented:
* <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getLayoutData <em>Layout Data</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getLayout <em>Layout</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getParent <em>Parent</em>}</li>
@@ -50,9 +55,9 @@ import org.eclipse.gmf.gmfgraph.Point;
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getBorder <em>Border</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getLocation <em>Location</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getSize <em>Size</em>}</li>
- * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getLayoutManager <em>Layout Manager</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getQualifiedClassName <em>Qualified Class Name</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getBundleName <em>Bundle Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomFigureImpl#getAttributes <em>Attributes</em>}</li>
* </ul>
* </p>
*
@@ -60,6 +65,26 @@ import org.eclipse.gmf.gmfgraph.Point;
*/
public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
/**
+ * The cached value of the '{@link #getLayoutData() <em>Layout Data</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayoutData()
+ * @generated
+ * @ordered
+ */
+ protected LayoutData layoutData = null;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout = null;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -190,26 +215,6 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
protected Point size = null;
/**
- * The default value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLayoutManager()
- * @generated
- * @ordered
- */
- protected static final String LAYOUT_MANAGER_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLayoutManager()
- * @generated
- * @ordered
- */
- protected String layoutManager = LAYOUT_MANAGER_EDEFAULT;
-
- /**
* The default value of the '{@link #getQualifiedClassName() <em>Qualified Class Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -250,6 +255,16 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
protected String bundleName = BUNDLE_NAME_EDEFAULT;
/**
+ * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected EList attributes = null;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -272,6 +287,92 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
* <!-- end-user-doc -->
* @generated
*/
+ public LayoutData getLayoutData() {
+ return layoutData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayoutData(LayoutData newLayoutData, NotificationChain msgs) {
+ LayoutData oldLayoutData = layoutData;
+ layoutData = newLayoutData;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA, oldLayoutData, newLayoutData);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayoutData(LayoutData newLayoutData) {
+ if (newLayoutData != layoutData) {
+ NotificationChain msgs = null;
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ if (newLayoutData != null)
+ msgs = ((InternalEObject)newLayoutData).eInverseAdd(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ msgs = basicSetLayoutData(newLayoutData, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA, newLayoutData, newLayoutData));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layout getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayout(Layout newLayout, NotificationChain msgs) {
+ Layout oldLayout = layout;
+ layout = newLayout;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_FIGURE__LAYOUT, oldLayout, newLayout);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayout(Layout newLayout) {
+ if (newLayout != layout) {
+ NotificationChain msgs = null;
+ if (layout != null)
+ msgs = ((InternalEObject)layout).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.CUSTOM_FIGURE__LAYOUT, null, msgs);
+ if (newLayout != null)
+ msgs = ((InternalEObject)newLayout).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.CUSTOM_FIGURE__LAYOUT, null, msgs);
+ msgs = basicSetLayout(newLayout, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_FIGURE__LAYOUT, newLayout, newLayout));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public String getName() {
return name;
}
@@ -745,27 +846,6 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
* <!-- end-user-doc -->
* @generated
*/
- public String getLayoutManager() {
- return layoutManager;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLayoutManager(String newLayoutManager) {
- String oldLayoutManager = layoutManager;
- layoutManager = newLayoutManager;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_MANAGER, oldLayoutManager, layoutManager));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public String getQualifiedClassName() {
return qualifiedClassName;
}
@@ -808,8 +888,24 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
* <!-- end-user-doc -->
* @generated
*/
+ public EList getAttributes() {
+ if (attributes == null) {
+ attributes = new EObjectContainmentEList(CustomAttribute.class, this, GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES);
+ }
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA:
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA, null, msgs);
+ return basicSetLayoutData((LayoutData)otherEnd, msgs);
case GMFGraphPackage.CUSTOM_FIGURE__PARENT:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
@@ -825,6 +921,10 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
*/
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA:
+ return basicSetLayoutData(null, msgs);
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT:
+ return basicSetLayout(null, msgs);
case GMFGraphPackage.CUSTOM_FIGURE__CHILDREN:
return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
case GMFGraphPackage.CUSTOM_FIGURE__PARENT:
@@ -849,6 +949,8 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
return basicSetLocation(null, msgs);
case GMFGraphPackage.CUSTOM_FIGURE__SIZE:
return basicSetSize(null, msgs);
+ case GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES:
+ return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -873,6 +975,10 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
*/
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA:
+ return getLayoutData();
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT:
+ return getLayout();
case GMFGraphPackage.CUSTOM_FIGURE__NAME:
return getName();
case GMFGraphPackage.CUSTOM_FIGURE__CHILDREN:
@@ -899,12 +1005,12 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
return getLocation();
case GMFGraphPackage.CUSTOM_FIGURE__SIZE:
return getSize();
- case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_MANAGER:
- return getLayoutManager();
case GMFGraphPackage.CUSTOM_FIGURE__QUALIFIED_CLASS_NAME:
return getQualifiedClassName();
case GMFGraphPackage.CUSTOM_FIGURE__BUNDLE_NAME:
return getBundleName();
+ case GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES:
+ return getAttributes();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -916,6 +1022,12 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
*/
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA:
+ setLayoutData((LayoutData)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT:
+ setLayout((Layout)newValue);
+ return;
case GMFGraphPackage.CUSTOM_FIGURE__NAME:
setName((String)newValue);
return;
@@ -953,15 +1065,16 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
case GMFGraphPackage.CUSTOM_FIGURE__SIZE:
setSize((Point)newValue);
return;
- case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_MANAGER:
- setLayoutManager((String)newValue);
- return;
case GMFGraphPackage.CUSTOM_FIGURE__QUALIFIED_CLASS_NAME:
setQualifiedClassName((String)newValue);
return;
case GMFGraphPackage.CUSTOM_FIGURE__BUNDLE_NAME:
setBundleName((String)newValue);
return;
+ case GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES:
+ getAttributes().clear();
+ getAttributes().addAll((Collection)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -973,6 +1086,12 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
*/
public void eUnset(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA:
+ setLayoutData((LayoutData)null);
+ return;
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT:
+ setLayout((Layout)null);
+ return;
case GMFGraphPackage.CUSTOM_FIGURE__NAME:
setName(NAME_EDEFAULT);
return;
@@ -1009,15 +1128,15 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
case GMFGraphPackage.CUSTOM_FIGURE__SIZE:
setSize((Point)null);
return;
- case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_MANAGER:
- setLayoutManager(LAYOUT_MANAGER_EDEFAULT);
- return;
case GMFGraphPackage.CUSTOM_FIGURE__QUALIFIED_CLASS_NAME:
setQualifiedClassName(QUALIFIED_CLASS_NAME_EDEFAULT);
return;
case GMFGraphPackage.CUSTOM_FIGURE__BUNDLE_NAME:
setBundleName(BUNDLE_NAME_EDEFAULT);
return;
+ case GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES:
+ getAttributes().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -1029,6 +1148,10 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
*/
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_DATA:
+ return layoutData != null;
+ case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT:
+ return layout != null;
case GMFGraphPackage.CUSTOM_FIGURE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case GMFGraphPackage.CUSTOM_FIGURE__CHILDREN:
@@ -1055,12 +1178,12 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
return location != null;
case GMFGraphPackage.CUSTOM_FIGURE__SIZE:
return size != null;
- case GMFGraphPackage.CUSTOM_FIGURE__LAYOUT_MANAGER:
- return LAYOUT_MANAGER_EDEFAULT == null ? layoutManager != null : !LAYOUT_MANAGER_EDEFAULT.equals(layoutManager);
case GMFGraphPackage.CUSTOM_FIGURE__QUALIFIED_CLASS_NAME:
return QUALIFIED_CLASS_NAME_EDEFAULT == null ? qualifiedClassName != null : !QUALIFIED_CLASS_NAME_EDEFAULT.equals(qualifiedClassName);
case GMFGraphPackage.CUSTOM_FIGURE__BUNDLE_NAME:
return BUNDLE_NAME_EDEFAULT == null ? bundleName != null : !BUNDLE_NAME_EDEFAULT.equals(bundleName);
+ case GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES:
+ return attributes != null && !attributes.isEmpty();
}
return super.eIsSet(featureID);
}
@@ -1081,6 +1204,7 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
switch (derivedFeatureID) {
case GMFGraphPackage.CUSTOM_FIGURE__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME;
case GMFGraphPackage.CUSTOM_FIGURE__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES: return GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES;
default: return -1;
}
}
@@ -1103,6 +1227,7 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
switch (baseFeatureID) {
case GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_FIGURE__QUALIFIED_CLASS_NAME;
case GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_FIGURE__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES: return GMFGraphPackage.CUSTOM_FIGURE__ATTRIBUTES;
default: return -1;
}
}
@@ -1120,8 +1245,6 @@ public class CustomFigureImpl extends EObjectImpl implements CustomFigure {
StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: ");
result.append(name);
- result.append(", layoutManager: ");
- result.append(layoutManager);
result.append(", qualifiedClassName: ");
result.append(qualifiedClassName);
result.append(", bundleName: ");
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutDataImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutDataImpl.java
new file mode 100644
index 000000000..c2fa9f052
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutDataImpl.java
@@ -0,0 +1,376 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
+import org.eclipse.gmf.gmfgraph.CustomClass;
+import org.eclipse.gmf.gmfgraph.CustomLayoutData;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+import org.eclipse.gmf.gmfgraph.Layoutable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Custom Layout Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutDataImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutDataImpl#getQualifiedClassName <em>Qualified Class Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutDataImpl#getBundleName <em>Bundle Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutDataImpl#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CustomLayoutDataImpl extends EObjectImpl implements CustomLayoutData {
+ /**
+ * The default value of the '{@link #getQualifiedClassName() <em>Qualified Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String QUALIFIED_CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getQualifiedClassName() <em>Qualified Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedClassName()
+ * @generated
+ * @ordered
+ */
+ protected String qualifiedClassName = QUALIFIED_CLASS_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBundleName() <em>Bundle Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundleName()
+ * @generated
+ * @ordered
+ */
+ protected static final String BUNDLE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBundleName() <em>Bundle Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundleName()
+ * @generated
+ * @ordered
+ */
+ protected String bundleName = BUNDLE_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected EList attributes = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CustomLayoutDataImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getCustomLayoutData();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layoutable getOwner() {
+ if (eContainerFeatureID != GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER) return null;
+ return (Layoutable)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwner(Layoutable newOwner) {
+ if (newOwner != eInternalContainer() || (eContainerFeatureID != GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER && newOwner != null)) {
+ if (EcoreUtil.isAncestor(this, newOwner))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newOwner != null)
+ msgs = ((InternalEObject)newOwner).eInverseAdd(this, GMFGraphPackage.LAYOUTABLE__LAYOUT_DATA, Layoutable.class, msgs);
+ msgs = eBasicSetContainer((InternalEObject)newOwner, GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER, newOwner, newOwner));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getQualifiedClassName() {
+ return qualifiedClassName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualifiedClassName(String newQualifiedClassName) {
+ String oldQualifiedClassName = qualifiedClassName;
+ qualifiedClassName = newQualifiedClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME, oldQualifiedClassName, qualifiedClassName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBundleName() {
+ return bundleName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBundleName(String newBundleName) {
+ String oldBundleName = bundleName;
+ bundleName = newBundleName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME, oldBundleName, bundleName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getAttributes() {
+ if (attributes == null) {
+ attributes = new EObjectContainmentEList(CustomAttribute.class, this, GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES);
+ }
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return eBasicSetContainer(otherEnd, GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER:
+ return eBasicSetContainer(null, GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER, msgs);
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES:
+ return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER:
+ return eInternalContainer().eInverseRemove(this, GMFGraphPackage.LAYOUTABLE__LAYOUT_DATA, Layoutable.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER:
+ return getOwner();
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME:
+ return getQualifiedClassName();
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME:
+ return getBundleName();
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES:
+ return getAttributes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER:
+ setOwner((Layoutable)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME:
+ setQualifiedClassName((String)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME:
+ setBundleName((String)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES:
+ getAttributes().clear();
+ getAttributes().addAll((Collection)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER:
+ setOwner((Layoutable)null);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME:
+ setQualifiedClassName(QUALIFIED_CLASS_NAME_EDEFAULT);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME:
+ setBundleName(BUNDLE_NAME_EDEFAULT);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES:
+ getAttributes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__OWNER:
+ return getOwner() != null;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME:
+ return QUALIFIED_CLASS_NAME_EDEFAULT == null ? qualifiedClassName != null : !QUALIFIED_CLASS_NAME_EDEFAULT.equals(qualifiedClassName);
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME:
+ return BUNDLE_NAME_EDEFAULT == null ? bundleName != null : !BUNDLE_NAME_EDEFAULT.equals(bundleName);
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES:
+ return attributes != null && !attributes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) {
+ if (baseClass == CustomClass.class) {
+ switch (derivedFeatureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES: return GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) {
+ if (baseClass == CustomClass.class) {
+ switch (baseFeatureID) {
+ case GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_LAYOUT_DATA__QUALIFIED_CLASS_NAME;
+ case GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_LAYOUT_DATA__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES: return GMFGraphPackage.CUSTOM_LAYOUT_DATA__ATTRIBUTES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (qualifiedClassName: ");
+ result.append(qualifiedClassName);
+ result.append(", bundleName: ");
+ result.append(bundleName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CustomLayoutDataImpl
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutImpl.java
new file mode 100644
index 000000000..1472235b1
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/CustomLayoutImpl.java
@@ -0,0 +1,302 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
+import org.eclipse.gmf.gmfgraph.CustomClass;
+import org.eclipse.gmf.gmfgraph.CustomLayout;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Custom Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutImpl#getQualifiedClassName <em>Qualified Class Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutImpl#getBundleName <em>Bundle Name</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.CustomLayoutImpl#getAttributes <em>Attributes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CustomLayoutImpl extends EObjectImpl implements CustomLayout {
+ /**
+ * The default value of the '{@link #getQualifiedClassName() <em>Qualified Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedClassName()
+ * @generated
+ * @ordered
+ */
+ protected static final String QUALIFIED_CLASS_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getQualifiedClassName() <em>Qualified Class Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getQualifiedClassName()
+ * @generated
+ * @ordered
+ */
+ protected String qualifiedClassName = QUALIFIED_CLASS_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBundleName() <em>Bundle Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundleName()
+ * @generated
+ * @ordered
+ */
+ protected static final String BUNDLE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBundleName() <em>Bundle Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBundleName()
+ * @generated
+ * @ordered
+ */
+ protected String bundleName = BUNDLE_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAttributes() <em>Attributes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributes()
+ * @generated
+ * @ordered
+ */
+ protected EList attributes = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CustomLayoutImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getCustomLayout();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getQualifiedClassName() {
+ return qualifiedClassName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setQualifiedClassName(String newQualifiedClassName) {
+ String oldQualifiedClassName = qualifiedClassName;
+ qualifiedClassName = newQualifiedClassName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME, oldQualifiedClassName, qualifiedClassName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBundleName() {
+ return bundleName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBundleName(String newBundleName) {
+ String oldBundleName = bundleName;
+ bundleName = newBundleName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME, oldBundleName, bundleName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getAttributes() {
+ if (attributes == null) {
+ attributes = new EObjectContainmentEList(CustomAttribute.class, this, GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES);
+ }
+ return attributes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES:
+ return ((InternalEList)getAttributes()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME:
+ return getQualifiedClassName();
+ case GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME:
+ return getBundleName();
+ case GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES:
+ return getAttributes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME:
+ setQualifiedClassName((String)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME:
+ setBundleName((String)newValue);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES:
+ getAttributes().clear();
+ getAttributes().addAll((Collection)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME:
+ setQualifiedClassName(QUALIFIED_CLASS_NAME_EDEFAULT);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME:
+ setBundleName(BUNDLE_NAME_EDEFAULT);
+ return;
+ case GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES:
+ getAttributes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME:
+ return QUALIFIED_CLASS_NAME_EDEFAULT == null ? qualifiedClassName != null : !QUALIFIED_CLASS_NAME_EDEFAULT.equals(qualifiedClassName);
+ case GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME:
+ return BUNDLE_NAME_EDEFAULT == null ? bundleName != null : !BUNDLE_NAME_EDEFAULT.equals(bundleName);
+ case GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES:
+ return attributes != null && !attributes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) {
+ if (baseClass == CustomClass.class) {
+ switch (derivedFeatureID) {
+ case GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME;
+ case GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES: return GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) {
+ if (baseClass == CustomClass.class) {
+ switch (baseFeatureID) {
+ case GMFGraphPackage.CUSTOM_CLASS__QUALIFIED_CLASS_NAME: return GMFGraphPackage.CUSTOM_LAYOUT__QUALIFIED_CLASS_NAME;
+ case GMFGraphPackage.CUSTOM_CLASS__BUNDLE_NAME: return GMFGraphPackage.CUSTOM_LAYOUT__BUNDLE_NAME;
+ case GMFGraphPackage.CUSTOM_CLASS__ATTRIBUTES: return GMFGraphPackage.CUSTOM_LAYOUT__ATTRIBUTES;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (qualifiedClassName: ");
+ result.append(qualifiedClassName);
+ result.append(", bundleName: ");
+ result.append(bundleName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CustomLayoutImpl
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/FigureRefImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/FigureRefImpl.java
index b6b76699f..d1728c161 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/FigureRefImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/FigureRefImpl.java
@@ -7,6 +7,7 @@
package org.eclipse.gmf.gmfgraph.impl;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
@@ -14,6 +15,8 @@ import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.eclipse.gmf.gmfgraph.Figure;
import org.eclipse.gmf.gmfgraph.FigureRef;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
/**
* <!-- begin-user-doc -->
@@ -22,6 +25,8 @@ import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
* <p>
* The following features are implemented:
* <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.FigureRefImpl#getLayoutData <em>Layout Data</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.FigureRefImpl#getLayout <em>Layout</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.FigureRefImpl#getFigure <em>Figure</em>}</li>
* </ul>
* </p>
@@ -30,6 +35,26 @@ import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
*/
public class FigureRefImpl extends EObjectImpl implements FigureRef {
/**
+ * The cached value of the '{@link #getLayoutData() <em>Layout Data</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayoutData()
+ * @generated
+ * @ordered
+ */
+ protected LayoutData layoutData = null;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout = null;
+
+ /**
* The cached value of the '{@link #getFigure() <em>Figure</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -62,6 +87,92 @@ public class FigureRefImpl extends EObjectImpl implements FigureRef {
* <!-- end-user-doc -->
* @generated
*/
+ public LayoutData getLayoutData() {
+ return layoutData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayoutData(LayoutData newLayoutData, NotificationChain msgs) {
+ LayoutData oldLayoutData = layoutData;
+ layoutData = newLayoutData;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.FIGURE_REF__LAYOUT_DATA, oldLayoutData, newLayoutData);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayoutData(LayoutData newLayoutData) {
+ if (newLayoutData != layoutData) {
+ NotificationChain msgs = null;
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ if (newLayoutData != null)
+ msgs = ((InternalEObject)newLayoutData).eInverseAdd(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ msgs = basicSetLayoutData(newLayoutData, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.FIGURE_REF__LAYOUT_DATA, newLayoutData, newLayoutData));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layout getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayout(Layout newLayout, NotificationChain msgs) {
+ Layout oldLayout = layout;
+ layout = newLayout;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.FIGURE_REF__LAYOUT, oldLayout, newLayout);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayout(Layout newLayout) {
+ if (newLayout != layout) {
+ NotificationChain msgs = null;
+ if (layout != null)
+ msgs = ((InternalEObject)layout).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.FIGURE_REF__LAYOUT, null, msgs);
+ if (newLayout != null)
+ msgs = ((InternalEObject)newLayout).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.FIGURE_REF__LAYOUT, null, msgs);
+ msgs = basicSetLayout(newLayout, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.FIGURE_REF__LAYOUT, newLayout, newLayout));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public Figure getFigure() {
if (figure != null && figure.eIsProxy()) {
InternalEObject oldFigure = (InternalEObject)figure;
@@ -100,8 +211,42 @@ public class FigureRefImpl extends EObjectImpl implements FigureRef {
* <!-- end-user-doc -->
* @generated
*/
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.FIGURE_REF__LAYOUT_DATA:
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.FIGURE_REF__LAYOUT_DATA, null, msgs);
+ return basicSetLayoutData((LayoutData)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.FIGURE_REF__LAYOUT_DATA:
+ return basicSetLayoutData(null, msgs);
+ case GMFGraphPackage.FIGURE_REF__LAYOUT:
+ return basicSetLayout(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case GMFGraphPackage.FIGURE_REF__LAYOUT_DATA:
+ return getLayoutData();
+ case GMFGraphPackage.FIGURE_REF__LAYOUT:
+ return getLayout();
case GMFGraphPackage.FIGURE_REF__FIGURE:
if (resolve) return getFigure();
return basicGetFigure();
@@ -116,6 +261,12 @@ public class FigureRefImpl extends EObjectImpl implements FigureRef {
*/
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case GMFGraphPackage.FIGURE_REF__LAYOUT_DATA:
+ setLayoutData((LayoutData)newValue);
+ return;
+ case GMFGraphPackage.FIGURE_REF__LAYOUT:
+ setLayout((Layout)newValue);
+ return;
case GMFGraphPackage.FIGURE_REF__FIGURE:
setFigure((Figure)newValue);
return;
@@ -130,6 +281,12 @@ public class FigureRefImpl extends EObjectImpl implements FigureRef {
*/
public void eUnset(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.FIGURE_REF__LAYOUT_DATA:
+ setLayoutData((LayoutData)null);
+ return;
+ case GMFGraphPackage.FIGURE_REF__LAYOUT:
+ setLayout((Layout)null);
+ return;
case GMFGraphPackage.FIGURE_REF__FIGURE:
setFigure((Figure)null);
return;
@@ -144,6 +301,10 @@ public class FigureRefImpl extends EObjectImpl implements FigureRef {
*/
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.FIGURE_REF__LAYOUT_DATA:
+ return layoutData != null;
+ case GMFGraphPackage.FIGURE_REF__LAYOUT:
+ return layout != null;
case GMFGraphPackage.FIGURE_REF__FIGURE:
return figure != null;
}
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphFactoryImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphFactoryImpl.java
index 664766e6a..c41b708f8 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphFactoryImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphFactoryImpl.java
@@ -12,7 +12,10 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.gmf.gmfgraph.Alignment;
import org.eclipse.gmf.gmfgraph.BasicFont;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
+import org.eclipse.gmf.gmfgraph.BorderLayoutData;
import org.eclipse.gmf.gmfgraph.Canvas;
import org.eclipse.gmf.gmfgraph.Child;
import org.eclipse.gmf.gmfgraph.ColorConstants;
@@ -20,10 +23,13 @@ import org.eclipse.gmf.gmfgraph.Compartment;
import org.eclipse.gmf.gmfgraph.CompoundBorder;
import org.eclipse.gmf.gmfgraph.Connection;
import org.eclipse.gmf.gmfgraph.ConstantColor;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
import org.eclipse.gmf.gmfgraph.CustomBorder;
import org.eclipse.gmf.gmfgraph.CustomConnection;
import org.eclipse.gmf.gmfgraph.CustomDecoration;
import org.eclipse.gmf.gmfgraph.CustomFigure;
+import org.eclipse.gmf.gmfgraph.CustomLayout;
+import org.eclipse.gmf.gmfgraph.CustomLayoutData;
import org.eclipse.gmf.gmfgraph.Dimension;
import org.eclipse.gmf.gmfgraph.Direction;
import org.eclipse.gmf.gmfgraph.Ellipse;
@@ -34,6 +40,8 @@ import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.GeneralFacet;
import org.eclipse.gmf.gmfgraph.GradientFacet;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
import org.eclipse.gmf.gmfgraph.Insets;
import org.eclipse.gmf.gmfgraph.Label;
import org.eclipse.gmf.gmfgraph.LabeledContainer;
@@ -126,6 +134,13 @@ public class GMFGraphFactoryImpl extends EFactoryImpl implements GMFGraphFactory
case GMFGraphPackage.MARGIN_BORDER: return createMarginBorder();
case GMFGraphPackage.COMPOUND_BORDER: return createCompoundBorder();
case GMFGraphPackage.CUSTOM_BORDER: return createCustomBorder();
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA: return createCustomLayoutData();
+ case GMFGraphPackage.GRID_LAYOUT_DATA: return createGridLayoutData();
+ case GMFGraphPackage.BORDER_LAYOUT_DATA: return createBorderLayoutData();
+ case GMFGraphPackage.CUSTOM_LAYOUT: return createCustomLayout();
+ case GMFGraphPackage.GRID_LAYOUT: return createGridLayout();
+ case GMFGraphPackage.BORDER_LAYOUT: return createBorderLayout();
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE: return createCustomAttribute();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -146,6 +161,8 @@ public class GMFGraphFactoryImpl extends EFactoryImpl implements GMFGraphFactory
return createDirectionFromString(eDataType, initialValue);
case GMFGraphPackage.LINE_KIND:
return createLineKindFromString(eDataType, initialValue);
+ case GMFGraphPackage.ALIGNMENT:
+ return createAlignmentFromString(eDataType, initialValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
@@ -166,6 +183,8 @@ public class GMFGraphFactoryImpl extends EFactoryImpl implements GMFGraphFactory
return convertDirectionToString(eDataType, instanceValue);
case GMFGraphPackage.LINE_KIND:
return convertLineKindToString(eDataType, instanceValue);
+ case GMFGraphPackage.ALIGNMENT:
+ return convertAlignmentToString(eDataType, instanceValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
@@ -496,6 +515,76 @@ public class GMFGraphFactoryImpl extends EFactoryImpl implements GMFGraphFactory
* <!-- end-user-doc -->
* @generated
*/
+ public CustomLayoutData createCustomLayoutData() {
+ CustomLayoutDataImpl customLayoutData = new CustomLayoutDataImpl();
+ return customLayoutData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GridLayoutData createGridLayoutData() {
+ GridLayoutDataImpl gridLayoutData = new GridLayoutDataImpl();
+ return gridLayoutData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BorderLayoutData createBorderLayoutData() {
+ BorderLayoutDataImpl borderLayoutData = new BorderLayoutDataImpl();
+ return borderLayoutData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomLayout createCustomLayout() {
+ CustomLayoutImpl customLayout = new CustomLayoutImpl();
+ return customLayout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GridLayout createGridLayout() {
+ GridLayoutImpl gridLayout = new GridLayoutImpl();
+ return gridLayout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BorderLayout createBorderLayout() {
+ BorderLayoutImpl borderLayout = new BorderLayoutImpl();
+ return borderLayout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CustomAttribute createCustomAttribute() {
+ CustomAttributeImpl customAttribute = new CustomAttributeImpl();
+ return customAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public ColorConstants createColorConstantsFromString(EDataType eDataType, String initialValue) {
ColorConstants result = ColorConstants.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
@@ -576,6 +665,26 @@ public class GMFGraphFactoryImpl extends EFactoryImpl implements GMFGraphFactory
* <!-- end-user-doc -->
* @generated
*/
+ public Alignment createAlignmentFromString(EDataType eDataType, String initialValue) {
+ Alignment result = Alignment.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAlignmentToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public GMFGraphPackage getGMFGraphPackage() {
return (GMFGraphPackage)getEPackage();
}
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphPackageImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphPackageImpl.java
index 14e1eab7b..744b0e4e9 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphPackageImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GMFGraphPackageImpl.java
@@ -12,8 +12,11 @@ import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.gmf.gmfgraph.Alignment;
import org.eclipse.gmf.gmfgraph.BasicFont;
import org.eclipse.gmf.gmfgraph.Border;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
+import org.eclipse.gmf.gmfgraph.BorderLayoutData;
import org.eclipse.gmf.gmfgraph.Canvas;
import org.eclipse.gmf.gmfgraph.Child;
import org.eclipse.gmf.gmfgraph.Color;
@@ -23,11 +26,14 @@ import org.eclipse.gmf.gmfgraph.CompoundBorder;
import org.eclipse.gmf.gmfgraph.Connection;
import org.eclipse.gmf.gmfgraph.ConnectionFigure;
import org.eclipse.gmf.gmfgraph.ConstantColor;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
import org.eclipse.gmf.gmfgraph.CustomBorder;
import org.eclipse.gmf.gmfgraph.CustomClass;
import org.eclipse.gmf.gmfgraph.CustomConnection;
import org.eclipse.gmf.gmfgraph.CustomDecoration;
import org.eclipse.gmf.gmfgraph.CustomFigure;
+import org.eclipse.gmf.gmfgraph.CustomLayout;
+import org.eclipse.gmf.gmfgraph.CustomLayoutData;
import org.eclipse.gmf.gmfgraph.DecorationFigure;
import org.eclipse.gmf.gmfgraph.DiagramElement;
import org.eclipse.gmf.gmfgraph.Dimension;
@@ -43,10 +49,15 @@ import org.eclipse.gmf.gmfgraph.GMFGraphFactory;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.GeneralFacet;
import org.eclipse.gmf.gmfgraph.GradientFacet;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
import org.eclipse.gmf.gmfgraph.Identity;
import org.eclipse.gmf.gmfgraph.Insets;
import org.eclipse.gmf.gmfgraph.Label;
import org.eclipse.gmf.gmfgraph.LabeledContainer;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
+import org.eclipse.gmf.gmfgraph.Layoutable;
import org.eclipse.gmf.gmfgraph.LineBorder;
import org.eclipse.gmf.gmfgraph.LineKind;
import org.eclipse.gmf.gmfgraph.MarginBorder;
@@ -383,6 +394,76 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
* <!-- end-user-doc -->
* @generated
*/
+ private EClass layoutDataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass customLayoutDataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gridLayoutDataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass borderLayoutDataEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass layoutableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass layoutEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass customLayoutEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gridLayoutEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass borderLayoutEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass customAttributeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EEnum colorConstantsEEnum = null;
/**
@@ -407,6 +488,13 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
private EEnum lineKindEEnum = null;
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum alignmentEEnum = null;
+
+ /**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
@@ -848,15 +936,6 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getFigure_LayoutManager() {
- return (EAttribute)figureEClass.getEStructuralFeatures().get(12);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public EClass getFigureRef() {
return figureRefEClass;
}
@@ -1136,6 +1215,15 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
* <!-- end-user-doc -->
* @generated
*/
+ public EReference getCustomClass_Attributes() {
+ return (EReference)customClassEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EClass getCustomFigure() {
return customFigureEClass;
}
@@ -1469,6 +1557,294 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
* <!-- end-user-doc -->
* @generated
*/
+ public EClass getLayoutData() {
+ return layoutDataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLayoutData_Owner() {
+ return (EReference)layoutDataEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCustomLayoutData() {
+ return customLayoutDataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGridLayoutData() {
+ return gridLayoutDataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayoutData_GrabExcessHorizontalSpace() {
+ return (EAttribute)gridLayoutDataEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayoutData_GrabExcessVerticalSpace() {
+ return (EAttribute)gridLayoutDataEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayoutData_VerticalAlignment() {
+ return (EAttribute)gridLayoutDataEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayoutData_HorizontalAlignment() {
+ return (EAttribute)gridLayoutDataEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayoutData_VerticalSpan() {
+ return (EAttribute)gridLayoutDataEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayoutData_HorizontalSpan() {
+ return (EAttribute)gridLayoutDataEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayoutData_HorizontalIndent() {
+ return (EAttribute)gridLayoutDataEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGridLayoutData_SizeHint() {
+ return (EReference)gridLayoutDataEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBorderLayoutData() {
+ return borderLayoutDataEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBorderLayoutData_Alignment() {
+ return (EAttribute)borderLayoutDataEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBorderLayoutData_Vertical() {
+ return (EAttribute)borderLayoutDataEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLayoutable() {
+ return layoutableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLayoutable_LayoutData() {
+ return (EReference)layoutableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLayoutable_Layout() {
+ return (EReference)layoutableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLayout() {
+ return layoutEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCustomLayout() {
+ return customLayoutEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGridLayout() {
+ return gridLayoutEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayout_NumColumns() {
+ return (EAttribute)gridLayoutEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGridLayout_EqualWidth() {
+ return (EAttribute)gridLayoutEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGridLayout_Margins() {
+ return (EReference)gridLayoutEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGridLayout_Spacing() {
+ return (EReference)gridLayoutEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBorderLayout() {
+ return borderLayoutEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBorderLayout_Spacing() {
+ return (EReference)borderLayoutEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCustomAttribute() {
+ return customAttributeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCustomAttribute_Name() {
+ return (EAttribute)customAttributeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCustomAttribute_Value() {
+ return (EAttribute)customAttributeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCustomAttribute_DirectAccess() {
+ return (EAttribute)customAttributeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCustomAttribute_MultiStatementValue() {
+ return (EAttribute)customAttributeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EEnum getColorConstants() {
return colorConstantsEEnum;
}
@@ -1496,6 +1872,15 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
* <!-- end-user-doc -->
* @generated
*/
+ public EEnum getAlignment() {
+ return alignmentEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public GMFGraphFactory getGMFGraphFactory() {
return (GMFGraphFactory)getEFactoryInstance();
}
@@ -1572,7 +1957,6 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
createEReference(figureEClass, FIGURE__BORDER);
createEReference(figureEClass, FIGURE__LOCATION);
createEReference(figureEClass, FIGURE__SIZE);
- createEAttribute(figureEClass, FIGURE__LAYOUT_MANAGER);
figureRefEClass = createEClass(FIGURE_REF);
createEReference(figureRefEClass, FIGURE_REF__FIGURE);
@@ -1619,6 +2003,7 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
customClassEClass = createEClass(CUSTOM_CLASS);
createEAttribute(customClassEClass, CUSTOM_CLASS__QUALIFIED_CLASS_NAME);
createEAttribute(customClassEClass, CUSTOM_CLASS__BUNDLE_NAME);
+ createEReference(customClassEClass, CUSTOM_CLASS__ATTRIBUTES);
customFigureEClass = createEClass(CUSTOM_FIGURE);
@@ -1672,11 +2057,54 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
customBorderEClass = createEClass(CUSTOM_BORDER);
+ layoutDataEClass = createEClass(LAYOUT_DATA);
+ createEReference(layoutDataEClass, LAYOUT_DATA__OWNER);
+
+ customLayoutDataEClass = createEClass(CUSTOM_LAYOUT_DATA);
+
+ gridLayoutDataEClass = createEClass(GRID_LAYOUT_DATA);
+ createEAttribute(gridLayoutDataEClass, GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE);
+ createEAttribute(gridLayoutDataEClass, GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE);
+ createEAttribute(gridLayoutDataEClass, GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT);
+ createEAttribute(gridLayoutDataEClass, GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT);
+ createEAttribute(gridLayoutDataEClass, GRID_LAYOUT_DATA__VERTICAL_SPAN);
+ createEAttribute(gridLayoutDataEClass, GRID_LAYOUT_DATA__HORIZONTAL_SPAN);
+ createEAttribute(gridLayoutDataEClass, GRID_LAYOUT_DATA__HORIZONTAL_INDENT);
+ createEReference(gridLayoutDataEClass, GRID_LAYOUT_DATA__SIZE_HINT);
+
+ borderLayoutDataEClass = createEClass(BORDER_LAYOUT_DATA);
+ createEAttribute(borderLayoutDataEClass, BORDER_LAYOUT_DATA__ALIGNMENT);
+ createEAttribute(borderLayoutDataEClass, BORDER_LAYOUT_DATA__VERTICAL);
+
+ layoutableEClass = createEClass(LAYOUTABLE);
+ createEReference(layoutableEClass, LAYOUTABLE__LAYOUT_DATA);
+ createEReference(layoutableEClass, LAYOUTABLE__LAYOUT);
+
+ layoutEClass = createEClass(LAYOUT);
+
+ customLayoutEClass = createEClass(CUSTOM_LAYOUT);
+
+ gridLayoutEClass = createEClass(GRID_LAYOUT);
+ createEAttribute(gridLayoutEClass, GRID_LAYOUT__NUM_COLUMNS);
+ createEAttribute(gridLayoutEClass, GRID_LAYOUT__EQUAL_WIDTH);
+ createEReference(gridLayoutEClass, GRID_LAYOUT__MARGINS);
+ createEReference(gridLayoutEClass, GRID_LAYOUT__SPACING);
+
+ borderLayoutEClass = createEClass(BORDER_LAYOUT);
+ createEReference(borderLayoutEClass, BORDER_LAYOUT__SPACING);
+
+ customAttributeEClass = createEClass(CUSTOM_ATTRIBUTE);
+ createEAttribute(customAttributeEClass, CUSTOM_ATTRIBUTE__NAME);
+ createEAttribute(customAttributeEClass, CUSTOM_ATTRIBUTE__VALUE);
+ createEAttribute(customAttributeEClass, CUSTOM_ATTRIBUTE__DIRECT_ACCESS);
+ createEAttribute(customAttributeEClass, CUSTOM_ATTRIBUTE__MULTI_STATEMENT_VALUE);
+
// Create enums
colorConstantsEEnum = createEEnum(COLOR_CONSTANTS);
fontStyleEEnum = createEEnum(FONT_STYLE);
directionEEnum = createEEnum(DIRECTION);
lineKindEEnum = createEEnum(LINE_KIND);
+ alignmentEEnum = createEEnum(ALIGNMENT);
}
/**
@@ -1712,6 +2140,7 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
childEClass.getESuperTypes().add(this.getDiagramElement());
generalFacetEClass.getESuperTypes().add(this.getVisualFacet());
gradientFacetEClass.getESuperTypes().add(this.getVisualFacet());
+ figureMarkerEClass.getESuperTypes().add(this.getLayoutable());
figureEClass.getESuperTypes().add(this.getFigureMarker());
figureEClass.getESuperTypes().add(this.getIdentity());
figureRefEClass.getESuperTypes().add(this.getFigureMarker());
@@ -1744,6 +2173,14 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
compoundBorderEClass.getESuperTypes().add(this.getBorder());
customBorderEClass.getESuperTypes().add(this.getBorder());
customBorderEClass.getESuperTypes().add(this.getCustomClass());
+ customLayoutDataEClass.getESuperTypes().add(this.getLayoutData());
+ customLayoutDataEClass.getESuperTypes().add(this.getCustomClass());
+ gridLayoutDataEClass.getESuperTypes().add(this.getLayoutData());
+ borderLayoutDataEClass.getESuperTypes().add(this.getLayoutData());
+ customLayoutEClass.getESuperTypes().add(this.getLayout());
+ customLayoutEClass.getESuperTypes().add(this.getCustomClass());
+ gridLayoutEClass.getESuperTypes().add(this.getLayout());
+ borderLayoutEClass.getESuperTypes().add(this.getLayout());
// Initialize classes and features; add operations and parameters
initEClass(canvasEClass, Canvas.class, "Canvas", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -1799,7 +2236,6 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
initEReference(getFigure_Border(), this.getBorder(), null, "border", null, 0, 1, Figure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFigure_Location(), this.getPoint(), null, "location", null, 0, 1, Figure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFigure_Size(), this.getPoint(), null, "size", null, 0, 1, Figure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getFigure_LayoutManager(), ecorePackage.getEString(), "layoutManager", null, 0, 1, Figure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(figureRefEClass, FigureRef.class, "FigureRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFigureRef_Figure(), this.getFigure(), null, "figure", null, 1, 1, FigureRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1846,6 +2282,7 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
initEClass(customClassEClass, CustomClass.class, "CustomClass", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getCustomClass_QualifiedClassName(), ecorePackage.getEString(), "qualifiedClassName", null, 0, 1, CustomClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getCustomClass_BundleName(), ecorePackage.getEString(), "bundleName", null, 0, 1, CustomClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCustomClass_Attributes(), this.getCustomAttribute(), null, "attributes", null, 0, -1, CustomClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(customFigureEClass, CustomFigure.class, "CustomFigure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -1899,6 +2336,48 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
initEClass(customBorderEClass, CustomBorder.class, "CustomBorder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEClass(layoutDataEClass, LayoutData.class, "LayoutData", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLayoutData_Owner(), this.getLayoutable(), this.getLayoutable_LayoutData(), "owner", null, 1, 1, LayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(customLayoutDataEClass, CustomLayoutData.class, "CustomLayoutData", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(gridLayoutDataEClass, GridLayoutData.class, "GridLayoutData", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGridLayoutData_GrabExcessHorizontalSpace(), ecorePackage.getEBoolean(), "grabExcessHorizontalSpace", "false", 1, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGridLayoutData_GrabExcessVerticalSpace(), ecorePackage.getEBoolean(), "grabExcessVerticalSpace", "false", 1, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGridLayoutData_VerticalAlignment(), this.getAlignment(), "verticalAlignment", "CENTER", 1, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGridLayoutData_HorizontalAlignment(), this.getAlignment(), "horizontalAlignment", "CENTER", 1, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGridLayoutData_VerticalSpan(), ecorePackage.getEInt(), "verticalSpan", "1", 1, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGridLayoutData_HorizontalSpan(), ecorePackage.getEInt(), "horizontalSpan", "1", 1, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGridLayoutData_HorizontalIndent(), ecorePackage.getEInt(), "horizontalIndent", null, 1, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGridLayoutData_SizeHint(), this.getDimension(), null, "sizeHint", null, 0, 1, GridLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(borderLayoutDataEClass, BorderLayoutData.class, "BorderLayoutData", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBorderLayoutData_Alignment(), this.getAlignment(), "alignment", "CENTER", 1, 1, BorderLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBorderLayoutData_Vertical(), ecorePackage.getEBoolean(), "vertical", "false", 0, 1, BorderLayoutData.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(layoutableEClass, Layoutable.class, "Layoutable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLayoutable_LayoutData(), this.getLayoutData(), this.getLayoutData_Owner(), "layoutData", "", 0, 1, Layoutable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLayoutable_Layout(), this.getLayout(), null, "layout", null, 0, 1, Layoutable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(layoutEClass, Layout.class, "Layout", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(customLayoutEClass, CustomLayout.class, "CustomLayout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(gridLayoutEClass, GridLayout.class, "GridLayout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGridLayout_NumColumns(), ecorePackage.getEInt(), "numColumns", "1", 1, 1, GridLayout.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGridLayout_EqualWidth(), ecorePackage.getEBoolean(), "equalWidth", "true", 1, 1, GridLayout.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGridLayout_Margins(), this.getDimension(), null, "margins", null, 0, 1, GridLayout.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGridLayout_Spacing(), this.getDimension(), null, "spacing", null, 0, 1, GridLayout.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(borderLayoutEClass, BorderLayout.class, "BorderLayout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBorderLayout_Spacing(), this.getDimension(), null, "spacing", null, 0, 1, BorderLayout.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(customAttributeEClass, CustomAttribute.class, "CustomAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCustomAttribute_Name(), ecorePackage.getEString(), "name", null, 1, 1, CustomAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCustomAttribute_Value(), ecorePackage.getEString(), "value", "null", 1, 1, CustomAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCustomAttribute_DirectAccess(), ecorePackage.getEBoolean(), "directAccess", "false", 1, 1, CustomAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCustomAttribute_MultiStatementValue(), ecorePackage.getEBoolean(), "multiStatementValue", "false", 1, 1, CustomAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
// Initialize enums and add enum literals
initEEnum(colorConstantsEEnum, ColorConstants.class, "ColorConstants");
addEEnumLiteral(colorConstantsEEnum, ColorConstants.WHITE_LITERAL);
@@ -1943,6 +2422,12 @@ public class GMFGraphPackageImpl extends EPackageImpl implements GMFGraphPackage
addEEnumLiteral(lineKindEEnum, LineKind.LINE_DASHDOTDOT_LITERAL);
addEEnumLiteral(lineKindEEnum, LineKind.LINE_CUSTOM_LITERAL);
+ initEEnum(alignmentEEnum, Alignment.class, "Alignment");
+ addEEnumLiteral(alignmentEEnum, Alignment.BEGINNING_LITERAL);
+ addEEnumLiteral(alignmentEEnum, Alignment.CENTER_LITERAL);
+ addEEnumLiteral(alignmentEEnum, Alignment.END_LITERAL);
+ addEEnumLiteral(alignmentEEnum, Alignment.FILL_LITERAL);
+
// Create resource
createResource(eNS_URI);
}
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutDataImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutDataImpl.java
new file mode 100644
index 000000000..47ec0ae7b
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutDataImpl.java
@@ -0,0 +1,652 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gmf.gmfgraph.Alignment;
+import org.eclipse.gmf.gmfgraph.Dimension;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
+import org.eclipse.gmf.gmfgraph.Layoutable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Grid Layout Data</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#isGrabExcessHorizontalSpace <em>Grab Excess Horizontal Space</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#isGrabExcessVerticalSpace <em>Grab Excess Vertical Space</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#getVerticalAlignment <em>Vertical Alignment</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#getHorizontalAlignment <em>Horizontal Alignment</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#getVerticalSpan <em>Vertical Span</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#getHorizontalSpan <em>Horizontal Span</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#getHorizontalIndent <em>Horizontal Indent</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutDataImpl#getSizeHint <em>Size Hint</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GridLayoutDataImpl extends EObjectImpl implements GridLayoutData {
+ /**
+ * The default value of the '{@link #isGrabExcessHorizontalSpace() <em>Grab Excess Horizontal Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isGrabExcessHorizontalSpace()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean GRAB_EXCESS_HORIZONTAL_SPACE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isGrabExcessHorizontalSpace() <em>Grab Excess Horizontal Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isGrabExcessHorizontalSpace()
+ * @generated
+ * @ordered
+ */
+ protected boolean grabExcessHorizontalSpace = GRAB_EXCESS_HORIZONTAL_SPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isGrabExcessVerticalSpace() <em>Grab Excess Vertical Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isGrabExcessVerticalSpace()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean GRAB_EXCESS_VERTICAL_SPACE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isGrabExcessVerticalSpace() <em>Grab Excess Vertical Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isGrabExcessVerticalSpace()
+ * @generated
+ * @ordered
+ */
+ protected boolean grabExcessVerticalSpace = GRAB_EXCESS_VERTICAL_SPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVerticalAlignment() <em>Vertical Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVerticalAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final Alignment VERTICAL_ALIGNMENT_EDEFAULT = Alignment.CENTER_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getVerticalAlignment() <em>Vertical Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVerticalAlignment()
+ * @generated
+ * @ordered
+ */
+ protected Alignment verticalAlignment = VERTICAL_ALIGNMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHorizontalAlignment() <em>Horizontal Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHorizontalAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final Alignment HORIZONTAL_ALIGNMENT_EDEFAULT = Alignment.CENTER_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getHorizontalAlignment() <em>Horizontal Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHorizontalAlignment()
+ * @generated
+ * @ordered
+ */
+ protected Alignment horizontalAlignment = HORIZONTAL_ALIGNMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVerticalSpan() <em>Vertical Span</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVerticalSpan()
+ * @generated
+ * @ordered
+ */
+ protected static final int VERTICAL_SPAN_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getVerticalSpan() <em>Vertical Span</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVerticalSpan()
+ * @generated
+ * @ordered
+ */
+ protected int verticalSpan = VERTICAL_SPAN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHorizontalSpan() <em>Horizontal Span</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHorizontalSpan()
+ * @generated
+ * @ordered
+ */
+ protected static final int HORIZONTAL_SPAN_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getHorizontalSpan() <em>Horizontal Span</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHorizontalSpan()
+ * @generated
+ * @ordered
+ */
+ protected int horizontalSpan = HORIZONTAL_SPAN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getHorizontalIndent() <em>Horizontal Indent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHorizontalIndent()
+ * @generated
+ * @ordered
+ */
+ protected static final int HORIZONTAL_INDENT_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getHorizontalIndent() <em>Horizontal Indent</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHorizontalIndent()
+ * @generated
+ * @ordered
+ */
+ protected int horizontalIndent = HORIZONTAL_INDENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSizeHint() <em>Size Hint</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSizeHint()
+ * @generated
+ * @ordered
+ */
+ protected Dimension sizeHint = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GridLayoutDataImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getGridLayoutData();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isGrabExcessHorizontalSpace() {
+ return grabExcessHorizontalSpace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGrabExcessHorizontalSpace(boolean newGrabExcessHorizontalSpace) {
+ boolean oldGrabExcessHorizontalSpace = grabExcessHorizontalSpace;
+ grabExcessHorizontalSpace = newGrabExcessHorizontalSpace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE, oldGrabExcessHorizontalSpace, grabExcessHorizontalSpace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isGrabExcessVerticalSpace() {
+ return grabExcessVerticalSpace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGrabExcessVerticalSpace(boolean newGrabExcessVerticalSpace) {
+ boolean oldGrabExcessVerticalSpace = grabExcessVerticalSpace;
+ grabExcessVerticalSpace = newGrabExcessVerticalSpace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE, oldGrabExcessVerticalSpace, grabExcessVerticalSpace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Alignment getVerticalAlignment() {
+ return verticalAlignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVerticalAlignment(Alignment newVerticalAlignment) {
+ Alignment oldVerticalAlignment = verticalAlignment;
+ verticalAlignment = newVerticalAlignment == null ? VERTICAL_ALIGNMENT_EDEFAULT : newVerticalAlignment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT, oldVerticalAlignment, verticalAlignment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Alignment getHorizontalAlignment() {
+ return horizontalAlignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHorizontalAlignment(Alignment newHorizontalAlignment) {
+ Alignment oldHorizontalAlignment = horizontalAlignment;
+ horizontalAlignment = newHorizontalAlignment == null ? HORIZONTAL_ALIGNMENT_EDEFAULT : newHorizontalAlignment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT, oldHorizontalAlignment, horizontalAlignment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVerticalSpan() {
+ return verticalSpan;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVerticalSpan(int newVerticalSpan) {
+ int oldVerticalSpan = verticalSpan;
+ verticalSpan = newVerticalSpan;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_SPAN, oldVerticalSpan, verticalSpan));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHorizontalSpan() {
+ return horizontalSpan;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHorizontalSpan(int newHorizontalSpan) {
+ int oldHorizontalSpan = horizontalSpan;
+ horizontalSpan = newHorizontalSpan;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_SPAN, oldHorizontalSpan, horizontalSpan));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHorizontalIndent() {
+ return horizontalIndent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHorizontalIndent(int newHorizontalIndent) {
+ int oldHorizontalIndent = horizontalIndent;
+ horizontalIndent = newHorizontalIndent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_INDENT, oldHorizontalIndent, horizontalIndent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dimension getSizeHint() {
+ return sizeHint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSizeHint(Dimension newSizeHint, NotificationChain msgs) {
+ Dimension oldSizeHint = sizeHint;
+ sizeHint = newSizeHint;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT, oldSizeHint, newSizeHint);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSizeHint(Dimension newSizeHint) {
+ if (newSizeHint != sizeHint) {
+ NotificationChain msgs = null;
+ if (sizeHint != null)
+ msgs = ((InternalEObject)sizeHint).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT, null, msgs);
+ if (newSizeHint != null)
+ msgs = ((InternalEObject)newSizeHint).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT, null, msgs);
+ msgs = basicSetSizeHint(newSizeHint, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT, newSizeHint, newSizeHint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__OWNER:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return eBasicSetContainer(otherEnd, GMFGraphPackage.GRID_LAYOUT_DATA__OWNER, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__OWNER:
+ return eBasicSetContainer(null, GMFGraphPackage.GRID_LAYOUT_DATA__OWNER, msgs);
+ case GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT:
+ return basicSetSizeHint(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__OWNER:
+ return eInternalContainer().eInverseRemove(this, GMFGraphPackage.LAYOUTABLE__LAYOUT_DATA, Layoutable.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__OWNER:
+ return getOwner();
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE:
+ return isGrabExcessHorizontalSpace() ? Boolean.TRUE : Boolean.FALSE;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE:
+ return isGrabExcessVerticalSpace() ? Boolean.TRUE : Boolean.FALSE;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT:
+ return getVerticalAlignment();
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT:
+ return getHorizontalAlignment();
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_SPAN:
+ return new Integer(getVerticalSpan());
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_SPAN:
+ return new Integer(getHorizontalSpan());
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_INDENT:
+ return new Integer(getHorizontalIndent());
+ case GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT:
+ return getSizeHint();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__OWNER:
+ setOwner((Layoutable)newValue);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE:
+ setGrabExcessHorizontalSpace(((Boolean)newValue).booleanValue());
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE:
+ setGrabExcessVerticalSpace(((Boolean)newValue).booleanValue());
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT:
+ setVerticalAlignment((Alignment)newValue);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT:
+ setHorizontalAlignment((Alignment)newValue);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_SPAN:
+ setVerticalSpan(((Integer)newValue).intValue());
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_SPAN:
+ setHorizontalSpan(((Integer)newValue).intValue());
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_INDENT:
+ setHorizontalIndent(((Integer)newValue).intValue());
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT:
+ setSizeHint((Dimension)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__OWNER:
+ setOwner((Layoutable)null);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE:
+ setGrabExcessHorizontalSpace(GRAB_EXCESS_HORIZONTAL_SPACE_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE:
+ setGrabExcessVerticalSpace(GRAB_EXCESS_VERTICAL_SPACE_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT:
+ setVerticalAlignment(VERTICAL_ALIGNMENT_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT:
+ setHorizontalAlignment(HORIZONTAL_ALIGNMENT_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_SPAN:
+ setVerticalSpan(VERTICAL_SPAN_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_SPAN:
+ setHorizontalSpan(HORIZONTAL_SPAN_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_INDENT:
+ setHorizontalIndent(HORIZONTAL_INDENT_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT:
+ setSizeHint((Dimension)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT_DATA__OWNER:
+ return getOwner() != null;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_HORIZONTAL_SPACE:
+ return grabExcessHorizontalSpace != GRAB_EXCESS_HORIZONTAL_SPACE_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__GRAB_EXCESS_VERTICAL_SPACE:
+ return grabExcessVerticalSpace != GRAB_EXCESS_VERTICAL_SPACE_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_ALIGNMENT:
+ return verticalAlignment != VERTICAL_ALIGNMENT_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_ALIGNMENT:
+ return horizontalAlignment != HORIZONTAL_ALIGNMENT_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__VERTICAL_SPAN:
+ return verticalSpan != VERTICAL_SPAN_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_SPAN:
+ return horizontalSpan != HORIZONTAL_SPAN_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__HORIZONTAL_INDENT:
+ return horizontalIndent != HORIZONTAL_INDENT_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT_DATA__SIZE_HINT:
+ return sizeHint != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (grabExcessHorizontalSpace: ");
+ result.append(grabExcessHorizontalSpace);
+ result.append(", grabExcessVerticalSpace: ");
+ result.append(grabExcessVerticalSpace);
+ result.append(", verticalAlignment: ");
+ result.append(verticalAlignment);
+ result.append(", horizontalAlignment: ");
+ result.append(horizontalAlignment);
+ result.append(", verticalSpan: ");
+ result.append(verticalSpan);
+ result.append(", horizontalSpan: ");
+ result.append(horizontalSpan);
+ result.append(", horizontalIndent: ");
+ result.append(horizontalIndent);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * @generated NOT
+ */
+ public String getQualifiedClassName() {
+ return "org.eclipse.gmf.internal.codegen.draw2d.GridLayoutData";
+ }
+
+
+ /**
+ * @generated NOT
+ */
+ public void setQualifiedClassName(String newQualifiedClassName) {
+ //throw new UnsupportedOperationException("You can not change predefined name of implementation class");
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layoutable getOwner() {
+ if (eContainerFeatureID != GMFGraphPackage.GRID_LAYOUT_DATA__OWNER) return null;
+ return (Layoutable)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwner(Layoutable newOwner) {
+ if (newOwner != eInternalContainer() || (eContainerFeatureID != GMFGraphPackage.GRID_LAYOUT_DATA__OWNER && newOwner != null)) {
+ if (EcoreUtil.isAncestor(this, newOwner))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newOwner != null)
+ msgs = ((InternalEObject)newOwner).eInverseAdd(this, GMFGraphPackage.LAYOUTABLE__LAYOUT_DATA, Layoutable.class, msgs);
+ msgs = eBasicSetContainer((InternalEObject)newOwner, GMFGraphPackage.GRID_LAYOUT_DATA__OWNER, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT_DATA__OWNER, newOwner, newOwner));
+ }
+
+} //GridLayoutDataImpl
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutImpl.java
new file mode 100644
index 000000000..110d46964
--- /dev/null
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/GridLayoutImpl.java
@@ -0,0 +1,372 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.gmf.gmfgraph.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.gmf.gmfgraph.Dimension;
+import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Grid Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutImpl#getNumColumns <em>Num Columns</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutImpl#isEqualWidth <em>Equal Width</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutImpl#getMargins <em>Margins</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.GridLayoutImpl#getSpacing <em>Spacing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GridLayoutImpl extends EObjectImpl implements GridLayout {
+ /**
+ * The default value of the '{@link #getNumColumns() <em>Num Columns</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNumColumns()
+ * @generated
+ * @ordered
+ */
+ protected static final int NUM_COLUMNS_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getNumColumns() <em>Num Columns</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNumColumns()
+ * @generated
+ * @ordered
+ */
+ protected int numColumns = NUM_COLUMNS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isEqualWidth() <em>Equal Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEqualWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean EQUAL_WIDTH_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isEqualWidth() <em>Equal Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isEqualWidth()
+ * @generated
+ * @ordered
+ */
+ protected boolean equalWidth = EQUAL_WIDTH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMargins() <em>Margins</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMargins()
+ * @generated
+ * @ordered
+ */
+ protected Dimension margins = null;
+
+ /**
+ * The cached value of the '{@link #getSpacing() <em>Spacing</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpacing()
+ * @generated
+ * @ordered
+ */
+ protected Dimension spacing = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GridLayoutImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getGridLayout();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getNumColumns() {
+ return numColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNumColumns(int newNumColumns) {
+ int oldNumColumns = numColumns;
+ numColumns = newNumColumns;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT__NUM_COLUMNS, oldNumColumns, numColumns));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isEqualWidth() {
+ return equalWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEqualWidth(boolean newEqualWidth) {
+ boolean oldEqualWidth = equalWidth;
+ equalWidth = newEqualWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT__EQUAL_WIDTH, oldEqualWidth, equalWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dimension getMargins() {
+ return margins;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMargins(Dimension newMargins, NotificationChain msgs) {
+ Dimension oldMargins = margins;
+ margins = newMargins;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT__MARGINS, oldMargins, newMargins);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMargins(Dimension newMargins) {
+ if (newMargins != margins) {
+ NotificationChain msgs = null;
+ if (margins != null)
+ msgs = ((InternalEObject)margins).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.GRID_LAYOUT__MARGINS, null, msgs);
+ if (newMargins != null)
+ msgs = ((InternalEObject)newMargins).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.GRID_LAYOUT__MARGINS, null, msgs);
+ msgs = basicSetMargins(newMargins, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT__MARGINS, newMargins, newMargins));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dimension getSpacing() {
+ return spacing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSpacing(Dimension newSpacing, NotificationChain msgs) {
+ Dimension oldSpacing = spacing;
+ spacing = newSpacing;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT__SPACING, oldSpacing, newSpacing);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpacing(Dimension newSpacing) {
+ if (newSpacing != spacing) {
+ NotificationChain msgs = null;
+ if (spacing != null)
+ msgs = ((InternalEObject)spacing).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.GRID_LAYOUT__SPACING, null, msgs);
+ if (newSpacing != null)
+ msgs = ((InternalEObject)newSpacing).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.GRID_LAYOUT__SPACING, null, msgs);
+ msgs = basicSetSpacing(newSpacing, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.GRID_LAYOUT__SPACING, newSpacing, newSpacing));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT__MARGINS:
+ return basicSetMargins(null, msgs);
+ case GMFGraphPackage.GRID_LAYOUT__SPACING:
+ return basicSetSpacing(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT__NUM_COLUMNS:
+ return new Integer(getNumColumns());
+ case GMFGraphPackage.GRID_LAYOUT__EQUAL_WIDTH:
+ return isEqualWidth() ? Boolean.TRUE : Boolean.FALSE;
+ case GMFGraphPackage.GRID_LAYOUT__MARGINS:
+ return getMargins();
+ case GMFGraphPackage.GRID_LAYOUT__SPACING:
+ return getSpacing();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT__NUM_COLUMNS:
+ setNumColumns(((Integer)newValue).intValue());
+ return;
+ case GMFGraphPackage.GRID_LAYOUT__EQUAL_WIDTH:
+ setEqualWidth(((Boolean)newValue).booleanValue());
+ return;
+ case GMFGraphPackage.GRID_LAYOUT__MARGINS:
+ setMargins((Dimension)newValue);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT__SPACING:
+ setSpacing((Dimension)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT__NUM_COLUMNS:
+ setNumColumns(NUM_COLUMNS_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT__EQUAL_WIDTH:
+ setEqualWidth(EQUAL_WIDTH_EDEFAULT);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT__MARGINS:
+ setMargins((Dimension)null);
+ return;
+ case GMFGraphPackage.GRID_LAYOUT__SPACING:
+ setSpacing((Dimension)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GMFGraphPackage.GRID_LAYOUT__NUM_COLUMNS:
+ return numColumns != NUM_COLUMNS_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT__EQUAL_WIDTH:
+ return equalWidth != EQUAL_WIDTH_EDEFAULT;
+ case GMFGraphPackage.GRID_LAYOUT__MARGINS:
+ return margins != null;
+ case GMFGraphPackage.GRID_LAYOUT__SPACING:
+ return spacing != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (numColumns: ");
+ result.append(numColumns);
+ result.append(", equalWidth: ");
+ result.append(equalWidth);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * @generated NOT
+ */
+ public String getQualifiedClassName() {
+ return "org.eclipse.gmf.internal.codegen.draw2d.GridLayout";
+ }
+
+ /**
+ * @generated NOT
+ */
+ public void setQualifiedClassName(String newQualifiedClassName) {
+ //throw new UnsupportedOperationException("You can not change predefined name of implementation class");
+ }
+
+} //GridLayoutImpl
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabelImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabelImpl.java
index 504a74aee..314e64a1d 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabelImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabelImpl.java
@@ -27,6 +27,8 @@ import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.Identity;
import org.eclipse.gmf.gmfgraph.Insets;
import org.eclipse.gmf.gmfgraph.Label;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
import org.eclipse.gmf.gmfgraph.Point;
/**
@@ -36,6 +38,8 @@ import org.eclipse.gmf.gmfgraph.Point;
* <p>
* The following features are implemented:
* <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getLayoutData <em>Layout Data</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getLayout <em>Layout</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getParent <em>Parent</em>}</li>
@@ -49,7 +53,6 @@ import org.eclipse.gmf.gmfgraph.Point;
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getBorder <em>Border</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getLocation <em>Location</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getSize <em>Size</em>}</li>
- * <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getLayoutManager <em>Layout Manager</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabelImpl#getText <em>Text</em>}</li>
* </ul>
* </p>
@@ -58,6 +61,26 @@ import org.eclipse.gmf.gmfgraph.Point;
*/
public class LabelImpl extends EObjectImpl implements Label {
/**
+ * The cached value of the '{@link #getLayoutData() <em>Layout Data</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayoutData()
+ * @generated
+ * @ordered
+ */
+ protected LayoutData layoutData = null;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout = null;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -188,52 +211,50 @@ public class LabelImpl extends EObjectImpl implements Label {
protected Point size = null;
/**
- * The default value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
+ * The default value of the '{@link #getText() <em>Text</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getLayoutManager()
+ * @see #getText()
* @generated
* @ordered
*/
- protected static final String LAYOUT_MANAGER_EDEFAULT = null;
+ protected static final String TEXT_EDEFAULT = null;
/**
- * The cached value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
+ * The cached value of the '{@link #getText() <em>Text</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getLayoutManager()
+ * @see #getText()
* @generated
* @ordered
*/
- protected String layoutManager = LAYOUT_MANAGER_EDEFAULT;
+ protected String text = TEXT_EDEFAULT;
/**
- * The default value of the '{@link #getText() <em>Text</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getText()
* @generated
- * @ordered
*/
- protected static final String TEXT_EDEFAULT = null;
+ protected LabelImpl() {
+ super();
+ }
/**
- * The cached value of the '{@link #getText() <em>Text</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getText()
* @generated
- * @ordered
*/
- protected String text = TEXT_EDEFAULT;
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getLabel();
+ }
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected LabelImpl() {
- super();
+ public LayoutData getLayoutData() {
+ return layoutData;
}
/**
@@ -241,8 +262,76 @@ public class LabelImpl extends EObjectImpl implements Label {
* <!-- end-user-doc -->
* @generated
*/
- protected EClass eStaticClass() {
- return GMFGraphPackage.eINSTANCE.getLabel();
+ public NotificationChain basicSetLayoutData(LayoutData newLayoutData, NotificationChain msgs) {
+ LayoutData oldLayoutData = layoutData;
+ layoutData = newLayoutData;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABEL__LAYOUT_DATA, oldLayoutData, newLayoutData);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayoutData(LayoutData newLayoutData) {
+ if (newLayoutData != layoutData) {
+ NotificationChain msgs = null;
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ if (newLayoutData != null)
+ msgs = ((InternalEObject)newLayoutData).eInverseAdd(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ msgs = basicSetLayoutData(newLayoutData, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABEL__LAYOUT_DATA, newLayoutData, newLayoutData));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layout getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayout(Layout newLayout, NotificationChain msgs) {
+ Layout oldLayout = layout;
+ layout = newLayout;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABEL__LAYOUT, oldLayout, newLayout);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayout(Layout newLayout) {
+ if (newLayout != layout) {
+ NotificationChain msgs = null;
+ if (layout != null)
+ msgs = ((InternalEObject)layout).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.LABEL__LAYOUT, null, msgs);
+ if (newLayout != null)
+ msgs = ((InternalEObject)newLayout).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.LABEL__LAYOUT, null, msgs);
+ msgs = basicSetLayout(newLayout, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABEL__LAYOUT, newLayout, newLayout));
}
/**
@@ -723,27 +812,6 @@ public class LabelImpl extends EObjectImpl implements Label {
* <!-- end-user-doc -->
* @generated
*/
- public String getLayoutManager() {
- return layoutManager;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLayoutManager(String newLayoutManager) {
- String oldLayoutManager = layoutManager;
- layoutManager = newLayoutManager;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABEL__LAYOUT_MANAGER, oldLayoutManager, layoutManager));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public String getText() {
return text;
}
@@ -767,6 +835,10 @@ public class LabelImpl extends EObjectImpl implements Label {
*/
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.LABEL__LAYOUT_DATA:
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.LABEL__LAYOUT_DATA, null, msgs);
+ return basicSetLayoutData((LayoutData)otherEnd, msgs);
case GMFGraphPackage.LABEL__PARENT:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
@@ -782,6 +854,10 @@ public class LabelImpl extends EObjectImpl implements Label {
*/
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.LABEL__LAYOUT_DATA:
+ return basicSetLayoutData(null, msgs);
+ case GMFGraphPackage.LABEL__LAYOUT:
+ return basicSetLayout(null, msgs);
case GMFGraphPackage.LABEL__CHILDREN:
return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
case GMFGraphPackage.LABEL__PARENT:
@@ -830,6 +906,10 @@ public class LabelImpl extends EObjectImpl implements Label {
*/
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case GMFGraphPackage.LABEL__LAYOUT_DATA:
+ return getLayoutData();
+ case GMFGraphPackage.LABEL__LAYOUT:
+ return getLayout();
case GMFGraphPackage.LABEL__NAME:
return getName();
case GMFGraphPackage.LABEL__CHILDREN:
@@ -856,8 +936,6 @@ public class LabelImpl extends EObjectImpl implements Label {
return getLocation();
case GMFGraphPackage.LABEL__SIZE:
return getSize();
- case GMFGraphPackage.LABEL__LAYOUT_MANAGER:
- return getLayoutManager();
case GMFGraphPackage.LABEL__TEXT:
return getText();
}
@@ -871,6 +949,12 @@ public class LabelImpl extends EObjectImpl implements Label {
*/
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case GMFGraphPackage.LABEL__LAYOUT_DATA:
+ setLayoutData((LayoutData)newValue);
+ return;
+ case GMFGraphPackage.LABEL__LAYOUT:
+ setLayout((Layout)newValue);
+ return;
case GMFGraphPackage.LABEL__NAME:
setName((String)newValue);
return;
@@ -908,9 +992,6 @@ public class LabelImpl extends EObjectImpl implements Label {
case GMFGraphPackage.LABEL__SIZE:
setSize((Point)newValue);
return;
- case GMFGraphPackage.LABEL__LAYOUT_MANAGER:
- setLayoutManager((String)newValue);
- return;
case GMFGraphPackage.LABEL__TEXT:
setText((String)newValue);
return;
@@ -925,6 +1006,12 @@ public class LabelImpl extends EObjectImpl implements Label {
*/
public void eUnset(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.LABEL__LAYOUT_DATA:
+ setLayoutData((LayoutData)null);
+ return;
+ case GMFGraphPackage.LABEL__LAYOUT:
+ setLayout((Layout)null);
+ return;
case GMFGraphPackage.LABEL__NAME:
setName(NAME_EDEFAULT);
return;
@@ -961,9 +1048,6 @@ public class LabelImpl extends EObjectImpl implements Label {
case GMFGraphPackage.LABEL__SIZE:
setSize((Point)null);
return;
- case GMFGraphPackage.LABEL__LAYOUT_MANAGER:
- setLayoutManager(LAYOUT_MANAGER_EDEFAULT);
- return;
case GMFGraphPackage.LABEL__TEXT:
setText(TEXT_EDEFAULT);
return;
@@ -978,6 +1062,10 @@ public class LabelImpl extends EObjectImpl implements Label {
*/
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.LABEL__LAYOUT_DATA:
+ return layoutData != null;
+ case GMFGraphPackage.LABEL__LAYOUT:
+ return layout != null;
case GMFGraphPackage.LABEL__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case GMFGraphPackage.LABEL__CHILDREN:
@@ -1004,8 +1092,6 @@ public class LabelImpl extends EObjectImpl implements Label {
return location != null;
case GMFGraphPackage.LABEL__SIZE:
return size != null;
- case GMFGraphPackage.LABEL__LAYOUT_MANAGER:
- return LAYOUT_MANAGER_EDEFAULT == null ? layoutManager != null : !LAYOUT_MANAGER_EDEFAULT.equals(layoutManager);
case GMFGraphPackage.LABEL__TEXT:
return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
}
@@ -1053,8 +1139,6 @@ public class LabelImpl extends EObjectImpl implements Label {
StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: ");
result.append(name);
- result.append(", layoutManager: ");
- result.append(layoutManager);
result.append(", text: ");
result.append(text);
result.append(')');
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabeledContainerImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabeledContainerImpl.java
index 4b721a7f9..577afec95 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabeledContainerImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/LabeledContainerImpl.java
@@ -27,6 +27,8 @@ import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.Identity;
import org.eclipse.gmf.gmfgraph.Insets;
import org.eclipse.gmf.gmfgraph.LabeledContainer;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
import org.eclipse.gmf.gmfgraph.Point;
/**
@@ -36,6 +38,8 @@ import org.eclipse.gmf.gmfgraph.Point;
* <p>
* The following features are implemented:
* <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getLayoutData <em>Layout Data</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getLayout <em>Layout</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getParent <em>Parent</em>}</li>
@@ -49,7 +53,6 @@ import org.eclipse.gmf.gmfgraph.Point;
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getBorder <em>Border</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getLocation <em>Location</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getSize <em>Size</em>}</li>
- * <li>{@link org.eclipse.gmf.gmfgraph.impl.LabeledContainerImpl#getLayoutManager <em>Layout Manager</em>}</li>
* </ul>
* </p>
*
@@ -57,6 +60,26 @@ import org.eclipse.gmf.gmfgraph.Point;
*/
public class LabeledContainerImpl extends EObjectImpl implements LabeledContainer {
/**
+ * The cached value of the '{@link #getLayoutData() <em>Layout Data</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayoutData()
+ * @generated
+ * @ordered
+ */
+ protected LayoutData layoutData = null;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout = null;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -187,32 +210,30 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
protected Point size = null;
/**
- * The default value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getLayoutManager()
* @generated
- * @ordered
*/
- protected static final String LAYOUT_MANAGER_EDEFAULT = null;
+ protected LabeledContainerImpl() {
+ super();
+ }
/**
- * The cached value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getLayoutManager()
* @generated
- * @ordered
*/
- protected String layoutManager = LAYOUT_MANAGER_EDEFAULT;
+ protected EClass eStaticClass() {
+ return GMFGraphPackage.eINSTANCE.getLabeledContainer();
+ }
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected LabeledContainerImpl() {
- super();
+ public LayoutData getLayoutData() {
+ return layoutData;
}
/**
@@ -220,8 +241,76 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
* <!-- end-user-doc -->
* @generated
*/
- protected EClass eStaticClass() {
- return GMFGraphPackage.eINSTANCE.getLabeledContainer();
+ public NotificationChain basicSetLayoutData(LayoutData newLayoutData, NotificationChain msgs) {
+ LayoutData oldLayoutData = layoutData;
+ layoutData = newLayoutData;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA, oldLayoutData, newLayoutData);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayoutData(LayoutData newLayoutData) {
+ if (newLayoutData != layoutData) {
+ NotificationChain msgs = null;
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ if (newLayoutData != null)
+ msgs = ((InternalEObject)newLayoutData).eInverseAdd(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ msgs = basicSetLayoutData(newLayoutData, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA, newLayoutData, newLayoutData));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layout getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayout(Layout newLayout, NotificationChain msgs) {
+ Layout oldLayout = layout;
+ layout = newLayout;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABELED_CONTAINER__LAYOUT, oldLayout, newLayout);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayout(Layout newLayout) {
+ if (newLayout != layout) {
+ NotificationChain msgs = null;
+ if (layout != null)
+ msgs = ((InternalEObject)layout).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.LABELED_CONTAINER__LAYOUT, null, msgs);
+ if (newLayout != null)
+ msgs = ((InternalEObject)newLayout).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.LABELED_CONTAINER__LAYOUT, null, msgs);
+ msgs = basicSetLayout(newLayout, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABELED_CONTAINER__LAYOUT, newLayout, newLayout));
}
/**
@@ -702,29 +791,12 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
* <!-- end-user-doc -->
* @generated
*/
- public String getLayoutManager() {
- return layoutManager;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLayoutManager(String newLayoutManager) {
- String oldLayoutManager = layoutManager;
- layoutManager = newLayoutManager;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.LABELED_CONTAINER__LAYOUT_MANAGER, oldLayoutManager, layoutManager));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA:
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA, null, msgs);
+ return basicSetLayoutData((LayoutData)otherEnd, msgs);
case GMFGraphPackage.LABELED_CONTAINER__PARENT:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
@@ -740,6 +812,10 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
*/
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA:
+ return basicSetLayoutData(null, msgs);
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT:
+ return basicSetLayout(null, msgs);
case GMFGraphPackage.LABELED_CONTAINER__CHILDREN:
return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
case GMFGraphPackage.LABELED_CONTAINER__PARENT:
@@ -788,6 +864,10 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
*/
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA:
+ return getLayoutData();
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT:
+ return getLayout();
case GMFGraphPackage.LABELED_CONTAINER__NAME:
return getName();
case GMFGraphPackage.LABELED_CONTAINER__CHILDREN:
@@ -814,8 +894,6 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
return getLocation();
case GMFGraphPackage.LABELED_CONTAINER__SIZE:
return getSize();
- case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_MANAGER:
- return getLayoutManager();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -827,6 +905,12 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
*/
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA:
+ setLayoutData((LayoutData)newValue);
+ return;
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT:
+ setLayout((Layout)newValue);
+ return;
case GMFGraphPackage.LABELED_CONTAINER__NAME:
setName((String)newValue);
return;
@@ -864,9 +948,6 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
case GMFGraphPackage.LABELED_CONTAINER__SIZE:
setSize((Point)newValue);
return;
- case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_MANAGER:
- setLayoutManager((String)newValue);
- return;
}
super.eSet(featureID, newValue);
}
@@ -878,6 +959,12 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
*/
public void eUnset(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA:
+ setLayoutData((LayoutData)null);
+ return;
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT:
+ setLayout((Layout)null);
+ return;
case GMFGraphPackage.LABELED_CONTAINER__NAME:
setName(NAME_EDEFAULT);
return;
@@ -914,9 +1001,6 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
case GMFGraphPackage.LABELED_CONTAINER__SIZE:
setSize((Point)null);
return;
- case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_MANAGER:
- setLayoutManager(LAYOUT_MANAGER_EDEFAULT);
- return;
}
super.eUnset(featureID);
}
@@ -928,6 +1012,10 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
*/
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_DATA:
+ return layoutData != null;
+ case GMFGraphPackage.LABELED_CONTAINER__LAYOUT:
+ return layout != null;
case GMFGraphPackage.LABELED_CONTAINER__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case GMFGraphPackage.LABELED_CONTAINER__CHILDREN:
@@ -954,8 +1042,6 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
return location != null;
case GMFGraphPackage.LABELED_CONTAINER__SIZE:
return size != null;
- case GMFGraphPackage.LABELED_CONTAINER__LAYOUT_MANAGER:
- return LAYOUT_MANAGER_EDEFAULT == null ? layoutManager != null : !LAYOUT_MANAGER_EDEFAULT.equals(layoutManager);
}
return super.eIsSet(featureID);
}
@@ -1001,8 +1087,6 @@ public class LabeledContainerImpl extends EObjectImpl implements LabeledContaine
StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: ");
result.append(name);
- result.append(", layoutManager: ");
- result.append(layoutManager);
result.append(')');
return result.toString();
}
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/ShapeImpl.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/ShapeImpl.java
index a19c5f932..9ca8632b7 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/ShapeImpl.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/impl/ShapeImpl.java
@@ -30,6 +30,8 @@ import org.eclipse.gmf.gmfgraph.Font;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.Identity;
import org.eclipse.gmf.gmfgraph.Insets;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
import org.eclipse.gmf.gmfgraph.LineKind;
import org.eclipse.gmf.gmfgraph.Point;
import org.eclipse.gmf.gmfgraph.Shape;
@@ -41,6 +43,8 @@ import org.eclipse.gmf.gmfgraph.Shape;
* <p>
* The following features are implemented:
* <ul>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getLayoutData <em>Layout Data</em>}</li>
+ * <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getLayout <em>Layout</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getParent <em>Parent</em>}</li>
@@ -54,7 +58,6 @@ import org.eclipse.gmf.gmfgraph.Shape;
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getBorder <em>Border</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getLocation <em>Location</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getSize <em>Size</em>}</li>
- * <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getLayoutManager <em>Layout Manager</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#isOutline <em>Outline</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#isFill <em>Fill</em>}</li>
* <li>{@link org.eclipse.gmf.gmfgraph.impl.ShapeImpl#getLineWidth <em>Line Width</em>}</li>
@@ -69,6 +72,26 @@ import org.eclipse.gmf.gmfgraph.Shape;
*/
public abstract class ShapeImpl extends EObjectImpl implements Shape {
/**
+ * The cached value of the '{@link #getLayoutData() <em>Layout Data</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayoutData()
+ * @generated
+ * @ordered
+ */
+ protected LayoutData layoutData = null;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected Layout layout = null;
+
+ /**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -199,26 +222,6 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
protected Point size = null;
/**
- * The default value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLayoutManager()
- * @generated
- * @ordered
- */
- protected static final String LAYOUT_MANAGER_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLayoutManager() <em>Layout Manager</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLayoutManager()
- * @generated
- * @ordered
- */
- protected String layoutManager = LAYOUT_MANAGER_EDEFAULT;
-
- /**
* The default value of the '{@link #isOutline() <em>Outline</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -361,6 +364,92 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
* <!-- end-user-doc -->
* @generated
*/
+ public LayoutData getLayoutData() {
+ return layoutData;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayoutData(LayoutData newLayoutData, NotificationChain msgs) {
+ LayoutData oldLayoutData = layoutData;
+ layoutData = newLayoutData;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.SHAPE__LAYOUT_DATA, oldLayoutData, newLayoutData);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayoutData(LayoutData newLayoutData) {
+ if (newLayoutData != layoutData) {
+ NotificationChain msgs = null;
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ if (newLayoutData != null)
+ msgs = ((InternalEObject)newLayoutData).eInverseAdd(this, GMFGraphPackage.LAYOUT_DATA__OWNER, LayoutData.class, msgs);
+ msgs = basicSetLayoutData(newLayoutData, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.SHAPE__LAYOUT_DATA, newLayoutData, newLayoutData));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Layout getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLayout(Layout newLayout, NotificationChain msgs) {
+ Layout oldLayout = layout;
+ layout = newLayout;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GMFGraphPackage.SHAPE__LAYOUT, oldLayout, newLayout);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLayout(Layout newLayout) {
+ if (newLayout != layout) {
+ NotificationChain msgs = null;
+ if (layout != null)
+ msgs = ((InternalEObject)layout).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.SHAPE__LAYOUT, null, msgs);
+ if (newLayout != null)
+ msgs = ((InternalEObject)newLayout).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.SHAPE__LAYOUT, null, msgs);
+ msgs = basicSetLayout(newLayout, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.SHAPE__LAYOUT, newLayout, newLayout));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public String getName() {
return name;
}
@@ -832,27 +921,6 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated
- */
- public String getLayoutManager() {
- return layoutManager;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLayoutManager(String newLayoutManager) {
- String oldLayoutManager = layoutManager;
- layoutManager = newLayoutManager;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, GMFGraphPackage.SHAPE__LAYOUT_MANAGER, oldLayoutManager, layoutManager));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
* @generated NOT
*/
public EList getResolvedChildren() {
@@ -876,6 +944,10 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
*/
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.SHAPE__LAYOUT_DATA:
+ if (layoutData != null)
+ msgs = ((InternalEObject)layoutData).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GMFGraphPackage.SHAPE__LAYOUT_DATA, null, msgs);
+ return basicSetLayoutData((LayoutData)otherEnd, msgs);
case GMFGraphPackage.SHAPE__PARENT:
if (eInternalContainer() != null)
msgs = eBasicRemoveFromContainer(msgs);
@@ -891,6 +963,10 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
*/
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
+ case GMFGraphPackage.SHAPE__LAYOUT_DATA:
+ return basicSetLayoutData(null, msgs);
+ case GMFGraphPackage.SHAPE__LAYOUT:
+ return basicSetLayout(null, msgs);
case GMFGraphPackage.SHAPE__CHILDREN:
return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
case GMFGraphPackage.SHAPE__PARENT:
@@ -939,6 +1015,10 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
*/
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
+ case GMFGraphPackage.SHAPE__LAYOUT_DATA:
+ return getLayoutData();
+ case GMFGraphPackage.SHAPE__LAYOUT:
+ return getLayout();
case GMFGraphPackage.SHAPE__NAME:
return getName();
case GMFGraphPackage.SHAPE__CHILDREN:
@@ -965,8 +1045,6 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
return getLocation();
case GMFGraphPackage.SHAPE__SIZE:
return getSize();
- case GMFGraphPackage.SHAPE__LAYOUT_MANAGER:
- return getLayoutManager();
case GMFGraphPackage.SHAPE__OUTLINE:
return isOutline() ? Boolean.TRUE : Boolean.FALSE;
case GMFGraphPackage.SHAPE__FILL:
@@ -992,6 +1070,12 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
*/
public void eSet(int featureID, Object newValue) {
switch (featureID) {
+ case GMFGraphPackage.SHAPE__LAYOUT_DATA:
+ setLayoutData((LayoutData)newValue);
+ return;
+ case GMFGraphPackage.SHAPE__LAYOUT:
+ setLayout((Layout)newValue);
+ return;
case GMFGraphPackage.SHAPE__NAME:
setName((String)newValue);
return;
@@ -1029,9 +1113,6 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
case GMFGraphPackage.SHAPE__SIZE:
setSize((Point)newValue);
return;
- case GMFGraphPackage.SHAPE__LAYOUT_MANAGER:
- setLayoutManager((String)newValue);
- return;
case GMFGraphPackage.SHAPE__OUTLINE:
setOutline(((Boolean)newValue).booleanValue());
return;
@@ -1061,6 +1142,12 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
*/
public void eUnset(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.SHAPE__LAYOUT_DATA:
+ setLayoutData((LayoutData)null);
+ return;
+ case GMFGraphPackage.SHAPE__LAYOUT:
+ setLayout((Layout)null);
+ return;
case GMFGraphPackage.SHAPE__NAME:
setName(NAME_EDEFAULT);
return;
@@ -1097,9 +1184,6 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
case GMFGraphPackage.SHAPE__SIZE:
setSize((Point)null);
return;
- case GMFGraphPackage.SHAPE__LAYOUT_MANAGER:
- setLayoutManager(LAYOUT_MANAGER_EDEFAULT);
- return;
case GMFGraphPackage.SHAPE__OUTLINE:
setOutline(OUTLINE_EDEFAULT);
return;
@@ -1129,6 +1213,10 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
*/
public boolean eIsSet(int featureID) {
switch (featureID) {
+ case GMFGraphPackage.SHAPE__LAYOUT_DATA:
+ return layoutData != null;
+ case GMFGraphPackage.SHAPE__LAYOUT:
+ return layout != null;
case GMFGraphPackage.SHAPE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case GMFGraphPackage.SHAPE__CHILDREN:
@@ -1155,8 +1243,6 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
return location != null;
case GMFGraphPackage.SHAPE__SIZE:
return size != null;
- case GMFGraphPackage.SHAPE__LAYOUT_MANAGER:
- return LAYOUT_MANAGER_EDEFAULT == null ? layoutManager != null : !LAYOUT_MANAGER_EDEFAULT.equals(layoutManager);
case GMFGraphPackage.SHAPE__OUTLINE:
return outline != OUTLINE_EDEFAULT;
case GMFGraphPackage.SHAPE__FILL:
@@ -1342,8 +1428,6 @@ public abstract class ShapeImpl extends EObjectImpl implements Shape {
StringBuffer result = new StringBuffer(super.toString());
result.append(" (name: ");
result.append(name);
- result.append(", layoutManager: ");
- result.append(layoutManager);
result.append(", outline: ");
result.append(outline);
result.append(", fill: ");
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/FigureQualifiedNameSwitch.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/FigureQualifiedNameSwitch.java
index 7413712a8..db4a52d90 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/FigureQualifiedNameSwitch.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/FigureQualifiedNameSwitch.java
@@ -11,8 +11,11 @@
*/
package org.eclipse.gmf.gmfgraph.util;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
import org.eclipse.gmf.gmfgraph.CustomClass;
import org.eclipse.gmf.gmfgraph.Ellipse;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
import org.eclipse.gmf.gmfgraph.Label;
import org.eclipse.gmf.gmfgraph.LabeledContainer;
import org.eclipse.gmf.gmfgraph.Polygon;
@@ -33,6 +36,18 @@ public class FigureQualifiedNameSwitch extends GMFGraphSwitch {
return object.getQualifiedClassName();
}
+ public Object caseGridLayout(GridLayout object) {
+ return "org.eclipse.gmf.internal.codegen.draw2d.GridLayout";
+ }
+
+ public Object caseGridLayoutData(GridLayoutData object) {
+ return "org.eclipse.gmf.internal.codegen.draw2d.GridLayoutData";
+ }
+
+ public Object caseBorderLayout(BorderLayout object) {
+ return "org.eclipse.draw2d.BorderLayout";
+ }
+
public Object caseLabel(Label object) {
return "org.eclipse.draw2d.Label"; //$NON-NLS-1$
}
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphAdapterFactory.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphAdapterFactory.java
index 48f0abb88..ae492c8c9 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphAdapterFactory.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphAdapterFactory.java
@@ -12,6 +12,8 @@ import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.gmfgraph.BasicFont;
import org.eclipse.gmf.gmfgraph.Border;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
+import org.eclipse.gmf.gmfgraph.BorderLayoutData;
import org.eclipse.gmf.gmfgraph.Canvas;
import org.eclipse.gmf.gmfgraph.Child;
import org.eclipse.gmf.gmfgraph.Color;
@@ -20,11 +22,14 @@ import org.eclipse.gmf.gmfgraph.CompoundBorder;
import org.eclipse.gmf.gmfgraph.Connection;
import org.eclipse.gmf.gmfgraph.ConnectionFigure;
import org.eclipse.gmf.gmfgraph.ConstantColor;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
import org.eclipse.gmf.gmfgraph.CustomBorder;
import org.eclipse.gmf.gmfgraph.CustomClass;
import org.eclipse.gmf.gmfgraph.CustomConnection;
import org.eclipse.gmf.gmfgraph.CustomDecoration;
import org.eclipse.gmf.gmfgraph.CustomFigure;
+import org.eclipse.gmf.gmfgraph.CustomLayout;
+import org.eclipse.gmf.gmfgraph.CustomLayoutData;
import org.eclipse.gmf.gmfgraph.DecorationFigure;
import org.eclipse.gmf.gmfgraph.DiagramElement;
import org.eclipse.gmf.gmfgraph.Dimension;
@@ -37,10 +42,15 @@ import org.eclipse.gmf.gmfgraph.Font;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.GeneralFacet;
import org.eclipse.gmf.gmfgraph.GradientFacet;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
import org.eclipse.gmf.gmfgraph.Identity;
import org.eclipse.gmf.gmfgraph.Insets;
import org.eclipse.gmf.gmfgraph.Label;
import org.eclipse.gmf.gmfgraph.LabeledContainer;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
+import org.eclipse.gmf.gmfgraph.Layoutable;
import org.eclipse.gmf.gmfgraph.LineBorder;
import org.eclipse.gmf.gmfgraph.MarginBorder;
import org.eclipse.gmf.gmfgraph.Node;
@@ -243,6 +253,36 @@ public class GMFGraphAdapterFactory extends AdapterFactoryImpl {
public Object caseCustomBorder(CustomBorder object) {
return createCustomBorderAdapter();
}
+ public Object caseLayoutData(LayoutData object) {
+ return createLayoutDataAdapter();
+ }
+ public Object caseCustomLayoutData(CustomLayoutData object) {
+ return createCustomLayoutDataAdapter();
+ }
+ public Object caseGridLayoutData(GridLayoutData object) {
+ return createGridLayoutDataAdapter();
+ }
+ public Object caseBorderLayoutData(BorderLayoutData object) {
+ return createBorderLayoutDataAdapter();
+ }
+ public Object caseLayoutable(Layoutable object) {
+ return createLayoutableAdapter();
+ }
+ public Object caseLayout(Layout object) {
+ return createLayoutAdapter();
+ }
+ public Object caseCustomLayout(CustomLayout object) {
+ return createCustomLayoutAdapter();
+ }
+ public Object caseGridLayout(GridLayout object) {
+ return createGridLayoutAdapter();
+ }
+ public Object caseBorderLayout(BorderLayout object) {
+ return createBorderLayoutAdapter();
+ }
+ public Object caseCustomAttribute(CustomAttribute object) {
+ return createCustomAttributeAdapter();
+ }
public Object defaultCase(EObject object) {
return createEObjectAdapter();
}
@@ -878,6 +918,146 @@ public class GMFGraphAdapterFactory extends AdapterFactoryImpl {
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.LayoutData <em>Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.LayoutData
+ * @generated
+ */
+ public Adapter createLayoutDataAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.CustomLayoutData <em>Custom Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.CustomLayoutData
+ * @generated
+ */
+ public Adapter createCustomLayoutDataAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.GridLayoutData <em>Grid Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.GridLayoutData
+ * @generated
+ */
+ public Adapter createGridLayoutDataAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.BorderLayoutData <em>Border Layout Data</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.BorderLayoutData
+ * @generated
+ */
+ public Adapter createBorderLayoutDataAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.Layoutable <em>Layoutable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.Layoutable
+ * @generated
+ */
+ public Adapter createLayoutableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.Layout <em>Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.Layout
+ * @generated
+ */
+ public Adapter createLayoutAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.CustomLayout <em>Custom Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.CustomLayout
+ * @generated
+ */
+ public Adapter createCustomLayoutAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.GridLayout <em>Grid Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.GridLayout
+ * @generated
+ */
+ public Adapter createGridLayoutAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.BorderLayout <em>Border Layout</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.BorderLayout
+ * @generated
+ */
+ public Adapter createBorderLayoutAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.gmfgraph.CustomAttribute <em>Custom Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.gmf.gmfgraph.CustomAttribute
+ * @generated
+ */
+ public Adapter createCustomAttributeAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphSwitch.java b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphSwitch.java
index e0abf8820..b587e0005 100644
--- a/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphSwitch.java
+++ b/plugins/org.eclipse.gmf.graphdef/src/org/eclipse/gmf/gmfgraph/util/GMFGraphSwitch.java
@@ -12,6 +12,8 @@ import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.gmfgraph.BasicFont;
import org.eclipse.gmf.gmfgraph.Border;
+import org.eclipse.gmf.gmfgraph.BorderLayout;
+import org.eclipse.gmf.gmfgraph.BorderLayoutData;
import org.eclipse.gmf.gmfgraph.Canvas;
import org.eclipse.gmf.gmfgraph.Child;
import org.eclipse.gmf.gmfgraph.Color;
@@ -20,11 +22,14 @@ import org.eclipse.gmf.gmfgraph.CompoundBorder;
import org.eclipse.gmf.gmfgraph.Connection;
import org.eclipse.gmf.gmfgraph.ConnectionFigure;
import org.eclipse.gmf.gmfgraph.ConstantColor;
+import org.eclipse.gmf.gmfgraph.CustomAttribute;
import org.eclipse.gmf.gmfgraph.CustomBorder;
import org.eclipse.gmf.gmfgraph.CustomClass;
import org.eclipse.gmf.gmfgraph.CustomConnection;
import org.eclipse.gmf.gmfgraph.CustomDecoration;
import org.eclipse.gmf.gmfgraph.CustomFigure;
+import org.eclipse.gmf.gmfgraph.CustomLayout;
+import org.eclipse.gmf.gmfgraph.CustomLayoutData;
import org.eclipse.gmf.gmfgraph.DecorationFigure;
import org.eclipse.gmf.gmfgraph.DiagramElement;
import org.eclipse.gmf.gmfgraph.Dimension;
@@ -37,10 +42,15 @@ import org.eclipse.gmf.gmfgraph.Font;
import org.eclipse.gmf.gmfgraph.GMFGraphPackage;
import org.eclipse.gmf.gmfgraph.GeneralFacet;
import org.eclipse.gmf.gmfgraph.GradientFacet;
+import org.eclipse.gmf.gmfgraph.GridLayout;
+import org.eclipse.gmf.gmfgraph.GridLayoutData;
import org.eclipse.gmf.gmfgraph.Identity;
import org.eclipse.gmf.gmfgraph.Insets;
import org.eclipse.gmf.gmfgraph.Label;
import org.eclipse.gmf.gmfgraph.LabeledContainer;
+import org.eclipse.gmf.gmfgraph.Layout;
+import org.eclipse.gmf.gmfgraph.LayoutData;
+import org.eclipse.gmf.gmfgraph.Layoutable;
import org.eclipse.gmf.gmfgraph.LineBorder;
import org.eclipse.gmf.gmfgraph.MarginBorder;
import org.eclipse.gmf.gmfgraph.Node;
@@ -212,6 +222,7 @@ public class GMFGraphSwitch {
case GMFGraphPackage.FIGURE_MARKER: {
FigureMarker figureMarker = (FigureMarker)theEObject;
Object result = caseFigureMarker(figureMarker);
+ if (result == null) result = caseLayoutable(figureMarker);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -220,6 +231,7 @@ public class GMFGraphSwitch {
Object result = caseFigure(figure);
if (result == null) result = caseFigureMarker(figure);
if (result == null) result = caseIdentity(figure);
+ if (result == null) result = caseLayoutable(figure);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -227,6 +239,7 @@ public class GMFGraphSwitch {
FigureRef figureRef = (FigureRef)theEObject;
Object result = caseFigureRef(figureRef);
if (result == null) result = caseFigureMarker(figureRef);
+ if (result == null) result = caseLayoutable(figureRef);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -236,6 +249,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(connectionFigure);
if (result == null) result = caseFigureMarker(connectionFigure);
if (result == null) result = caseIdentity(connectionFigure);
+ if (result == null) result = caseLayoutable(connectionFigure);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -245,6 +259,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(decorationFigure);
if (result == null) result = caseFigureMarker(decorationFigure);
if (result == null) result = caseIdentity(decorationFigure);
+ if (result == null) result = caseLayoutable(decorationFigure);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -254,6 +269,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(shape);
if (result == null) result = caseFigureMarker(shape);
if (result == null) result = caseIdentity(shape);
+ if (result == null) result = caseLayoutable(shape);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -263,6 +279,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(label);
if (result == null) result = caseFigureMarker(label);
if (result == null) result = caseIdentity(label);
+ if (result == null) result = caseLayoutable(label);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -272,6 +289,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(labeledContainer);
if (result == null) result = caseFigureMarker(labeledContainer);
if (result == null) result = caseIdentity(labeledContainer);
+ if (result == null) result = caseLayoutable(labeledContainer);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -282,6 +300,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(rectangle);
if (result == null) result = caseFigureMarker(rectangle);
if (result == null) result = caseIdentity(rectangle);
+ if (result == null) result = caseLayoutable(rectangle);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -292,6 +311,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(roundedRectangle);
if (result == null) result = caseFigureMarker(roundedRectangle);
if (result == null) result = caseIdentity(roundedRectangle);
+ if (result == null) result = caseLayoutable(roundedRectangle);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -302,6 +322,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(ellipse);
if (result == null) result = caseFigureMarker(ellipse);
if (result == null) result = caseIdentity(ellipse);
+ if (result == null) result = caseLayoutable(ellipse);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -312,6 +333,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(polyline);
if (result == null) result = caseFigureMarker(polyline);
if (result == null) result = caseIdentity(polyline);
+ if (result == null) result = caseLayoutable(polyline);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -323,6 +345,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(polygon);
if (result == null) result = caseFigureMarker(polygon);
if (result == null) result = caseIdentity(polygon);
+ if (result == null) result = caseLayoutable(polygon);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -335,6 +358,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(polylineConnection);
if (result == null) result = caseFigureMarker(polylineConnection);
if (result == null) result = caseIdentity(polylineConnection);
+ if (result == null) result = caseLayoutable(polylineConnection);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -347,6 +371,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseFigure(polylineDecoration);
if (result == null) result = caseFigureMarker(polylineDecoration);
if (result == null) result = caseIdentity(polylineDecoration);
+ if (result == null) result = caseLayoutable(polylineDecoration);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -360,6 +385,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseShape(polygonDecoration);
if (result == null) result = caseFigureMarker(polygonDecoration);
if (result == null) result = caseIdentity(polygonDecoration);
+ if (result == null) result = caseLayoutable(polygonDecoration);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -376,6 +402,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseCustomClass(customFigure);
if (result == null) result = caseFigureMarker(customFigure);
if (result == null) result = caseIdentity(customFigure);
+ if (result == null) result = caseLayoutable(customFigure);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -388,6 +415,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseCustomClass(customDecoration);
if (result == null) result = caseFigureMarker(customDecoration);
if (result == null) result = caseIdentity(customDecoration);
+ if (result == null) result = caseLayoutable(customDecoration);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -400,6 +428,7 @@ public class GMFGraphSwitch {
if (result == null) result = caseCustomClass(customConnection);
if (result == null) result = caseFigureMarker(customConnection);
if (result == null) result = caseIdentity(customConnection);
+ if (result == null) result = caseLayoutable(customConnection);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -488,6 +517,74 @@ public class GMFGraphSwitch {
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case GMFGraphPackage.LAYOUT_DATA: {
+ LayoutData layoutData = (LayoutData)theEObject;
+ Object result = caseLayoutData(layoutData);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.CUSTOM_LAYOUT_DATA: {
+ CustomLayoutData customLayoutData = (CustomLayoutData)theEObject;
+ Object result = caseCustomLayoutData(customLayoutData);
+ if (result == null) result = caseLayoutData(customLayoutData);
+ if (result == null) result = caseCustomClass(customLayoutData);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.GRID_LAYOUT_DATA: {
+ GridLayoutData gridLayoutData = (GridLayoutData)theEObject;
+ Object result = caseGridLayoutData(gridLayoutData);
+ if (result == null) result = caseLayoutData(gridLayoutData);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.BORDER_LAYOUT_DATA: {
+ BorderLayoutData borderLayoutData = (BorderLayoutData)theEObject;
+ Object result = caseBorderLayoutData(borderLayoutData);
+ if (result == null) result = caseLayoutData(borderLayoutData);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.LAYOUTABLE: {
+ Layoutable layoutable = (Layoutable)theEObject;
+ Object result = caseLayoutable(layoutable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.LAYOUT: {
+ Layout layout = (Layout)theEObject;
+ Object result = caseLayout(layout);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.CUSTOM_LAYOUT: {
+ CustomLayout customLayout = (CustomLayout)theEObject;
+ Object result = caseCustomLayout(customLayout);
+ if (result == null) result = caseLayout(customLayout);
+ if (result == null) result = caseCustomClass(customLayout);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.GRID_LAYOUT: {
+ GridLayout gridLayout = (GridLayout)theEObject;
+ Object result = caseGridLayout(gridLayout);
+ if (result == null) result = caseLayout(gridLayout);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.BORDER_LAYOUT: {
+ BorderLayout borderLayout = (BorderLayout)theEObject;
+ Object result = caseBorderLayout(borderLayout);
+ if (result == null) result = caseLayout(borderLayout);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case GMFGraphPackage.CUSTOM_ATTRIBUTE: {
+ CustomAttribute customAttribute = (CustomAttribute)theEObject;
+ Object result = caseCustomAttribute(customAttribute);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
default: return defaultCase(theEObject);
}
}
@@ -1153,6 +1250,156 @@ public class GMFGraphSwitch {
}
/**
+ * Returns the result of interpretting the object as an instance of '<em>Layout Data</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Layout Data</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseLayoutData(LayoutData object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Custom Layout Data</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Custom Layout Data</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseCustomLayoutData(CustomLayoutData object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Grid Layout Data</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Grid Layout Data</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseGridLayoutData(GridLayoutData object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Border Layout Data</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Border Layout Data</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseBorderLayoutData(BorderLayoutData object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Layoutable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Layoutable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseLayoutable(Layoutable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Layout</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Layout</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseLayout(Layout object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Custom Layout</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Custom Layout</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseCustomLayout(CustomLayout object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Grid Layout</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Grid Layout</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseGridLayout(GridLayout object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Border Layout</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Border Layout</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseBorderLayout(BorderLayout object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpretting the object as an instance of '<em>Custom Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpretting the object as an instance of '<em>Custom Attribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public Object caseCustomAttribute(CustomAttribute object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;

Back to the top