private void UpdateSelection(IList <ISelectable> selection) { var selectedNode = selection.Select(s => s as Node).Where(s => s != null).LastOrDefault(); if (selectedNode != null) { Evaluate(selectedNode); } else { m_Expression.Clear(); } if (selectedNode != null && selectedNode.userData is SearchExpressionNode ex) { m_NodeEditor.SetSelection(ex); if (ex.type == ExpressionType.Select && !ex.GetProperty(ExpressionKeyName.Mapped, false)) { m_ResultView.itemIconSize = 0f; } else { m_ResultView.itemIconSize = 1f; } } else { m_NodeEditor.ClearSelection(); } m_NodeEditor.MarkDirtyRepaint(); m_ResultView.MarkDirtyRepaint(); }