private void RefreshCommandBinding_Executed(object sender, RoutedEventArgs e) { DependencyWindow SelectedItem = this.TabControl.SelectedItem as DependencyWindow; if (SelectedItem == null) { return; } SelectedItem.InitializeView(); }
/// <summary> /// Open a new depedency tree window on a given PE. /// </summary> /// <param name="Filename">File path to a PE to process.</param> public void OpenNewDependencyWindow(String Filename) { var newDependencyWindow = new DependencyWindow(Filename); newDependencyWindow.Header = Path.GetFileNameWithoutExtension(Filename); this.TabControl.AddToSource(newDependencyWindow); this.TabControl.SelectedItem = newDependencyWindow; // Update recent files entries App.AddToRecentDocuments(Filename); PopulateRecentFilesMenuItems(); }
public void SetImports(List <PeImportDll> Imports, PhSymbolProvider SymPrv, DependencyWindow Dependencies) { this.Items.Clear(); foreach (PeImportDll DllImport in Imports) { PE ModuleImport = Dependencies.LoadImport(DllImport.Name, null, DllImport.IsDelayLoad()); string ModuleFilepath = (ModuleImport != null) ? ModuleImport.Filepath : null; foreach (var Import in BinaryCache.LookupImports(DllImport, ModuleFilepath)) { this.Items.Add(new DisplayPeImport(Import.Item1, SymPrv, ModuleFilepath, Import.Item2)); } } }
private void OpenCustomizeSearchFolderCommand_Executed(object sender, RoutedEventArgs e) { DependencyWindow SelectedItem = this.TabControl.SelectedItem as DependencyWindow; if (SelectedItem == null) { return; } if (this.SearchFolder != null) { this.SearchFolder.Close(); } this.SearchFolder = new SearchFolder(SelectedItem); this.SearchFolder.Show(); }
public void SetImports(List <PeImportDll> Imports, PhSymbolProvider SymPrv, DependencyWindow Dependencies) { this.ImportList.Items.Clear(); foreach (PeImportDll DllImport in Imports) { PE ModuleImport = Dependencies.LoadImport(DllImport.Name, null, (DllImport.Flags & 0x01) == 0x01 /* TODO : Use proper macros */); string ModuleFilepath = (ModuleImport != null) ? ModuleImport.Filepath : null; foreach (PeImport Import in DllImport.ImportList) { this.ImportList.Items.Add(new DisplayPeImport(Import, SymPrv, ModuleFilepath)); } } // Refresh search view ImportSearchFilter_OnTextChanged(null, null); }
public SearchFolder(DependencyWindow SelectedItem) { _SelectedItem = SelectedItem; _working_directory = SelectedItem.RootFolder; _CustomSearchFolders = new ObservableCollection <SearchFolderItem>(); foreach (var item in SelectedItem.CustomSearchFolders) { _CustomSearchFolders.Add( new SearchFolderItem() { Folder = item, Dummy = false } ); } EnsureSearchFolderHasDummyEntry(); // bind window to observable collections this.DataContext = this; InitializeComponent(); }
public void SetImports(string ModuleFilepath, List <PeExport> Exports, List <PeImportDll> ParentImports, PhSymbolProvider SymPrv, DependencyWindow Dependencies) { this.Items.Clear(); foreach (PeImportDll DllImport in ParentImports) { foreach (var Import in BinaryCache.LookupImports(DllImport, Exports)) { this.Items.Add(new DisplayPeImport(Import.Item1, SymPrv, ModuleFilepath, Import.Item2)); } } }