public PublicApiTreeViewNodeFilter(ITreeViewNodeFilter filter, Func<bool> showPublicApi) : base(filter) { if (showPublicApi == null) throw new ArgumentNullException(); this.showPublicApi = showPublicApi; }
public MemberPickerVM(IDnSpyFileListOptions options, Language language, ITreeViewNodeFilter filter, IEnumerable <DnSpyFile> assemblies) { this.Language = language; this.filter = filter; this.origFilter = filter; dnSpyFileList = new DnSpyFileList(options, "Member Picker List"); foreach (var file in assemblies) { dnSpyFileList.ForceAddFileToList(file, true, false, -1, false); } this.dnSpyFileListTreeNode = new DnSpyFileListTreeNode(dnSpyFileList); this.dnSpyFileListTreeNode.DisableDrop = true; if (dnSpyFileListTreeNode.Children.Count > 0) { SelectedItem = dnSpyFileListTreeNode.Children[0]; } // Make sure we don't hook this event before the assembly list node because we depend // on the new asm node being present when we restart the search. dnSpyFileList.CollectionChanged += (s, e) => RestartSearch(); CreateNewFilterSettings(); }
public MemberPickerVM(Language language, ITreeViewNodeFilter filter, IEnumerable <LoadedAssembly> assemblies) { this.Language = language; this.ShowInternalApi = true; this.filter = filter; this.origFilter = filter; assemblyList = new AssemblyList("Member Picker List", false); foreach (var asm in assemblies) { assemblyList.ForceAddAssemblyToList(asm, true, false, -1, false); } this.assemblyListTreeNode = new AssemblyListTreeNode(assemblyList); this.assemblyListTreeNode.DisableDrop = true; if (assemblyListTreeNode.Children.Count > 0) { SelectedItem = assemblyListTreeNode.Children[0]; } // Make sure we don't hook this event before the assembly list node because we depend // on the new asm node being present when we restart the search. assemblyList.CollectionChanged += (s, e) => RestartSearch(); CreateNewFilterSettings(); }
internal FilterSettings(ITreeViewNodeFilter filter, Language language, bool showInternalApi) { this.filter = filter; this.origFilter = this.filter; InitializeFilter(); this.ShowInternalApi = showInternalApi; this.Language = language ?? Languages.GetLanguage("C#"); }
public FilterSettings(XElement element) { this.filter = FilterNothingTreeViewNodeFilter.Instance; this.origFilter = this.filter; InitializeFilter(); this.ShowInternalApi = (bool?)element.Element("ShowInternalApi") ?? true; this.Language = Languages.GetLanguage("C#"); }
void CreateNewFilterSettings() { if (assemblyListTreeNode != null) { assemblyListTreeNode.FilterSettings = new FilterSettings(origFilter, Language, ShowInternalApi); filter = assemblyListTreeNode.FilterSettings.Filter; RestartSearch(); } }
public PublicApiTreeViewNodeFilter(ITreeViewNodeFilter filter, Func <bool> showPublicApi) : base(filter) { if (showPublicApi == null) { throw new ArgumentNullException(); } this.showPublicApi = showPublicApi; }
void CreateNewFilterSettings() { if (dnSpyFileListTreeNode != null) { dnSpyFileListTreeNode.FilterSettings = new FilterSettings(origFilter, Language); filter = dnSpyFileListTreeNode.FilterSettings.Filter; RestartSearch(); } }
void InitializeFilter() { if (ShowInternalApi) { filter = origFilter; } else { filter = new PublicApiTreeViewNodeFilter(origFilter, () => !ShowInternalApi); } }
public T GetDnlibType <T>(ITreeViewNodeFilter filter, T selectedObject, ModuleDef ownerModule) where T : class { var data = new MemberPickerVM(MainWindow.Instance.CurrentLanguage, filter, MainWindow.Instance.CurrentAssemblyList.GetAssemblies()); var win = new MemberPickerDlg(); win.DataContext = data; win.Owner = ownerWindow ?? MainWindow.Instance; data.SelectItem(selectedObject); if (win.ShowDialog() != true) { return(null); } return(ImportObject(ownerModule, data.SelectedDnlibObject) as T); }
/// <summary> /// Constructor /// </summary> /// <param name="filter">Filter</param> /// <param name="searchComparer">Search comparer</param> /// <param name="onMatch">Called when there's a match</param> /// <param name="language">Language</param> /// <param name="cancellationToken">Cancellation token</param> public FilterSearcher(ITreeViewNodeFilter filter, ISearchComparer searchComparer, Action<SearchResult> onMatch, Language language, CancellationToken cancellationToken) { if (filter == null) throw new ArgumentNullException(); if (searchComparer == null) throw new ArgumentNullException(); if (onMatch == null) throw new ArgumentNullException(); if (language == null) throw new ArgumentNullException(); this.filter = filter; this.searchComparer = searchComparer; this.onMatch = onMatch; this.language = language; this.cancellationToken = cancellationToken; }
public RunningSearch(IEnumerable <AssemblyTreeNode> asmNodes, ISearchComparer searchComparer, ITreeViewNodeFilter filter, Language language) { this.dispatcher = Dispatcher.CurrentDispatcher; this.asmNodes = asmNodes.ToArray(); foreach (var asmNode in this.asmNodes) { asmNode.EnsureChildrenFiltered(); } this.searchComparer = searchComparer; this.language = language; this.filter = filter; this.Results.Add(new SearchResult { NameObject = "Searching..." }); }
public MemberPickerVM(Language language, ITreeViewNodeFilter filter, IEnumerable<LoadedAssembly> assemblies) { this.Language = language; this.ShowInternalApi = true; this.filter = filter; this.origFilter = filter; assemblyList = new AssemblyList("Member Picker List", false); foreach (var asm in assemblies) assemblyList.ForceAddAssemblyToList(asm, true, false, -1, false); this.assemblyListTreeNode = new AssemblyListTreeNode(assemblyList); this.assemblyListTreeNode.DisableDrop = true; if (assemblyListTreeNode.Children.Count > 0) SelectedItem = assemblyListTreeNode.Children[0]; // Make sure we don't hook this event before the assembly list node because we depend // on the new asm node being present when we restart the search. assemblyList.CollectionChanged += (s, e) => RestartSearch(); CreateNewFilterSettings(); }
public MemberPickerVM(IDnSpyFileListOptions options, Language language, ITreeViewNodeFilter filter, IEnumerable<DnSpyFile> assemblies) { this.Language = language; this.filter = filter; this.origFilter = filter; dnSpyFileList = new DnSpyFileList(options, "Member Picker List"); foreach (var file in assemblies) dnSpyFileList.ForceAddFileToList(file, true, false, -1, false); this.dnSpyFileListTreeNode = new DnSpyFileListTreeNode(dnSpyFileList); this.dnSpyFileListTreeNode.DisableDrop = true; if (dnSpyFileListTreeNode.Children.Count > 0) SelectedItem = dnSpyFileListTreeNode.Children[0]; // Make sure we don't hook this event before the assembly list node because we depend // on the new asm node being present when we restart the search. dnSpyFileList.CollectionChanged += (s, e) => RestartSearch(); CreateNewFilterSettings(); }
public ChainTreeViewNodeFilter(ITreeViewNodeFilter filter) { this.filter = filter; }
public SameModuleTreeViewNodeFilter(ModuleDef allowedModule, ITreeViewNodeFilter filter) : base(filter) { this.allowedModule = allowedModule; }
public RunningSearch(IEnumerable<AssemblyTreeNode> asmNodes, ISearchComparer searchComparer, ITreeViewNodeFilter filter, Language language) { this.dispatcher = Dispatcher.CurrentDispatcher; this.asmNodes = asmNodes.ToArray(); foreach (var asmNode in this.asmNodes) asmNode.EnsureChildrenFiltered(); this.searchComparer = searchComparer; this.language = language; this.filter = filter; this.Results.Add(new SearchResult { NameObject = "Searching…" }); }
internal FilterSettings(ITreeViewNodeFilter filter, Language language) { this.filter = filter; this.Language = language ?? Languages.GetLanguage("C#"); }
void InitializeFilter() { if (ShowInternalApi) filter = origFilter; else filter = new PublicApiTreeViewNodeFilter(origFilter, () => !ShowInternalApi); }
public SameAssemblyTreeViewNodeFilter(ModuleDef allowedMod, ITreeViewNodeFilter filter) : base(filter) { this.allowedAsm = allowedMod.Assembly; this.allowedMod = allowedMod; }
public SameAssemblyTreeViewNodeFilter(AssemblyDef allowedAsm, ITreeViewNodeFilter filter) : base(filter) { this.allowedAsm = allowedAsm; }