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 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(); } }
private void GetFiles (ITreeNavigator nav, List<SystemFile> filesToAdd) { nav.MoveToFirstChild (); do { if (nav.HasChildren ()) { ProjectFolder pf = nav.DataItem as ProjectFolder; if (pf != null && (File.GetAttributes (pf.Path) & FileAttributes.Hidden) == 0) { ITreeNavigator newNav = nav.Clone (); GetFiles (newNav, filesToAdd); } } else if (nav.DataItem is SystemFile) { filesToAdd.Add ((SystemFile) nav.DataItem); } } while (nav.MoveNext ()); nav.MoveToParent (); }
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; } }
ITreeNavigator SearchMember(ITreeNavigator nav, string helpUrl) { do { if (IsMatch(nav, helpUrl)) { return(nav); } if (!SkipChildren(nav, helpUrl) && nav.HasChildren()) { DispatchService.RunPendingEvents(); nav.MoveToFirstChild(); ITreeNavigator result = SearchMember(nav, helpUrl); if (result != null) { return(result); } if (!nav.MoveToParent()) { return(null); } try { if (nav.DataItem is DomCecilType && nav.Options["PublicApiOnly"]) { nav.Options["PublicApiOnly"] = false; nav.MoveToFirstChild(); result = SearchMember(nav, helpUrl); if (result != null) { return(result); } nav.MoveToParent(); } } catch (Exception) { return(null); } } } while (nav.MoveNext()); return(null); }
void Dispose(ITreeNavigator nav) { if (nav == null) { return; } IDisposable d = nav.DataItem as IDisposable; if (d != null) { d.Dispose(); } if (nav.HasChildren()) { nav.MoveToFirstChild(); do { Dispose(nav); } while (nav.MoveNext()); nav.MoveToParent(); } }
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; }
void Dispose (ITreeNavigator nav) { if (nav == null) return; IDisposable d = nav.DataItem as IDisposable; if (d != null) d.Dispose (); if (nav.HasChildren ()) { nav.MoveToFirstChild (); do { Dispose (nav); } while (nav.MoveNext ()); nav.MoveToParent (); } }
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; }
private void GetFiles(ITreeNavigator nav, List<SystemFile> filesToAdd) { nav.MoveToFirstChild (); do { if (nav.HasChildren ()) { ProjectFolder pf = nav.DataItem as ProjectFolder; if (pf != null && (File.GetAttributes (pf.Path) & FileAttributes.Hidden) == 0) { ITreeNavigator newNav = nav.Clone (); GetFiles (newNav, filesToAdd); } } else if (nav.DataItem is SystemFile) { filesToAdd.Add ((SystemFile) nav.DataItem); } } while (nav.MoveNext ()); nav.MoveToParent (); }
ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl) { do { if (IsMatch (nav, helpUrl)) return nav; if (!SkipChildren (nav, helpUrl) && nav.HasChildren ()) { DispatchService.RunPendingEvents (); nav.MoveToFirstChild (); ITreeNavigator result = SearchMember (nav, helpUrl); if (result != null) return result; if (!nav.MoveToParent ()) return null; try { if (nav.DataItem is DomCecilType && nav.Options["PublicApiOnly"]) { nav.Options["PublicApiOnly"] = false; nav.MoveToFirstChild (); result = SearchMember (nav, helpUrl); if (result != null) return result; nav.MoveToParent (); } } catch (Exception) { 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; }