diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java')
-rw-r--r-- | plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java index b1f11a3f1..1b5eb2696 100644 --- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java +++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java @@ -25,6 +25,7 @@ import org.eclipse.etrice.core.room.ActorContainerClass; import org.eclipse.etrice.core.room.ActorContainerRef; import org.eclipse.etrice.core.room.ActorRef; import org.eclipse.etrice.core.room.InterfaceItem; +import org.eclipse.etrice.core.room.Port; import org.eclipse.etrice.core.room.RoomClass; import org.eclipse.etrice.core.room.StructureClass; import org.eclipse.etrice.core.room.SubSystemRef; @@ -103,11 +104,13 @@ public class DefaultPositionProvider implements IPositionProvider { for(EObject obj : toLayout){ if(obj instanceof ActorContainerRef) refs.add((ActorContainerRef) obj); - else if(obj instanceof InterfaceItem) - if(obj.eContainer() == sc) - intPorts.add((InterfaceItem) obj); + else if(obj instanceof InterfaceItem){ + InterfaceItem item = (InterfaceItem)obj; + if(item instanceof Port && RoomHelpers.isInternal((Port)item)) + intPorts.add(item); else - ifItems.add((InterfaceItem) obj); + ifItems.add(item); + } } layoutInterfaceItems(ifItems, width, height, -InterfaceItemSupport.MARGIN); |