/** * Copyright (c) 2006, 2007 Borland Software Corp. * * 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: * Alexander Shatalin (Borland) - initial API and implementation */ package org.eclipse.gmf.tests.setup.figures; import org.eclipse.gmf.gmfgraph.BasicFont; import org.eclipse.gmf.gmfgraph.ColorConstants; import org.eclipse.gmf.gmfgraph.CompoundBorder; import org.eclipse.gmf.gmfgraph.CustomAttribute; import org.eclipse.gmf.gmfgraph.CustomBorder; import org.eclipse.gmf.gmfgraph.FigureGallery; import org.eclipse.gmf.gmfgraph.RealFigure; import org.eclipse.gmf.gmfgraph.FontStyle; import org.eclipse.gmf.gmfgraph.GMFGraphFactory; import org.eclipse.gmf.gmfgraph.Insets; import org.eclipse.gmf.gmfgraph.LineBorder; import org.eclipse.gmf.gmfgraph.LineKind; import org.eclipse.gmf.gmfgraph.MarginBorder; import org.eclipse.gmf.gmfgraph.Rectangle; import org.eclipse.gmf.gmfgraph.ScalablePolygon; import org.eclipse.gmf.gmfgraph.Shape; public class ShapePropertiesSetup extends AbstractFigureGeneratorSetup { private RealFigure myContainer; private Shape myShape; private RealFigure myShape1; private RealFigure myWithInsets; private RealFigure myContainer1; private RealFigure myTester; private RealFigure myMarginTester; private RealFigure myRainbow; private RealFigure myWithMinAndMaxSize; private RealFigure myRoot; private RealFigure myCustomBorderTester; private ScalablePolygon myScalablePolygon; private RealFigure myInnerScalablePolygonTester; protected void addFigures(FigureGallery gallery) { gallery.getFigures().add(getContainer()); gallery.getFigures().add(getShape()); gallery.getFigures().add(getShape1()); gallery.getFigures().add(getWithInsets()); gallery.getFigures().add(getContainer1()); gallery.getFigures().add(getTester()); gallery.getFigures().add(getMarginTester()); gallery.getFigures().add(getRainbow()); gallery.getFigures().add(getWithMinAndMaxSize()); gallery.getFigures().add(getRoot()); gallery.getFigures().add(getCustomBorderTester()); gallery.getFigures().add(getScalablePolygon()); gallery.getFigures().add(getInnerScalablePolygonTester()); } public RealFigure getRoot() { if (myRoot == null) { Rectangle noFontName = GMFGraphFactory.eINSTANCE.createRectangle(); noFontName.setName("NoFontName"); BasicFont noName = GMFGraphFactory.eINSTANCE.createBasicFont(); noFontName.setFont(noName); Rectangle emptyFontName = GMFGraphFactory.eINSTANCE.createRectangle(); emptyFontName.setName("EmptyFontName"); BasicFont emptyName = GMFGraphFactory.eINSTANCE.createBasicFont(); emptyName.setFaceName(""); emptyFontName.setFont(emptyName); myRoot = GMFGraphFactory.eINSTANCE.createRectangle(); myRoot.setName("Root"); myRoot.getChildren().add(emptyFontName); myRoot.getChildren().add(noFontName); } return myRoot; } public RealFigure getWithMinAndMaxSize() { if (myWithMinAndMaxSize == null) { myWithMinAndMaxSize = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); myWithMinAndMaxSize.setName("WithMinAndMaxSize"); myWithMinAndMaxSize.setMaximumSize(FigureGeneratorUtil.createDimension(1000, 2000)); myWithMinAndMaxSize.setMinimumSize(FigureGeneratorUtil.createDimension(234, 123)); } return myWithMinAndMaxSize; } public RealFigure getRainbow() { if (myRainbow == null) { myRainbow = GMFGraphFactory.eINSTANCE.createRectangle(); myRainbow.setName("Rainbow"); for (ColorConstants next : ColorConstants.VALUES){ Rectangle nextColored = GMFGraphFactory.eINSTANCE.createRectangle(); nextColored.setName(next.getLiteral()); nextColored.setBackgroundColor(FigureGeneratorUtil.createConstantColor(next)); myRainbow.getChildren().add(nextColored); } } return myRainbow; } public RealFigure getMarginTester() { if (myMarginTester == null) { MarginBorder border = GMFGraphFactory.eINSTANCE.createMarginBorder(); border.setInsets(GMFGraphFactory.eINSTANCE.createInsets()); border.getInsets().setBottom(23); border.getInsets().setTop(34); border.getInsets().setRight(45); border.getInsets().setLeft(56); myMarginTester = GMFGraphFactory.eINSTANCE.createEllipse(); myMarginTester.setBorder(border); myMarginTester.setName("MarginTester"); } return myMarginTester; } public RealFigure getCustomBorderTester(){ if (myCustomBorderTester == null){ myCustomBorderTester = GMFGraphFactory.eINSTANCE.createRectangle(); myCustomBorderTester.setName("CustomBorderTester"); CustomBorder singleCustomBorder = GMFGraphFactory.eINSTANCE.createCustomBorder(); singleCustomBorder.setQualifiedClassName(org.eclipse.draw2d.LineBorder.class.getName()); CustomAttribute borderColor = GMFGraphFactory.eINSTANCE.createCustomAttribute(); borderColor.setName("color"); borderColor.setValue("org.eclipse.draw2d.ColorConstants.blue"); CustomAttribute borderWidth = GMFGraphFactory.eINSTANCE.createCustomAttribute(); borderWidth.setName("width"); borderWidth.setValue("2"); singleCustomBorder.getAttributes().add(borderColor); singleCustomBorder.getAttributes().add(borderWidth); myCustomBorderTester.setBorder(singleCustomBorder); RealFigure innerRectangle = GMFGraphFactory.eINSTANCE.createRectangle(); innerRectangle.setName("TesterOfCompoundBorderWithCustomComponent"); myCustomBorderTester.getChildren().add(innerRectangle); CompoundBorder compoundBorderWithCustomComponent = GMFGraphFactory.eINSTANCE.createCompoundBorder(); MarginBorder justSomeGMFBorder = GMFGraphFactory.eINSTANCE.createMarginBorder(); justSomeGMFBorder.setInsets(GMFGraphFactory.eINSTANCE.createInsets()); justSomeGMFBorder.getInsets().setBottom(5); justSomeGMFBorder.getInsets().setTop(5); justSomeGMFBorder.getInsets().setLeft(5); justSomeGMFBorder.getInsets().setRight(5); compoundBorderWithCustomComponent.setInner(justSomeGMFBorder); CustomBorder customBorderAsComponent = GMFGraphFactory.eINSTANCE.createCustomBorder(); customBorderAsComponent.setQualifiedClassName(org.eclipse.draw2d.TitleBarBorder.class.getName()); CustomAttribute labelAttribute = GMFGraphFactory.eINSTANCE.createCustomAttribute(); labelAttribute.setName("label"); labelAttribute.setValue("\"Label Text\""); CustomAttribute paddingAttribute = GMFGraphFactory.eINSTANCE.createCustomAttribute(); paddingAttribute.setName("padding"); paddingAttribute.setValue("5"); customBorderAsComponent.getAttributes().add(labelAttribute); customBorderAsComponent.getAttributes().add(paddingAttribute); compoundBorderWithCustomComponent.setOuter(customBorderAsComponent); innerRectangle.setBorder(compoundBorderWithCustomComponent); } return myCustomBorderTester; } public RealFigure getTester() { if (myTester == null) { LineBorder outerOuter = GMFGraphFactory.eINSTANCE.createLineBorder(); outerOuter.setColor(FigureGeneratorUtil.createConstantColor(ColorConstants.BLUE_LITERAL)); outerOuter.setWidth(22); MarginBorder outerInner = GMFGraphFactory.eINSTANCE.createMarginBorder(); outerInner.setInsets(GMFGraphFactory.eINSTANCE.createInsets()); outerInner.getInsets().setBottom(23); outerInner.getInsets().setTop(34); //sic! outerInner.getInsets().setRight(45); //sic! outerInner.getInsets().setLeft(56); CompoundBorder outer = GMFGraphFactory.eINSTANCE.createCompoundBorder(); outer.setOuter(outerOuter); outer.setInner(outerInner); CompoundBorder innerEmpty = GMFGraphFactory.eINSTANCE.createCompoundBorder(); //sic! innerEmpty.setInner(null); innerEmpty.setOuter(null); CompoundBorder result = GMFGraphFactory.eINSTANCE.createCompoundBorder(); result.setOuter(outer); result.setInner(innerEmpty); myTester = GMFGraphFactory.eINSTANCE.createRectangle(); myTester.setBorder(result); myTester.setName("Tester"); } return myTester; } public RealFigure getContainer1() { if (myContainer1 == null) { myContainer1 = GMFGraphFactory.eINSTANCE.createRectangle(); myContainer1.setName("Container1"); Rectangle colorAndWidth = GMFGraphFactory.eINSTANCE.createRectangle(); colorAndWidth.setName("ColorAndWidth"); LineBorder colorAndWidthBorder = GMFGraphFactory.eINSTANCE.createLineBorder(); colorAndWidthBorder.setColor(FigureGeneratorUtil.createConstantColor(ColorConstants.CYAN_LITERAL)); colorAndWidthBorder.setWidth(23); colorAndWidth.setBorder(colorAndWidthBorder); Rectangle onlyColor = GMFGraphFactory.eINSTANCE.createRectangle(); onlyColor.setName("OnlyColor"); LineBorder onlyColorBorder = GMFGraphFactory.eINSTANCE.createLineBorder(); onlyColorBorder.setColor(FigureGeneratorUtil.createConstantColor(ColorConstants.CYAN_LITERAL)); onlyColor.setBorder(onlyColorBorder); Rectangle onlyWidth = GMFGraphFactory.eINSTANCE.createRectangle(); onlyWidth.setName("OnlyWidth"); LineBorder onlyWidthBorder = GMFGraphFactory.eINSTANCE.createLineBorder(); onlyWidthBorder.setWidth(34); onlyWidth.setBorder(onlyWidthBorder); Rectangle empty = GMFGraphFactory.eINSTANCE.createRectangle(); empty.setName("Empty"); LineBorder emptyBorder = GMFGraphFactory.eINSTANCE.createLineBorder(); empty.setBorder(emptyBorder); myContainer1.getChildren().add(colorAndWidth); myContainer1.getChildren().add(onlyColor); myContainer1.getChildren().add(onlyWidth); myContainer1.getChildren().add(empty); } return myContainer1; } public RealFigure getWithInsets() { if (myWithInsets == null) { myWithInsets = GMFGraphFactory.eINSTANCE.createRectangle(); myWithInsets.setName("WithInsets"); Insets insets = GMFGraphFactory.eINSTANCE.createInsets(); insets.setBottom(23); insets.setTop(34); insets.setRight(45); insets.setLeft(56); myWithInsets.setInsets(insets); } return myWithInsets; } public RealFigure getShape1() { if (myShape1 == null) { myShape1 = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); myShape1.setName("WithArialFont"); myShape1.setFont(FigureGeneratorUtil.createBasicFont("Arial", 10, FontStyle.NORMAL_LITERAL)); } return myShape1; } public RealFigure getShape() { if (myShape == null) { myShape = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); myShape.setLineWidth(23); myShape.setName("Bold"); } return myShape; } public RealFigure getContainer() { if (myContainer == null) { myContainer = GMFGraphFactory.eINSTANCE.createRectangle(); myContainer.setName("Container"); for (LineKind next : LineKind.VALUES) { Shape shape = GMFGraphFactory.eINSTANCE.createEllipse(); shape.setName("Ellipse_" + next.getLiteral()); shape.setLineKind(next); myContainer.getChildren().add(shape); } } return myContainer; } public RealFigure getScalablePolygon(){ if (myScalablePolygon == null){ myScalablePolygon = GMFGraphFactory.eINSTANCE.createScalablePolygon(); myScalablePolygon.setName("ScalableRhomb"); myScalablePolygon.setBackgroundColor(FigureGeneratorUtil.createConstantColor(ColorConstants.YELLOW_LITERAL)); myScalablePolygon.getTemplate().add(FigureGeneratorUtil.createPoint(3, 0)); myScalablePolygon.getTemplate().add(FigureGeneratorUtil.createPoint(6, 3)); myScalablePolygon.getTemplate().add(FigureGeneratorUtil.createPoint(3, 6)); myScalablePolygon.getTemplate().add(FigureGeneratorUtil.createPoint(0, 3)); } return myScalablePolygon; } public RealFigure getInnerScalablePolygonTester(){ if (myInnerScalablePolygonTester == null){ myInnerScalablePolygonTester = GMFGraphFactory.eINSTANCE.createRectangle(); myInnerScalablePolygonTester.setName("InnerScalablePolygonTester"); ScalablePolygon innerScalableTriangle = GMFGraphFactory.eINSTANCE.createScalablePolygon(); innerScalableTriangle.setName("InnerScalableTriangle"); innerScalableTriangle.setForegroundColor(FigureGeneratorUtil.createConstantColor(ColorConstants.RED_LITERAL)); innerScalableTriangle.setInsets(GMFGraphFactory.eINSTANCE.createInsets()); innerScalableTriangle.getInsets().setBottom(10); innerScalableTriangle.getInsets().setTop(10); innerScalableTriangle.getInsets().setLeft(5); innerScalableTriangle.getInsets().setRight(5); innerScalableTriangle.getTemplate().add(FigureGeneratorUtil.createPoint(3, 0)); innerScalableTriangle.getTemplate().add(FigureGeneratorUtil.createPoint(0, 4)); innerScalableTriangle.getTemplate().add(FigureGeneratorUtil.createPoint(6, 4)); myInnerScalablePolygonTester.getChildren().add(innerScalableTriangle); } return myInnerScalablePolygonTester; } }