public static void ExpandOnlyCSharpProjects(ITreeNavigator node) { if (node == null) { return; } var typename = node.DataItem.GetType().Name; if (typename == "Solution") { node.ExpandToNode(); } if (node.HasChildren()) { var continueLoop = node.MoveToFirstChild(); while (continueLoop) { if (node.DataItem is Project proj) { var filter = EssentialProperties.ExpandFilterArray; if (filter.Length == 0) { node.MoveToFirstChild(); node.ExpandToNode(); node.MoveToParent(); } else { foreach (var item in filter) { if (proj.Name.ToLower().Contains(item)) { node.MoveToFirstChild(); node.ExpandToNode(); node.MoveToParent(); break; } } } } else { ExpandOnlyCSharpProjects(node); } continueLoop = node.MoveNext(); } node.MoveToParent(); } }
public virtual void JumpToPosition() { if (!file.IsNullOrEmpty) { var doc = IdeApp.Workbench.OpenDocument(file, Math.Max(1, line), Math.Max(1, column)); var project = WorkspaceObject as Project; if (doc != null && project != null) { doc.SetProject(project); } } else if (parentObject != null) { Pad pad = IdeApp.Workbench.GetPad <ProjectSolutionPad> (); ProjectSolutionPad spad = pad.Content as ProjectSolutionPad; ITreeNavigator nav = spad.TreeView.GetNodeAtObject(parentObject, true); if (nav != null) { nav.ExpandToNode(); nav.Selected = true; nav.Expanded = true; } } TaskService.InformJumpToTask(this); }
public virtual void JumpToPosition() { if (!file.IsNullOrEmpty) { if (System.IO.File.Exists(file)) { var project = WorkspaceObject as Project; IdeApp.Workbench.OpenDocument(file, project, Math.Max(1, line), Math.Max(1, column)); } else { var pad = IdeApp.Workbench.GetPad <ErrorListPad> ()?.Content as ErrorListPad; pad?.FocusOutputView(); ShowDocumentation(); } } else if (parentObject != null) { Pad pad = IdeApp.Workbench.GetPad <ProjectSolutionPad> (); ProjectSolutionPad spad = pad.Content as ProjectSolutionPad; ITreeNavigator nav = spad.TreeView.GetNodeAtObject(parentObject, true); if (nav != null) { nav.ExpandToNode(); nav.Selected = true; nav.Expanded = true; } ShowDocumentation(); } TaskService.InformJumpToTask(this); }
void SearchTreeviewhandleRowActivated(object o, RowActivatedArgs args) { Gtk.TreeIter selectedIter; if (searchTreeview.Selection.GetSelected(out selectedIter)) { MonoDevelop.Projects.Dom.IMember member = (MonoDevelop.Projects.Dom.IMember)(searchMode != SearchMode.Type ? memberListStore.GetValue(selectedIter, 4) : typeListStore.GetValue(selectedIter, 4)); ITreeNavigator nav = SearchMember(member); if (nav != null) { nav.ExpandToNode(); nav.Selected = true; } if (searchMode == SearchMode.Disassembler) { this.notebook1.Page = 0; // int idx = DomMethodNodeBuilder.Disassemble ((DomCecilMethod)member, false).ToUpper ().IndexOf (searchEntry.Text.ToUpper ()); // this.inspectLabel.Selectable = true; // this.inspectLabel.SelectRegion (idx, idx + searchEntry.Text.Length); } if (searchMode == SearchMode.Decompiler) { this.notebook1.Page = 1; // int idx = DomMethodNodeBuilder.Decompile ((DomCecilMethod)member, false).ToUpper ().IndexOf (searchEntry.Text.ToUpper ()); // this.inspectLabel.Selectable = true; // this.inspectLabel.SelectRegion (idx, idx + searchEntry.Text.Length); } } }
public void SelectAssembly(string fileName) { DomCecilCompilationUnit cu = null; foreach (DomCecilCompilationUnit unit in definitions) { if (unit.FileName == fileName) { cu = unit; } } if (cu == null) { return; } ITreeNavigator nav = TreeView.GetRootNode(); do { if (nav.DataItem == cu.AssemblyDefinition) { nav.ExpandToNode(); nav.Selected = true; return; } } while (nav.MoveNext()); }
public void Open(string url) { ITreeNavigator nav = SearchMember(url); if (nav == null) { foreach (DomCecilCompilationUnit definition in definitions.ToArray()) { foreach (AssemblyNameReference assemblyNameReference in definition.AssemblyDefinition.MainModule.AssemblyReferences) { string assemblyFile = Runtime.SystemAssemblyService.DefaultAssemblyContext.GetAssemblyLocation(assemblyNameReference.FullName, null); if (assemblyFile != null && System.IO.File.Exists(assemblyFile)) { AddReference(assemblyFile); } } } nav = SearchMember(url); } if (nav != null) { nav.ExpandToNode(); nav.Selected = true; } else { LoggingService.LogError("Can't open: " + url + " (not found)."); } }
public void SelectTest(UnitTest t) { ITreeNavigator node = FindTestNode(t); if (node != null) { node.ExpandToNode(); node.Selected = true; } }
public static void ExpandAll(ITreeNavigator node) { if (node == null) { return; } var typename = node.DataItem.GetType().Name; if (typename == "Solution") { node.ExpandToNode(); } if (node.HasChildren()) { var continueLoop = node.MoveToFirstChild(); while (continueLoop) { var wso = node.DataItem as WorkspaceObject; if (node.DataItem is Project) { if (!string.IsNullOrWhiteSpace(EssentialProperties.ExpandFilter)) { foreach (var item in EssentialProperties.ExpandFilterArray) { if (wso.Name.ToLower().Contains(item)) { ExpandProjectFiles(node); break; } } } else { ExpandProjectFiles(node); } } else { ExpandAll(node); } continueLoop = node.MoveNext(); } node.MoveToParent(); } }
static void SelectFile(ExtensibleTreeView treeView, DnxProject project, string file) { var projectFile = project.Files.GetFile(file); if (projectFile == null) { return; } ITreeNavigator navigator = treeView.GetNodeAtObject(projectFile, true); if (navigator != null) { navigator.ExpandToNode(); navigator.Selected = true; } }
private static void ExpandProjectFiles(ITreeNavigator node) { if (node == null) { return; } #if DEBUG if (node.DataItem is ProjectFile f) { if (f.Name.ToLower().Contains("appstart.cs")) { Debug.WriteLine("BINGO !!"); } } if (node.DataItem is ProjectFolder folder) { if (folder.Name.ToLower().Contains("views")) { Debug.WriteLine("BINGO !!"); } } #endif if (FilteredProjectCache.IsProjectItemExpanded(node.DataItem)) { node.ExpandToNode(); node.Expanded = true; } if (node.HasChildren()) { var continueLoop = node.MoveToFirstChild(); while (continueLoop) { if (!(node.DataItem is ProjectFile pf) || string.IsNullOrEmpty(pf.DependsOn)) { ExpandProjectFiles(node); } continueLoop = node.MoveNext(); } node.MoveToParent(); return; } }
void SelectActiveFile() { Document doc = IdeApp.Workbench.ActiveDocument; if (doc != null && doc.Project != null) { string file = doc.FileName; if (file != null) { ProjectFile pf = doc.Project.Files.GetFile(file); if (pf != null) { ITreeNavigator nav = treeView.GetNodeAtObject(pf, true); if (nav != null) { nav.ExpandToNode(); nav.Selected = true; } } } } }
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl) { if (nav == null) return null; bool searchType = helpUrl.StartsWith ("T:", StringComparison.Ordinal); do { if (IsMatch (nav, helpUrl, searchType)) { inspectEditor.ClearSelection (); nav.ExpandToNode (); nav.Selected = nav.Expanded = true; nav.ScrollToNode (); return nav; } if (!SkipChildren (nav, helpUrl, searchType) && nav.HasChildren ()) { nav.MoveToFirstChild (); ITreeNavigator result = SearchMember (nav, helpUrl); if (result != null) return result; if (!nav.MoveToParent ()) { return null; } try { if (nav.DataItem is TypeDefinition && PublicApiOnly) { nav.MoveToFirstChild (); result = SearchMember (nav, helpUrl); if (result != null) return result; nav.MoveToParent (); } } catch (Exception) { } } } while (nav.MoveNext()); return null; }
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl, bool expandNode = true) { if (nav == null) return null; bool searchType = helpUrl.StartsWith ("T:", StringComparison.Ordinal); do { if (IsMatch (nav, helpUrl, searchType)) { inspectEditor.ClearSelection (); nav.ExpandToNode (); if (expandNode) { nav.Selected = nav.Expanded = true; nav.ScrollToNode (); } else { nav.Selected = true; nav.ScrollToNode (); } return nav; } if (!SkipChildren (nav, helpUrl, searchType) && nav.HasChildren ()) { nav.MoveToFirstChild (); ITreeNavigator result = SearchMember (nav, helpUrl, expandNode); if (result != null) return result; if (!nav.MoveToParent ()) { return null; } } } while (nav.MoveNext()); return null; }
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl) { bool searchType = helpUrl.StartsWith ("T:"); do { if (IsMatch (nav, helpUrl, searchType)) { nav.ExpandToNode (); nav.Selected = nav.Expanded = true; return nav; } if (!SkipChildren (nav, helpUrl, searchType) && nav.HasChildren ()) { nav.MoveToFirstChild (); ITreeNavigator result = SearchMember (nav, helpUrl); if (result != null) return result; if (!nav.MoveToParent ()) { return null; } try { if (nav.DataItem is TypeDefinition && nav.Options ["PublicApiOnly"]) { nav.Options ["PublicApiOnly"] = PublicApiOnly; nav.MoveToFirstChild (); result = SearchMember (nav, helpUrl); if (result != null) return result; nav.MoveToParent (); } } catch (Exception) { } } } while (nav.MoveNext()); return null; }