private void CommandSelectNode_Execute(object sender, ExecutedRoutedEventArgs e)
        {
            // Try to find the MethodVM corresponding to the passed NodeVM
            // and set its selected node

            NodeVM   node   = e.Parameter as NodeVM;
            MethodVM method = Class?.Methods.FirstOrDefault(m => m.Nodes.Contains(node));

            if (method != null)
            {
                method.SelectedNode = node;
            }
        }
Beispiel #2
0
        private void CommandSelectNode_Execute(object sender, ExecutedRoutedEventArgs e)
        {
            // Try to find the MethodVM corresponding to the passed NodeVM
            // and set its selected node

            // TODO: Make selection nicer. Finding the corresponding method view model seems wrong since
            //       we have to search in all possible places that have methods.

            NodeVM   node   = e.Parameter as NodeVM;
            MethodVM method = Class?.Methods.FirstOrDefault(m => m.Nodes.Contains(node)) ??
                              Class?.Variables?.FirstOrDefault(v => v.HasGetter && v.GetterMethod.Nodes.Contains(node))?.GetterMethod ??
                              Class?.Variables?.FirstOrDefault(v => v.HasSetter && v.SetterMethod.Nodes.Contains(node))?.SetterMethod;

            if (method != null)
            {
                method.SelectedNodes = new[] { node };
            }
        }