Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2010-12-23 15:35:50 +0000
committerHenrik Rentz-Reichert2010-12-23 15:35:50 +0000
commit2eb90f4643fd425f77de2b88753a86416cda0166 (patch)
tree5ac56a44881f9ffd7161332adaddaa4b4e8403fd
parent0a8e1c80b17035737eec9e39529c963d27e1cf4b (diff)
downloadorg.eclipse.etrice-2eb90f4643fd425f77de2b88753a86416cda0166.tar.gz
org.eclipse.etrice-2eb90f4643fd425f77de2b88753a86416cda0166.tar.xz
org.eclipse.etrice-2eb90f4643fd425f77de2b88753a86416cda0166.zip
ui.structure: during creation take position as midpoint of
new interface item. Adjusted PopulateDiagramCommand accordingly. https://bugs.eclipse.org/bugs/show_bug.cgi?id=333155 Signed-off-by: Henrik Rentz-Reichert <hrr@protos.de>
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/commands/PopulateDiagramCommand.java40
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java8
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java1
4 files changed, 24 insertions, 27 deletions
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/commands/PopulateDiagramCommand.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/commands/PopulateDiagramCommand.java
index 90bca41b6..37cf19d1b 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/commands/PopulateDiagramCommand.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/commands/PopulateDiagramCommand.java
@@ -17,23 +17,6 @@ import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.transaction.RecordingCommand;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.etrice.ui.structure.DiagramAccess;
-import org.eclipse.etrice.ui.structure.support.ActorContainerRefSupport;
-import org.eclipse.etrice.ui.structure.support.PortSupport;
-import org.eclipse.etrice.ui.structure.support.StructureClassSupport;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.ui.services.GraphitiUi;
-
import org.eclipse.etrice.core.room.ActorClass;
import org.eclipse.etrice.core.room.ActorContainerClass;
import org.eclipse.etrice.core.room.ActorContainerRef;
@@ -42,6 +25,7 @@ import org.eclipse.etrice.core.room.Binding;
import org.eclipse.etrice.core.room.BindingEndPoint;
import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.LayerConnection;
+import org.eclipse.etrice.core.room.LogicalSystem;
import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.RefSAPoint;
import org.eclipse.etrice.core.room.RelaySAPoint;
@@ -50,7 +34,21 @@ import org.eclipse.etrice.core.room.SPPRef;
import org.eclipse.etrice.core.room.SPPoint;
import org.eclipse.etrice.core.room.StructureClass;
import org.eclipse.etrice.core.room.SubSystemClass;
-import org.eclipse.etrice.core.room.LogicalSystem;
+import org.eclipse.etrice.ui.structure.DiagramAccess;
+import org.eclipse.etrice.ui.structure.support.ActorContainerRefSupport;
+import org.eclipse.etrice.ui.structure.support.StructureClassSupport;
+import org.eclipse.graphiti.dt.IDiagramTypeProvider;
+import org.eclipse.graphiti.features.IAddFeature;
+import org.eclipse.graphiti.features.IFeatureProvider;
+import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
+import org.eclipse.graphiti.features.context.impl.AddContext;
+import org.eclipse.graphiti.mm.pictograms.Anchor;
+import org.eclipse.graphiti.mm.pictograms.Connection;
+import org.eclipse.graphiti.mm.pictograms.ContainerShape;
+import org.eclipse.graphiti.mm.pictograms.Diagram;
+import org.eclipse.graphiti.mm.pictograms.PictogramElement;
+import org.eclipse.graphiti.mm.pictograms.Shape;
+import org.eclipse.graphiti.ui.services.GraphitiUi;
public class PopulateDiagramCommand extends RecordingCommand {
@@ -192,7 +190,7 @@ public class PopulateDiagramCommand extends RecordingCommand {
AddContext addContext = new AddContext();
addContext.setNewObject(obj);
addContext.setTargetContainer(acShape);
- addContext.setX(pos-ActorContainerRefSupport.DEFAULT_SIZE_X/2);
+ addContext.setX(pos+StructureClassSupport.MARGIN-(ActorContainerRefSupport.DEFAULT_SIZE_X/2+ActorContainerRefSupport.MARGIN));
addContext.setY(4*StructureClassSupport.MARGIN);
ContainerShape refShape = (ContainerShape) featureProvider.addIfPossible(addContext);
@@ -204,8 +202,8 @@ public class PopulateDiagramCommand extends RecordingCommand {
AddContext addContext = new AddContext();
addContext.setNewObject(item);
addContext.setTargetContainer(acShape);
- addContext.setX(pos-PortSupport.ITEM_SIZE/2);
- addContext.setY(0);
+ addContext.setX(pos+StructureClassSupport.MARGIN);
+ addContext.setY(StructureClassSupport.MARGIN);
ContainerShape pe = (ContainerShape) featureProvider.addIfPossible(addContext);
assert(!pe.getAnchors().isEmpty()): "interface item should have an anchor";
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java
index 2b7d6848e..6fa8f5ec5 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java
@@ -86,7 +86,7 @@ public class ActorContainerRefSupport {
public static final int DEFAULT_SIZE_Y = 120;
public static final int MIN_SIZE_X = 100;
public static final int MIN_SIZE_Y = 60;
- protected static final int MARGIN = 20;
+ public static final int MARGIN = 20;
private static final IColorConstant LINE_COLOR = new ColorConstant(0, 0, 0);
private static final IColorConstant INHERITED_COLOR = new ColorConstant(100, 100, 100);
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
index f4263ce49..152825153 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
@@ -160,8 +160,8 @@ public class InterfaceItemSupport {
Graphiti.getPeService().setPropertyValue(containerShape, PROP_KIND, kind);
// we have relative coordinates here
- int x = context.getX();
- int y = context.getY();
+ int x = context.getX()-size;
+ int y = context.getY()-size;
int width = acShape.getGraphicsAlgorithm().getWidth();
int height = acShape.getGraphicsAlgorithm().getHeight();
if (internal) {
@@ -728,8 +728,8 @@ public class InterfaceItemSupport {
AddContext addContext = new AddContext();
addContext.setNewObject(ownObject);
addContext.setTargetContainer(refShape);
- addContext.setX(x);
- addContext.setY(y);
+ addContext.setX(x + ITEM_SIZE_SMALL);
+ addContext.setY(y + ITEM_SIZE_SMALL);
ContainerShape pe = (ContainerShape) featureProvider.addIfPossible(addContext);
assert(!pe.getAnchors().isEmpty()): "port must have an anchor";
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java
index 08934275c..14bed497b 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java
@@ -46,7 +46,6 @@ import org.eclipse.graphiti.util.ColorConstant;
import org.eclipse.graphiti.util.IColorConstant;
import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ActorContainerClass;
import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.StructureClass;

Back to the top