X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FdiagramEditor%2FDiagramViewerSelectionProvider.java;h=27e58b5d1b832a042504a9cf945ae15f13150510;hp=42c489e24d4b866d310507cf7d1d00d4cc1508cf;hb=876ede6b867e2e7966ffb46cc69dc820969c4394;hpb=b9450ae725ed484f18cb4a3a44eddc6da01ec9d7 diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerSelectionProvider.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerSelectionProvider.java index 42c489e24..27e58b5d1 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerSelectionProvider.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagramEditor/DiagramViewerSelectionProvider.java @@ -65,6 +65,7 @@ public class DiagramViewerSelectionProvider extends WorkbenchSelectionProvider { DiagramResource DIA = DiagramResource.getInstance(graph); ModelingResources MOD = ModelingResources.getInstance(graph); + Layer0 L0 = Layer0.getInstance(graph); String uri = graph.getPossibleRelatedValue(resource, DIA.RuntimeDiagram_HasVariable); if (uri == null) @@ -76,6 +77,11 @@ public class DiagramViewerSelectionProvider extends WorkbenchSelectionProvider { Resource config = graph.getPossibleObject(resource2, MOD.ElementToComponent); if (config == null) { + if (graph.isInstanceOf(resource2, DIA.Connection)) { + Variable v = FlagUtil.getPossibleConnectionSignal(graph, var, resource2, L0.Entity); + if (v != null) + return v; + } // Apros #9646: if resource2 is the diagram // itself, return the diagram composite variable // since it is generally more useful than the @@ -87,7 +93,6 @@ public class DiagramViewerSelectionProvider extends WorkbenchSelectionProvider { } if(graph.isInstanceOf(resource2, DIA.Flag)) { - Layer0 L0 = Layer0.getInstance(graph); Variable signal = FlagUtil.getPossibleFlagSignal(graph, var, resource2, L0.Entity); if(signal != null) return signal;