public void SetSelectedVariable(string variableName)
{
foreach (var edge in _edges)
{
edge.Opacity = 1.0;
edge.SetValue(Canvas.ZIndexProperty, LayerUnimportantEdges);
}
foreach (var node in _nodes)
{
node.Opacity = 1.0;
RandomVariable nodeRV = (RandomVariable)node.Tag;
if (nodeRV.Name == variableName)
{
node.State = GraphNode.StateEnum.Selecting;
node.SetValue(Canvas.ZIndexProperty, LayerSelectedNodes);
foreach (var edge in
_edges.Where(e => e.To == node || e.From == node))
{
edge.SetValue(Canvas.ZIndexProperty, LayerSelectedNodesEdges);
}
}
else
{
node.SetValue(Canvas.ZIndexProperty, LayerUnimportantNodes);
if (_interestVariables != null)
{
if (_interestVariables.Contains(nodeRV.Name))
{
node.State = GraphNode.StateEnum.Idling;
}
else
{
node.State = GraphNode.StateEnum.Minimized;
}
}
else
{
node.State = GraphNode.StateEnum.Idling;
}
}
}
_selectedVariableName = variableName;
}