public void OnActivated(AnalyzerTreeNodeData node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } bool newTab = Keyboard.Modifiers == ModifierKeys.Control || Keyboard.Modifiers == ModifierKeys.Shift; FollowNode(node, newTab, null); }
public void Add(AnalyzerTreeNodeData node) { if (node is EntityNode) { var an = node as EntityNode; var found = TreeView.Root.DataChildren.OfType <EntityNode>().FirstOrDefault(n => n.Member == an.Member); if (found != null) { found.TreeNode.IsExpanded = true; TreeView.SelectItems(new TreeNodeData[] { found }); TreeView.Focus(); return; } } TreeView.Root.Children.Add(TreeView.Create(node)); node.TreeNode.IsExpanded = true; TreeView.SelectItems(new TreeNodeData[] { node }); TreeView.Focus(); }
void DocumentService_CollectionChanged(object sender, NotifyDocumentCollectionChangedEventArgs e) { switch (e.Type) { case NotifyDocumentCollectionType.Clear: ClearAll(); break; case NotifyDocumentCollectionType.Add: AnalyzerTreeNodeData.HandleAssemblyListChanged(TreeView.Root, Array.Empty <IDsDocument>(), e.Documents); break; case NotifyDocumentCollectionType.Remove: AnalyzerTreeNodeData.HandleAssemblyListChanged(TreeView.Root, e.Documents, Array.Empty <IDsDocument>()); break; default: break; } }
void FileManager_CollectionChanged(object sender, NotifyFileCollectionChangedEventArgs e) { switch (e.Type) { case NotifyFileCollectionType.Clear: ClearAll(); break; case NotifyFileCollectionType.Add: AnalyzerTreeNodeData.HandleAssemblyListChanged(TreeView.Root, Array.Empty <IDnSpyFile>(), e.Files); break; case NotifyFileCollectionType.Remove: AnalyzerTreeNodeData.HandleAssemblyListChanged(TreeView.Root, e.Files, Array.Empty <IDnSpyFile>()); break; default: break; } }
void Cancel() => AnalyzerTreeNodeData.CancelSelfAndChildren(TreeView.Root.Data);
void DocumentTabService_FileModified(object sender, DocumentModifiedEventArgs e) { AnalyzerTreeNodeData.HandleModelUpdated(TreeView.Root, e.Documents); RefreshNodes(); }
void FileTabManager_FileModified(object sender, FileModifiedEventArgs e) { AnalyzerTreeNodeData.HandleModelUpdated(TreeView.Root, e.Files); RefreshNodes(); }