コード例 #1
0
 public PublicApiTreeViewNodeFilter(ITreeViewNodeFilter filter, Func<bool> showPublicApi)
     : base(filter)
 {
     if (showPublicApi == null)
         throw new ArgumentNullException();
     this.showPublicApi = showPublicApi;
 }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }
コード例 #4
0
 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#");
 }
コード例 #5
0
ファイル: FilterSettings.cs プロジェクト: BahNahNah/dnSpy
 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#");
 }
コード例 #6
0
ファイル: FilterSettings.cs プロジェクト: BahNahNah/dnSpy
 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#");
 }
コード例 #7
0
 void CreateNewFilterSettings()
 {
     if (assemblyListTreeNode != null)
     {
         assemblyListTreeNode.FilterSettings = new FilterSettings(origFilter, Language, ShowInternalApi);
         filter = assemblyListTreeNode.FilterSettings.Filter;
         RestartSearch();
     }
 }
コード例 #8
0
 public PublicApiTreeViewNodeFilter(ITreeViewNodeFilter filter, Func <bool> showPublicApi)
     : base(filter)
 {
     if (showPublicApi == null)
     {
         throw new ArgumentNullException();
     }
     this.showPublicApi = showPublicApi;
 }
コード例 #9
0
 void CreateNewFilterSettings()
 {
     if (dnSpyFileListTreeNode != null)
     {
         dnSpyFileListTreeNode.FilterSettings = new FilterSettings(origFilter, Language);
         filter = dnSpyFileListTreeNode.FilterSettings.Filter;
         RestartSearch();
     }
 }
コード例 #10
0
 void InitializeFilter()
 {
     if (ShowInternalApi)
     {
         filter = origFilter;
     }
     else
     {
         filter = new PublicApiTreeViewNodeFilter(origFilter, () => !ShowInternalApi);
     }
 }
コード例 #11
0
ファイル: DnlibTypePicker.cs プロジェクト: danysu/dnSpy
        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);
        }
コード例 #12
0
ファイル: FilterSearcher.cs プロジェクト: danysu/dnSpy
		/// <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;
		}
コード例 #13
0
ファイル: SearchPane.cs プロジェクト: xornand/dnSpy
        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..."
            });
        }
コード例 #14
0
ファイル: MemberPickerVM.cs プロジェクト: damnya/dnSpy
        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();
        }
コード例 #15
0
ファイル: MemberPickerVM.cs プロジェクト: nakijun/dnSpy
		void CreateNewFilterSettings() {
			if (assemblyListTreeNode != null) {
				assemblyListTreeNode.FilterSettings = new FilterSettings(origFilter, Language, ShowInternalApi);
				filter = assemblyListTreeNode.FilterSettings.Filter;
				RestartSearch();
			}
		}
コード例 #16
0
ファイル: MemberPickerVM.cs プロジェクト: arkanoid1/dnSpy
		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();
		}
コード例 #17
0
 public ChainTreeViewNodeFilter(ITreeViewNodeFilter filter)
 {
     this.filter = filter;
 }
コード例 #18
0
 public SameModuleTreeViewNodeFilter(ModuleDef allowedModule, ITreeViewNodeFilter filter)
     : base(filter)
 {
     this.allowedModule = allowedModule;
 }
コード例 #19
0
 public SameModuleTreeViewNodeFilter(ModuleDef allowedModule, ITreeViewNodeFilter filter)
     : base(filter)
 {
     this.allowedModule = allowedModule;
 }
コード例 #20
0
ファイル: SearchPane.cs プロジェクト: 4058665/dnSpy
        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…" });
        }
コード例 #21
0
ファイル: FilterSettings.cs プロジェクト: arkanoid1/dnSpy
		internal FilterSettings(ITreeViewNodeFilter filter, Language language) {
			this.filter = filter;
			this.Language = language ?? Languages.GetLanguage("C#");
		}
コード例 #22
0
ファイル: FilterSettings.cs プロジェクト: BahNahNah/dnSpy
 void InitializeFilter()
 {
     if (ShowInternalApi)
         filter = origFilter;
     else
         filter = new PublicApiTreeViewNodeFilter(origFilter, () => !ShowInternalApi);
 }
コード例 #23
0
		public SameAssemblyTreeViewNodeFilter(ModuleDef allowedMod, ITreeViewNodeFilter filter)
			: base(filter) {
			this.allowedAsm = allowedMod.Assembly;
			this.allowedMod = allowedMod;
		}
コード例 #24
0
 public SameAssemblyTreeViewNodeFilter(AssemblyDef allowedAsm, ITreeViewNodeFilter filter)
     : base(filter)
 {
     this.allowedAsm = allowedAsm;
 }
コード例 #25
0
 internal FilterSettings(ITreeViewNodeFilter filter, Language language)
 {
     this.filter   = filter;
     this.Language = language ?? Languages.GetLanguage("C#");
 }
コード例 #26
0
ファイル: FilterSearcher.cs プロジェクト: arkanoid1/dnSpy
		/// <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;
		}
コード例 #27
0
 public SameAssemblyTreeViewNodeFilter(AssemblyDef allowedAsm, ITreeViewNodeFilter filter)
     : base(filter)
 {
     this.allowedAsm = allowedAsm;
 }
コード例 #28
0
ファイル: MemberPickerVM.cs プロジェクト: arkanoid1/dnSpy
		void CreateNewFilterSettings() {
			if (dnSpyFileListTreeNode != null) {
				dnSpyFileListTreeNode.FilterSettings = new FilterSettings(origFilter, Language);
				filter = dnSpyFileListTreeNode.FilterSettings.Filter;
				RestartSearch();
			}
		}
コード例 #29
0
 public ChainTreeViewNodeFilter(ITreeViewNodeFilter filter)
 {
     this.filter = filter;
 }
コード例 #30
0
 public SameAssemblyTreeViewNodeFilter(ModuleDef allowedMod, ITreeViewNodeFilter filter)
     : base(filter)
 {
     this.allowedAsm = allowedMod.Assembly;
     this.allowedMod = allowedMod;
 }