// ------------------------------------------------------------------------- // On clique sur une RecentChip: on charge le fichier ou la ruche (Hive) // ------------------------------------------------------------------------- private void Bt_RecentChip_Click(object sender, RoutedEventArgs e) { // On recupère la Chip qui a été cliquée MaterialDesignThemes.Wpf.Chip SenderChip = sender as MaterialDesignThemes.Wpf.Chip; // On enregistre son nom string RecentRegToLoadName = SenderChip.Content.ToString(); CurrentRegistry = new RecentRegistry(RecentRegToLoadName); // On ferme le popup "recent chip" Pu_Recent.IsOpen = false; // On affiche le Popup Sablier Pu_Working.IsOpen = true; // On renseigne l'InfoChip Tree_InfoChip.Content = CurrentRegistry.Name; Tree_InfoChipIcon.Kind = CurrentRegistry.Icon; // Si le RecentReg est un fichier if (CurrentRegistry.GetGenre() == RecentRegistry.Genre.file) { // On enleve le message "drop your file" this.ReInitDisplay(); // On remplit le RegistryTree à partir du fichier REG Parser1.ParseFile(CurrentRegistry.Name); Parser1.BuildList(); // On enlève le Popup Sablier Pu_Working.IsOpen = false; } // Si le RecentReg est un subtree de la Registry else if (CurrentRegistry.GetGenre() == RecentRegistry.Genre.hive) { // On enleve le message "drop your file" this.ReInitDisplay(); // On remplit le RegistryTree à partir du subtree de Registre AsynchronousHiveLoading(CurrentRegistry.Name); // Parser2.ParseHive(CurrentRegistry.Name); // Parser2.BuildList(); } // Autres cas... else { // On enlève le Popup Sablier Pu_Working.IsOpen = false; // Gestion de l'affichage this.ReInitDisplay(); } }
// ------------------------------------------------------------------------- // Affiche un popup de Statistiques relatives au Tree // ------------------------------------------------------------------------- private void Bt_TreeInfos_Click(object sender, RoutedEventArgs e) { BaseParser Parser; if (CurrentRegistry == null) { return; } if (CurrentRegistry.GetGenre() == RecentRegistry.Genre.file) { Parser = Parser1; // Parseur de fichier } else { Parser = Parser2; // Parseur de registry } tbStatLevels.Text = Parser.NbLevels.ToString(); tbStatNodes.Text = Parser.NbNodes.ToString(); tbStatKeys.Text = Parser.NbKeys.ToString(); Pu_TreeInfos.IsOpen = !Pu_TreeInfos.IsOpen; }