import org.simantics.db.layer0.variable.Variable;\r
import org.simantics.db.layer0.variable.Variables;\r
import org.simantics.diagram.Logger;\r
+import org.simantics.diagram.flag.FlagUtil;\r
import org.simantics.diagram.stubs.DiagramResource;\r
import org.simantics.diagram.ui.DiagramModelHints;\r
import org.simantics.diagram.ui.WorkbenchSelectionProvider;\r
import org.simantics.g2d.element.ElementHints;\r
import org.simantics.g2d.element.ElementUtils;\r
import org.simantics.g2d.element.IElement;\r
+import org.simantics.layer0.Layer0;\r
import org.simantics.modeling.ModelingResources;\r
import org.simantics.ui.SimanticsUI;\r
import org.simantics.ui.selection.AnyResource;\r
\r
DiagramResource DIA = DiagramResource.getInstance(graph);\r
ModelingResources MOD = ModelingResources.getInstance(graph);\r
+ Layer0 L0 = Layer0.getInstance(graph);\r
\r
String uri = graph.getPossibleRelatedValue(resource, DIA.RuntimeDiagram_HasVariable);\r
if (uri == null)\r
\r
Resource config = graph.getPossibleObject(resource2, MOD.ElementToComponent);\r
if (config == null) {\r
+ if (graph.isInstanceOf(resource2, DIA.Connection)) {\r
+ Variable v = FlagUtil.getPossibleConnectionSignal(graph, var, resource2, L0.Entity);\r
+ if (v != null)\r
+ return v;\r
+ }\r
// Apros #9646: if resource2 is the diagram\r
// itself, return the diagram composite variable\r
// since it is generally more useful than the\r
//return Variables.getPossibleVariable(graph, resource2);\r
return var;\r
}\r
+ \r
+ if(graph.isInstanceOf(resource2, DIA.Flag)) {\r
+ Variable signal = FlagUtil.getPossibleFlagSignal(graph, var, resource2, L0.Entity);\r
+ if(signal != null)\r
+ return signal;\r
+ }\r
\r
return null;\r
+ \r
}\r
\r
return var.browsePossible(graph, config);\r