Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 48746 Details for
Bug 155230
ViewmapProducer to deduce DefaultSizeAttributes if maximum size is set in gmfgraph for referenced figure
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Fixes the subj
patch_155230.txt (text/plain), 6.08 KB, created by
Michael Golubev
on 2006-08-25 12:38:49 EDT
(
hide
)
Description:
Fixes the subj
Filename:
MIME Type:
Creator:
Michael Golubev
Created:
2006-08-25 12:38:49 EDT
Size:
6.08 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.gmf.bridge >Index: src/org/eclipse/gmf/internal/bridge/genmodel/DefaultViewmapProducer.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge/src/org/eclipse/gmf/internal/bridge/genmodel/DefaultViewmapProducer.java,v >retrieving revision 1.1 >diff -u -r1.1 DefaultViewmapProducer.java >--- src/org/eclipse/gmf/internal/bridge/genmodel/DefaultViewmapProducer.java 26 Jun 2006 14:05:04 -0000 1.1 >+++ src/org/eclipse/gmf/internal/bridge/genmodel/DefaultViewmapProducer.java 25 Aug 2006 16:42:09 -0000 >@@ -11,6 +11,7 @@ > */ > package org.eclipse.gmf.internal.bridge.genmodel; > >+import org.eclipse.gmf.codegen.gmfgen.DefaultSizeAttributes; > import org.eclipse.gmf.codegen.gmfgen.FigureViewmap; > import org.eclipse.gmf.codegen.gmfgen.GMFGenFactory; > import org.eclipse.gmf.codegen.gmfgen.ResizeConstraints; >@@ -21,6 +22,7 @@ > import org.eclipse.gmf.gmfgraph.Compartment; > import org.eclipse.gmf.gmfgraph.Connection; > import org.eclipse.gmf.gmfgraph.DiagramLabel; >+import org.eclipse.gmf.gmfgraph.Dimension; > import org.eclipse.gmf.gmfgraph.Direction; > import org.eclipse.gmf.gmfgraph.Figure; > import org.eclipse.gmf.gmfgraph.FigureHandle; >@@ -114,6 +116,24 @@ > viewmap.getAttributes().add(attributes); > } > } >+ >+ /** >+ * Intentionally limited to Node's. >+ * It does not make sense to setup default size for labels, compartments, etc. >+ */ >+ protected final void setupDefaultSize(Viewmap viewmap, Node node) { >+ FigureHandle handle = node.getFigure(); >+ if (handle instanceof Figure){ >+ Figure figure = (Figure)handle; >+ Dimension prefSize = figure.getPreferredSize(); >+ if (prefSize != null){ >+ DefaultSizeAttributes defaultSize = GMFGenFactory.eINSTANCE.createDefaultSizeAttributes(); >+ defaultSize.setHeight(prefSize.getDy()); >+ defaultSize.setWidth(prefSize.getDx()); >+ viewmap.getAttributes().add(defaultSize); >+ } >+ } >+ } > > private static class LayoutTypeSwitch extends GMFGraphSwitch { > >Index: src/org/eclipse/gmf/internal/bridge/genmodel/InnerClassViewmapProducer.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge/src/org/eclipse/gmf/internal/bridge/genmodel/InnerClassViewmapProducer.java,v >retrieving revision 1.2 >diff -u -r1.2 InnerClassViewmapProducer.java >--- src/org/eclipse/gmf/internal/bridge/genmodel/InnerClassViewmapProducer.java 26 Jun 2006 16:49:34 -0000 1.2 >+++ src/org/eclipse/gmf/internal/bridge/genmodel/InnerClassViewmapProducer.java 25 Aug 2006 16:42:09 -0000 >@@ -73,6 +73,7 @@ > final Viewmap viewmap = createViewmap(node.getNodeFigure()); > setupResizeConstraints(viewmap, node); > setupLayoutType(viewmap, node); >+ setupDefaultSize(viewmap, node); > return viewmap; > } > >#P org.eclipse.gmf.tests >Index: src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.gmf/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java,v >retrieving revision 1.16 >diff -u -r1.16 ViewmapProducersTest.java >--- src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java 26 Jun 2006 14:05:00 -0000 1.16 >+++ src/org/eclipse/gmf/tests/gen/ViewmapProducersTest.java 25 Aug 2006 16:42:10 -0000 >@@ -19,6 +19,7 @@ > import junit.framework.TestCase; > > import org.eclipse.emf.ecore.util.EcoreUtil; >+import org.eclipse.gmf.codegen.gmfgen.DefaultSizeAttributes; > import org.eclipse.gmf.codegen.gmfgen.FigureViewmap; > import org.eclipse.gmf.codegen.gmfgen.InnerClassViewmap; > import org.eclipse.gmf.codegen.gmfgen.ParentAssignedViewmap; >@@ -36,6 +37,7 @@ > import org.eclipse.gmf.gmfgraph.CustomConnection; > import org.eclipse.gmf.gmfgraph.CustomFigure; > import org.eclipse.gmf.gmfgraph.DiagramLabel; >+import org.eclipse.gmf.gmfgraph.Dimension; > import org.eclipse.gmf.gmfgraph.Direction; > import org.eclipse.gmf.gmfgraph.Figure; > import org.eclipse.gmf.gmfgraph.FigureAccessor; >@@ -361,6 +363,56 @@ > } > } > >+ public void testDefaultSizeAttribute(){ >+ Dimension DIMENSION = GMFGraphFactory.eINSTANCE.createDimension(); >+ DIMENSION.setDx(321); >+ DIMENSION.setDy(123); >+ >+ class Checker { >+ private final Dimension myExpectedSize; >+ >+ public Checker(Figure expected){ >+ this(expected.getPreferredSize()); >+ } >+ >+ public Checker(Dimension expected){ >+ myExpectedSize = expected == null ? null : (Dimension)EcoreUtil.copy(expected); >+ } >+ >+ public void check(Figure figure){ >+ check(getProducer().create(createNode(figure.getName(), figure))); >+ } >+ >+ public void check(Viewmap viewmap){ >+ DefaultSizeAttributes actual = (DefaultSizeAttributes) viewmap.find(DefaultSizeAttributes.class); >+ if (myExpectedSize == null){ >+ assertNull(actual); >+ } else { >+ assertNotNull(actual); >+ assertEquals(myExpectedSize.getDx(), actual.getWidth()); >+ assertEquals(myExpectedSize.getDy(), actual.getHeight()); >+ } >+ } >+ } >+ >+ Figure withPrefSize = GMFGraphFactory.eINSTANCE.createRoundedRectangle(); >+ withPrefSize.setName("WithPreferredSize"); >+ withPrefSize.setPreferredSize((Dimension) EcoreUtil.copy(DIMENSION)); >+ new Checker(withPrefSize).check(withPrefSize); >+ >+ Figure noPrefSize = GMFGraphFactory.eINSTANCE.createRectangle(); >+ noPrefSize.setName("NoPrefSize"); >+ new Checker(noPrefSize).check(noPrefSize); >+ >+ Figure childHasPrefSizeButFigureDoesNot = GMFGraphFactory.eINSTANCE.createEllipse(); >+ childHasPrefSizeButFigureDoesNot.setName("Parent"); >+ Figure child = GMFGraphFactory.eINSTANCE.createRectangle(); >+ child.setName("child"); >+ child.setPreferredSize((Dimension) EcoreUtil.copy(DIMENSION)); >+ new Checker((Dimension)null).check(childHasPrefSizeButFigureDoesNot); >+ new Checker(DIMENSION).check(child); >+ } >+ > public void testViewmapLayoutType(){ > ViewmapLayoutTypeChecker checker = new ViewmapLayoutTypeChecker(); > GMFGraphFactory gmf = GMFGraphFactory.eINSTANCE;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 155230
:
48746
|
49260