コード例 #1
0
        public PartitionView(TaskRunner taskRunner, Volume volume, PartitionDatabase partitionDatabase)
        {
            InitializeComponent();

            integrityAnalyzer = new IntegrityAnalyzer(volume, partitionDatabase.GetFileDatabase());

            this.taskRunner        = taskRunner;
            this.volume            = volume;
            this.partitionDatabase = partitionDatabase;

            // TODO: Use events instead of passing view to database
            partitionDatabase.SetPartitionView(this);
            partitionDatabase.OnLoadRecoveryFromDatabase += PartitionDatabase_OnLoadNewDatabase;

            explorerPage = new TabPage("File Explorer");
            FileExplorer explorer = new FileExplorer(this, taskRunner, volume);

            explorer.Dock = DockStyle.Fill;
            explorer.OnMetadataAnalyzerCompleted += Explorer_OnMetadataAnalyzerCompleted;
            explorer.OnFileCarverCompleted       += Explorer_OnFileCarverCompleted;
            explorerPage.Controls.Add(explorer);
            this.tabControl1.TabPages.Add(explorerPage);

            clusterViewerPage  = new TabPage("Cluster Viewer");
            clusterViewer      = new ClusterViewer(volume, integrityAnalyzer);
            clusterViewer.Dock = DockStyle.Fill;
            clusterViewerPage.Controls.Add(clusterViewer);
            this.tabControl1.TabPages.Add(clusterViewerPage);
        }
コード例 #2
0
        public RecoveryResults(FileDatabase database, IntegrityAnalyzer integrityAnalyzer, TaskRunner taskRunner)
        {
            InitializeComponent();

            this._fileDatabase      = database;
            this._integrityAnalyzer = integrityAnalyzer;
            this._taskRunner        = taskRunner;
            this._volume            = database.GetVolume();

            listViewItemComparer         = new ListViewItemComparer();
            listView1.ListViewItemSorter = listViewItemComparer;

            PopulateTreeView(database.GetRootFiles());
        }
コード例 #3
0
        public ClusterViewer(Volume volume, IntegrityAnalyzer integrityAnalyzer)
        {
            InitializeComponent();

            this.volume            = volume;
            this.integrityAnalyzer = integrityAnalyzer;

            dataMap               = new DataMap((int)volume.MaxClusters);
            dataMap.Location      = new Point(0, 0);
            dataMap.Dock          = DockStyle.Fill;
            dataMap.CellSelected += DataMap_CellSelected;
            dataMap.CellHovered  += DataMap_CellHovered;
            dataMap.Increment     = (int)volume.BytesPerCluster;

            clusterColorMap = new ClusterColorMap();

            this.Controls.Add(dataMap);
            InitializeActiveFileSystem();
            UpdateDataMap();
        }