diff options
author | atikhomirov | 2006-02-13 17:36:07 +0000 |
---|---|---|
committer | atikhomirov | 2006-02-13 17:36:07 +0000 |
commit | f8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8 (patch) | |
tree | c3712afb5d03429a0b1f9a44a2694d1fb180ef5b | |
parent | 80e4035d3bf83b8a35983bc23587f49485a14d3e (diff) | |
download | org.eclipse.gmf-tooling-f8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8.tar.gz org.eclipse.gmf-tooling-f8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8.tar.xz org.eclipse.gmf-tooling-f8757a97d7e3a5e73cbc0be2d438e3921bc2a2e8.zip |
[mgolubev] #127252 layout support
123 files changed, 10429 insertions, 705 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 Binary files differnew file mode 100644 index 000000000..2bdaa748b --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateBorderLayout_spacing_Dimension.gif 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 Binary files differnew file mode 100644 index 000000000..7403d3965 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomClass_attributes_CustomAttribute.gif 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 Binary files differnew file mode 100644 index 000000000..689841d9a --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateCustomConfigurableClass_attributes_CustomAttribute.gif 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 Binary files differnew file mode 100644 index 000000000..6fd731e45 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayoutData_sizeHint_Dimension.gif 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 Binary files differnew file mode 100644 index 000000000..a29fe36e7 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_margins_Dimension.gif 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 Binary files differnew file mode 100644 index 000000000..a29fe36e7 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateGridLayout_spacing_Dimension.gif 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 Binary files differnew file mode 100644 index 000000000..f5e123328 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_BorderLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..b73646120 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_CustomLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..f309de1ad --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_GridLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..48d3c7faf --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_data_LayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..3f8d415eb --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_BorderLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..b73646120 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_CustomLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..89badf28d --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layoutData_GridLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..2c5a5dfe1 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_BorderLayout.gif 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 Binary files differnew file mode 100644 index 000000000..94841a6c1 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayout.gif 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 Binary files differnew file mode 100644 index 000000000..6f413cd02 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_CustomLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..22ecc645b --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_GridLayout.gif 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 Binary files differnew file mode 100644 index 000000000..b6fd64f4a --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/ctool16/CreateLayoutable_layout_Layout.gif 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 Binary files differnew file mode 100644 index 000000000..b53e8d0d7 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayout.gif 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 Binary files differnew file mode 100644 index 000000000..f85190204 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/BorderLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..e0575392b --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomAttribute.gif 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 Binary files differnew file mode 100644 index 000000000..d600d00ba --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomConfigurableClass.gif 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 Binary files differnew file mode 100644 index 000000000..dfe8c5145 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayout.gif 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 Binary files differnew file mode 100644 index 000000000..db974f3e4 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/CustomLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..792fb4e1c --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayout.gif 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 Binary files differnew file mode 100644 index 000000000..f8cea0ef8 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/GridLayoutData.gif 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 Binary files differnew file mode 100644 index 000000000..3a2082077 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/Layout.gif 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 Binary files differnew file mode 100644 index 000000000..eeff0e9e2 --- /dev/null +++ b/plugins/org.eclipse.gmf.graphdef.edit/icons/full/obj16/LayoutData.gif 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; diff --git a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java index 91b650221..941707282 100644 --- a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java +++ b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java @@ -23,6 +23,7 @@ import org.eclipse.gmf.tests.gef.DiagramNodeTest; import org.eclipse.gmf.tests.gen.AuditHandcodedTest; import org.eclipse.gmf.tests.gen.CompilationTest; import org.eclipse.gmf.tests.gen.FigureCodegenTest; +import org.eclipse.gmf.tests.gen.FigureLayoutTest; import org.eclipse.gmf.tests.gen.HandcodedImplTest; import org.eclipse.gmf.tests.gen.ToolDefHandocodedImplTest; import org.eclipse.gmf.tests.gen.ViewmapProducersTest; @@ -50,6 +51,7 @@ public class AllTests { suite.addTest(feed(HandcodedImplTest.class, sessionSetup)); // then, check handcoded implementations are in place suite.addTestSuite(FigureCodegenTest.class); + suite.addTestSuite(FigureLayoutTest.class); suite.addTestSuite(ViewmapProducersTest.class); suite.addTestSuite(ToolDefHandocodedImplTest.class); suite.addTestSuite(AuditHandcodedTest.class); diff --git a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureCodegenTest.java b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureCodegenTest.java index e7c711b83..e6ee0af8d 100644 --- a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureCodegenTest.java +++ b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureCodegenTest.java @@ -11,38 +11,13 @@ */ package org.eclipse.gmf.tests.gen; -import junit.framework.TestCase; - -import org.eclipse.emf.codegen.jet.JETException; -import org.eclipse.gmf.common.codegen.ImportUtil; -import org.eclipse.gmf.gmfgraph.ConnectionFigure; -import org.eclipse.gmf.gmfgraph.CustomFigure; -import org.eclipse.gmf.gmfgraph.Ellipse; -import org.eclipse.gmf.gmfgraph.Figure; -import org.eclipse.gmf.gmfgraph.GMFGraphFactory; -import org.eclipse.gmf.gmfgraph.Label; -import org.eclipse.gmf.gmfgraph.LineKind; -import org.eclipse.gmf.gmfgraph.Point; -import org.eclipse.gmf.gmfgraph.Polygon; -import org.eclipse.gmf.gmfgraph.PolygonDecoration; -import org.eclipse.gmf.gmfgraph.PolylineConnection; -import org.eclipse.gmf.gmfgraph.Rectangle; -import org.eclipse.gmf.gmfgraph.RoundedRectangle; -import org.eclipse.gmf.gmfgraph.util.FigureQualifiedNameSwitch; import org.eclipse.gmf.graphdef.codegen.FigureGenerator; -import org.eclipse.jdt.core.compiler.IProblem; -import org.eclipse.jdt.core.dom.AST; -import org.eclipse.jdt.core.dom.ASTNode; -import org.eclipse.jdt.core.dom.ASTParser; -import org.eclipse.jdt.core.dom.CompilationUnit; /** * TODO generate project, compile and instaniate figures to make sure values are set (like figure's bg/fg color) * @author artem */ -public class FigureCodegenTest extends TestCase { - private FigureGenerator figureGenerator; - +public class FigureCodegenTest extends FigureCodegenTestBase { public FigureCodegenTest(String name) { super(name); } @@ -64,126 +39,8 @@ public class FigureCodegenTest extends TestCase { } public void testGenFigureWithoutPackageStmt() { - figureGenerator = new FigureGenerator(); + setCustomFigureGenerator(new FigureGenerator()); testGenComplexShape(); } - private void performTests(Figure f) { - try { - String res = getGenerator().go(f); - assertNotNull("Generation should produce code", res); - ASTParser p = ASTParser.newParser(AST.JLS3); - p.setSource(res.toCharArray()); - ASTNode astNode = p.createAST(null); - assertEquals("Generator is expected to produce cu", astNode.getNodeType(), ASTNode.COMPILATION_UNIT); - CompilationUnit cu = (CompilationUnit) astNode; - if (getGenerator().getPackageStatement() != null) { - assertNotNull("Generator initialized with packageName should produce package statement", cu.getPackage()); - assertEquals("Package names are different", getGenerator().getPackageStatement(), cu.getPackage().getName().getFullyQualifiedName()); - } - IProblem[] problems = cu.getProblems(); - for (int i = 0; i < problems.length; i++) { - assertFalse(problems[i].getMessage() + ", line:" + problems[i].getSourceLineNumber() + ", pos:" + cu.getColumnNumber(problems[i].getSourceStart()), problems[i].isError()); - } - } catch (JETException ex) { - fail(ex.getMessage()); - } - } - - // custom top-level, hierarchical children. - private Figure figure1() { - CustomFigure cf = GMFGraphFactory.eINSTANCE.createCustomFigure(); - cf.setName("MyCylinder"); - cf.setBundleName("org.eclipse.gmf.runtime.geoshapes"); - cf.setQualifiedClassName("org.eclipse.gmf.runtime.geoshapes.internal.GeoShapeCylinder"); - Point p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(1023); - p.setY(33); - cf.setSize(p); - cf.getChildren().add(figure2()); - Ellipse e = GMFGraphFactory.eINSTANCE.createEllipse(); - e.setName("Elli"); - e.setFill(true); - cf.getChildren().add(e); - return cf; - } - - // basic toplevel with plain list of children - private Figure figure2() { - Rectangle r = GMFGraphFactory.eINSTANCE.createRectangle(); - r.setName("MyRect"); - r.setFill(true); - r.setLineWidth(3); - r.setLineKind(LineKind.LINE_DASHDOT_LITERAL); - Label l1 = GMFGraphFactory.eINSTANCE.createLabel(); - l1.setText("aaaaa"); - l1.setName("L1"); - Label l2 = GMFGraphFactory.eINSTANCE.createLabel(); - l2.setText("bbbbb"); - l2.setName("L2"); - r.getChildren().add(l1); - r.getChildren().add(l2); - return r; - } - - // basic toplebel with hierarhical list of children (one of them is custom, another is polygon) - private Figure figure3() { - RoundedRectangle r = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); - r.setName("Rounded1"); - Polygon pg = GMFGraphFactory.eINSTANCE.createPolygon(); - pg.setName("Polygon1"); - Point p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(1); - p.setY(2); - pg.getTemplate().add(p); - p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(0); - p.setY(3); - pg.getTemplate().add(p); - p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(-2); - p.setY(-1); - pg.getTemplate().add(p); - r.getChildren().add(pg); - r.getChildren().add(figure1()); - return r; - } - - private ConnectionFigure ecoreContainmentRef() { - PolylineConnection cf = GMFGraphFactory.eINSTANCE.createPolylineConnection(); - cf.setName("ContainmentRef"); - PolygonDecoration df = createRhomb(); - df.setFill(true); - cf.setSourceDecoration(df); - return cf; - } - - private PolygonDecoration createRhomb() { - PolygonDecoration df = GMFGraphFactory.eINSTANCE.createPolygonDecoration(); - Point p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(-1); - p.setY(1); - df.getTemplate().add(p); - p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(0); - p.setY(0); - df.getTemplate().add(p); - p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(-1); - p.setY(-1); - df.getTemplate().add(p); - p = GMFGraphFactory.eINSTANCE.createPoint(); - p.setX(-2); - p.setY(0); - df.getTemplate().add(p); - return df; - } - - private FigureGenerator getGenerator() { - if (figureGenerator == null) { - String packageName = "org.eclipse.gmf.tests.sample.figures"; - figureGenerator = new FigureGenerator(packageName, new ImportUtil(packageName), new FigureQualifiedNameSwitch()); - } - return figureGenerator; - } } diff --git a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureCodegenTestBase.java b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureCodegenTestBase.java new file mode 100644 index 000000000..8063c591e --- /dev/null +++ b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureCodegenTestBase.java @@ -0,0 +1,177 @@ +/* + * Copyright (c) 2005 Borland Software Corporation + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Artem Tikhomirov (Borland) - initial API and implementation + */ +package org.eclipse.gmf.tests.gen; + +import junit.framework.TestCase; + +import org.eclipse.emf.codegen.jet.JETException; +import org.eclipse.gmf.common.codegen.ImportUtil; +import org.eclipse.gmf.gmfgraph.ConnectionFigure; +import org.eclipse.gmf.gmfgraph.CustomFigure; +import org.eclipse.gmf.gmfgraph.Ellipse; +import org.eclipse.gmf.gmfgraph.Figure; +import org.eclipse.gmf.gmfgraph.GMFGraphFactory; +import org.eclipse.gmf.gmfgraph.Label; +import org.eclipse.gmf.gmfgraph.LineKind; +import org.eclipse.gmf.gmfgraph.Point; +import org.eclipse.gmf.gmfgraph.Polygon; +import org.eclipse.gmf.gmfgraph.PolygonDecoration; +import org.eclipse.gmf.gmfgraph.PolylineConnection; +import org.eclipse.gmf.gmfgraph.Rectangle; +import org.eclipse.gmf.gmfgraph.RoundedRectangle; +import org.eclipse.gmf.gmfgraph.util.FigureQualifiedNameSwitch; +import org.eclipse.gmf.graphdef.codegen.FigureGenerator; +import org.eclipse.jdt.core.compiler.IProblem; +import org.eclipse.jdt.core.dom.AST; +import org.eclipse.jdt.core.dom.ASTNode; +import org.eclipse.jdt.core.dom.ASTParser; +import org.eclipse.jdt.core.dom.CompilationUnit; + +/** + * TODO generate project, compile and instaniate figures to make sure values are set (like figure's bg/fg color) + * @author artem + */ +public class FigureCodegenTestBase extends TestCase { + private FigureGenerator figureGenerator; + + public FigureCodegenTestBase(String name) { + super(name); + } + + protected final void setCustomFigureGenerator(FigureGenerator generator){ + figureGenerator = generator; + } + + protected final void performTests(Figure f) { + try { + String res = getGenerator().go(f); + +// System.err.println("generator result:"); +// System.err.println(res); +// System.err.println("--------------------------------"); + + assertNotNull("Generation should produce code", res); + ASTParser p = ASTParser.newParser(AST.JLS3); + p.setSource(res.toCharArray()); + ASTNode astNode = p.createAST(null); + assertEquals("Generator is expected to produce cu", astNode.getNodeType(), ASTNode.COMPILATION_UNIT); + CompilationUnit cu = (CompilationUnit) astNode; + if (getGenerator().getPackageStatement() != null) { + assertNotNull("Generator initialized with packageName should produce package statement", cu.getPackage()); + assertEquals("Package names are different", getGenerator().getPackageStatement(), cu.getPackage().getName().getFullyQualifiedName()); + } + IProblem[] problems = cu.getProblems(); + for (int i = 0; i < problems.length; i++) { + assertFalse(problems[i].getMessage() + ", line:" + problems[i].getSourceLineNumber() + ", pos:" + cu.getColumnNumber(problems[i].getSourceStart()), problems[i].isError()); + } + } catch (JETException ex) { + fail(ex.getMessage()); + } + } + + // custom top-level, hierarchical children. + protected final Figure figure1() { + CustomFigure cf = GMFGraphFactory.eINSTANCE.createCustomFigure(); + cf.setName("MyCylinder"); + cf.setBundleName("org.eclipse.gmf.runtime.geoshapes"); + cf.setQualifiedClassName("org.eclipse.gmf.runtime.geoshapes.internal.GeoShapeCylinder"); + Point p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(1023); + p.setY(33); + cf.setSize(p); + cf.getChildren().add(figure2()); + Ellipse e = GMFGraphFactory.eINSTANCE.createEllipse(); + e.setName("Elli"); + e.setFill(true); + cf.getChildren().add(e); + return cf; + } + + // basic toplevel with plain list of children + protected final Figure figure2() { + Rectangle r = GMFGraphFactory.eINSTANCE.createRectangle(); + r.setName("MyRect"); + r.setFill(true); + r.setLineWidth(3); + r.setLineKind(LineKind.LINE_DASHDOT_LITERAL); + Label l1 = GMFGraphFactory.eINSTANCE.createLabel(); + l1.setText("aaaaa"); + l1.setName("L1"); + Label l2 = GMFGraphFactory.eINSTANCE.createLabel(); + l2.setText("bbbbb"); + l2.setName("L2"); + r.getChildren().add(l1); + r.getChildren().add(l2); + return r; + } + + // basic toplebel with hierarhical list of children (one of them is custom, another is polygon) + protected final Figure figure3() { + RoundedRectangle r = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + r.setName("Rounded1"); + Polygon pg = GMFGraphFactory.eINSTANCE.createPolygon(); + pg.setName("Polygon1"); + Point p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(1); + p.setY(2); + pg.getTemplate().add(p); + p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(0); + p.setY(3); + pg.getTemplate().add(p); + p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(-2); + p.setY(-1); + pg.getTemplate().add(p); + r.getChildren().add(pg); + r.getChildren().add(figure1()); + return r; + } + + protected final ConnectionFigure ecoreContainmentRef() { + PolylineConnection cf = GMFGraphFactory.eINSTANCE.createPolylineConnection(); + cf.setName("ContainmentRef"); + PolygonDecoration df = createRhomb(); + df.setFill(true); + cf.setSourceDecoration(df); + return cf; + } + + protected final PolygonDecoration createRhomb() { + PolygonDecoration df = GMFGraphFactory.eINSTANCE.createPolygonDecoration(); + Point p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(-1); + p.setY(1); + df.getTemplate().add(p); + p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(0); + p.setY(0); + df.getTemplate().add(p); + p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(-1); + p.setY(-1); + df.getTemplate().add(p); + p = GMFGraphFactory.eINSTANCE.createPoint(); + p.setX(-2); + p.setY(0); + df.getTemplate().add(p); + return df; + } + + private FigureGenerator getGenerator() { + if (figureGenerator == null) { + String packageName = "org.eclipse.gmf.tests.sample.figures"; + figureGenerator = new FigureGenerator(packageName, new ImportUtil(packageName), new FigureQualifiedNameSwitch()); + } + return figureGenerator; + } +} diff --git a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureLayoutTest.java b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureLayoutTest.java new file mode 100644 index 000000000..f47c9f7d9 --- /dev/null +++ b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/FigureLayoutTest.java @@ -0,0 +1,290 @@ +package org.eclipse.gmf.tests.gen; + +import java.util.Arrays; +import java.util.Iterator; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.gmf.gmfgraph.Alignment; +import org.eclipse.gmf.gmfgraph.BorderLayout; +import org.eclipse.gmf.gmfgraph.BorderLayoutData; +import org.eclipse.gmf.gmfgraph.CustomAttribute; +import org.eclipse.gmf.gmfgraph.CustomLayout; +import org.eclipse.gmf.gmfgraph.Dimension; +import org.eclipse.gmf.gmfgraph.Figure; +import org.eclipse.gmf.gmfgraph.FigureMarker; +import org.eclipse.gmf.gmfgraph.FigureRef; +import org.eclipse.gmf.gmfgraph.GMFGraphFactory; +import org.eclipse.gmf.gmfgraph.GridLayout; +import org.eclipse.gmf.gmfgraph.GridLayoutData; +import org.eclipse.gmf.gmfgraph.LayoutData; +import org.eclipse.gmf.gmfgraph.Rectangle; + +public class FigureLayoutTest extends FigureCodegenTestBase { + public FigureLayoutTest(String name){ + super(name); + } + + public void testConcreteShapeLayoutAllProperties(){ + Figure parent = figure2(); + EList children = parent.getChildren(); + assertFalse("Precondition -- children required to test layout", children.isEmpty()); + + parent.setLayout(createGridLayoutAllProperties()); + + boolean oddChild = false; + for (Iterator it = children.iterator(); it.hasNext();){ + FigureMarker next = (FigureMarker)it.next(); + oddChild = !oddChild; + LayoutData data = createLayoutDataAllProperties(oddChild); + next.setLayoutData(data); + assertEquals("data-owner relation should be bidirectional", next, data.getOwner()); + } + performTests(parent); + } + +// public void testLayoutIsStorable() throws IOException { +// Figure parent = GMFGraphFactory.eINSTANCE.createRectangle(); +// parent.setName("Parent"); +// parent.setLayout(createLayoutAllProperties()); +// +// Figure leftGreenFilled = GMFGraphFactory.eINSTANCE.createRectangle(); +// leftGreenFilled.setName("LeftGreen"); +// RGBColor green = GMFGraphFactory.eINSTANCE.createRGBColor(); +// green.setGreen(255); +// leftGreenFilled.setBackgroundColor(green); +// leftGreenFilled.setLayoutData(createLayoutDataAllProperties(true)); +// +// Figure rightRedOutline = GMFGraphFactory.eINSTANCE.createRectangle(); +// rightRedOutline.setName("RightRed"); +// RGBColor red = GMFGraphFactory.eINSTANCE.createRGBColor(); +// red.setRed(255); +// rightRedOutline.setForegroundColor(green); +// rightRedOutline.setLayoutData(createLayoutDataAllProperties(false)); +// +// Resource resource = new ResourceSetImpl().createResource(URI.createFileURI("C:/test-uri.xmi")); +// resource.getContents().add(parent); +// resource.save(null); +// } + + public void testCustomFigureLayoutAllProperties(){ + Figure parent = figure1(); + parent.setName("Parent"); + GridLayout layout = createGridLayoutAllProperties(); + layout.setNumColumns(1); + layout.setEqualWidth(false); + parent.setLayout(layout); + + for (Iterator children = parent.getChildren().iterator(); children.hasNext();){ + FigureMarker next = (FigureMarker)children.next(); + GridLayoutData data = createLayoutDataAllProperties(false); + data.setHorizontalAlignment(Alignment.FILL_LITERAL); + data.setOwner(next); + assertEquals("data-owner relation should be bidirectional", data, next.getLayoutData()); + } + performTests(parent); + } + + public void testDeepChildrenLayout(){ + Figure parent = GMFGraphFactory.eINSTANCE.createRectangle(); + parent.setName("Root"); + + Figure next = parent; + for (int i = 0; i < 4; i++){ + next = addPairOfChildRectnaglesAndReturnLeft(next); + } + + performTests(parent); + } + + public void testLayoutDefaults(){ + Figure parent = GMFGraphFactory.eINSTANCE.createEllipse(); + parent.setName("GenEllipse"); + parent.setLayout(GMFGraphFactory.eINSTANCE.createGridLayout()); + + Figure top = GMFGraphFactory.eINSTANCE.createLabel(); + top.setName("Top"); + top.setLayoutData(GMFGraphFactory.eINSTANCE.createGridLayoutData()); + parent.getChildren().add(top); + + Figure bottom = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + bottom.setName("Bottom"); + bottom.setLayoutData(GMFGraphFactory.eINSTANCE.createGridLayoutData()); + parent.getChildren().add(bottom); + + performTests(parent); + } + + public void testLayoutForReferencedChild(){ + Figure actualContainer = figure2(); + Figure referencedFigure = (Figure) actualContainer.getChildren().get(0); + + Figure parent = GMFGraphFactory.eINSTANCE.createRectangle(); + parent.setName("ReferencedFigureParent"); + parent.setLayout(createGridLayoutAllProperties()); + + FigureRef refChildA = GMFGraphFactory.eINSTANCE.createFigureRef(); + refChildA.setFigure(referencedFigure); + refChildA.setLayoutData(createLayoutDataAllProperties(false)); + + //same figure is referenced, different layout data + FigureRef refChildB = GMFGraphFactory.eINSTANCE.createFigureRef(); + refChildB.setFigure(referencedFigure); + refChildB.setLayoutData(createLayoutDataAllProperties(true)); + + parent.getChildren().add(refChildA); + parent.getChildren().add(refChildB); + + performTests(parent); + } + + public void testMissedLayoutPresentLayoutData(){ + Figure parent = GMFGraphFactory.eINSTANCE.createRectangle(); + parent.setName("ParentWithoutLayout"); + assertNull(parent.getLayout()); + + Figure child = GMFGraphFactory.eINSTANCE.createRectangle(); + child.setName("childWithLayoutData"); + child.setLayoutData(createLayoutDataAllProperties(false)); + + parent.getChildren().add(child); + + performTests(parent); + } + + public void testBorderLayout(){ + Figure parent = GMFGraphFactory.eINSTANCE.createRectangle(); + parent.setName("BorderedContents"); + + BorderLayout layout = GMFGraphFactory.eINSTANCE.createBorderLayout(); + layout.setSpacing(createDimension(2, 4)); + parent.setLayout(layout); + + Figure centerA = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + centerA.setName("Center_1"); + centerA.setLayoutData(createLayoutData(Alignment.CENTER_LITERAL, false)); + + Figure centerB = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + centerB.setName("Center_2"); + centerB.setLayoutData(createLayoutData(Alignment.CENTER_LITERAL, true)); + + Figure left = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + left.setName("Left"); + left.setLayoutData(createLayoutData(Alignment.BEGINNING_LITERAL, false)); + + Figure right = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + right.setName("Right"); + right.setLayoutData(createLayoutData(Alignment.END_LITERAL, false)); + + Figure top = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + top.setName("Top"); + top.setLayoutData(createLayoutData(Alignment.BEGINNING_LITERAL, true)); + + Figure bottom = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); + bottom.setName("Bottom"); + bottom.setLayoutData(createLayoutData(Alignment.END_LITERAL, true)); + + parent.getChildren().addAll(Arrays.asList(new Figure[] {top, bottom, left, right, centerA, centerB})); + + performTests(parent); + } + + public void testCustomLayout(){ + CustomLayout layout = GMFGraphFactory.eINSTANCE.createCustomLayout(); + layout.setQualifiedClassName("com.borland.layouts.TheBestLayoutManagerForever"); + + CustomAttribute normalAttr = GMFGraphFactory.eINSTANCE.createCustomAttribute(); + normalAttr.setDirectAccess(false); + normalAttr.setMultiStatementValue(false); + normalAttr.setName("UnlimateAnswer"); + normalAttr.setValue("42"); + + layout.getAttributes().add(normalAttr); + + CustomAttribute directAttr = GMFGraphFactory.eINSTANCE.createCustomAttribute(); + directAttr.setDirectAccess(true); + directAttr.setMultiStatementValue(false); + directAttr.setName("DirectUltimateAnswer"); + directAttr.setValue("this.getUltimateAnswer() - 6 * 7"); + + layout.getAttributes().add(directAttr); + + CustomAttribute multiAttr = GMFGraphFactory.eINSTANCE.createCustomAttribute(); + multiAttr.setDirectAccess(false); + multiAttr.setMultiStatementValue(true); + multiAttr.setName("MultiStatementParameter"); + multiAttr.setValue("int {0}; if (Boolean.TRUE.booleanValue()) '{' {0} = 42; } else '{' {0} = -42; } "); + + layout.getAttributes().add(multiAttr); + + Figure parent = GMFGraphFactory.eINSTANCE.createRectangle(); + parent.setName("CarefullyLayouted"); + parent.setLayout(layout); + + performTests(parent); + } + + private Figure addPairOfChildRectnaglesAndReturnLeft(Figure parent){ + GridLayout parentLayout = createGridLayoutAllProperties(); + parentLayout.setNumColumns(2); + parentLayout.setMargins(null); + parentLayout.setSpacing(null); + parent.setLayout(parentLayout); + + Rectangle left = GMFGraphFactory.eINSTANCE.createRectangle(); + left.setName(parent.getName() + "_1"); + left.setLayoutData(createLayoutDataAllProperties(true)); + parent.getChildren().add(left); + + Rectangle right = GMFGraphFactory.eINSTANCE.createRectangle(); + right.setName(parent.getName() + "_2"); + right.setLayoutData(createLayoutDataAllProperties(false)); + parent.getChildren().add(right); + + return left; + } + + private GridLayoutData createLayoutDataAllProperties(boolean horizontalBeginningNotEnd) { + GridLayoutData data = GMFGraphFactory.eINSTANCE.createGridLayoutData(); + data.setGrabExcessHorizontalSpace(true); + data.setGrabExcessVerticalSpace(false); + data.setHorizontalAlignment(horizontalBeginningNotEnd ? Alignment.BEGINNING_LITERAL : Alignment.END_LITERAL); + data.setVerticalAlignment(Alignment.CENTER_LITERAL); + data.setHorizontalIndent(5); + data.setHorizontalSpan(1); + data.setVerticalSpan(1); + return data; + } + + private GridLayout createGridLayoutAllProperties() { + GridLayout layout = GMFGraphFactory.eINSTANCE.createGridLayout(); + layout.setEqualWidth(true); + layout.setNumColumns(2); + + Dimension margins = GMFGraphFactory.eINSTANCE.createDimension(); + margins.setDx(5); + margins.setDy(10); + layout.setMargins(margins); + + Dimension spacing = GMFGraphFactory.eINSTANCE.createDimension(); + spacing.setDx(7); + spacing.setDy(8); + layout.setSpacing(spacing); + + return layout; + } + + private Dimension createDimension(int dx, int dy){ + Dimension result = GMFGraphFactory.eINSTANCE.createDimension(); + result.setDx(dx); + result.setDy(dy); + return result; + } + + private BorderLayoutData createLayoutData(Alignment alignment, boolean isVertical){ + BorderLayoutData result = GMFGraphFactory.eINSTANCE.createBorderLayoutData(); + result.setAlignment(alignment); + result.setVertical(isVertical); + return result; + } + +} |