Connecter le modèle d'arborescence à la Sidebar.
#12
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Titre
Connecter le modèle d'arborescence à la
Sidebar.Objectif
Relier l'enquête sélectionnée au panneau latéral.
Après la sélection d'un dossier, l'application doit :
Investigation;InvestigationTreeModel;Sidebar;Ce ticket valide la communication entre le Core et l'interface graphique.
Architecture
Le module
Applicationreste responsable de la coordination.La
Sidebarne parcourt jamais directement le système de fichiers.Responsabilités
Application
Le module
Applicationdoit :Investigation;InvestigationTreeBuilder;MainWindow;MainWindow
Le module
MainWindowdoit :Sidebar.Sidebar
Le module
Sidebardoit :InvestigationTreeModelen lecture seule ;Principe de propriété
Applicationest propriétaire de :La
Sidebarreçoit uniquement une référence non propriétaire vers le modèle.Elle ne doit jamais appeler :
Le modèle est libéré uniquement par
Application.Fichiers concernés
Aucun nouveau module n'est nécessaire.
Interfaces publiques à ajouter
MainWindow
Sidebar
Comportement attendu
Avant l'ouverture d'une enquête, la
Sidebaraffiche :Après la sélection du dossier :
ou le nom réel du dossier racine sélectionné.
À ce stade, les enfants ne sont pas encore affichés.
Hors périmètre
Ce ticket ne doit pas :
GtkTreeListModel;Gestion des erreurs
Si la construction du modèle échoue :
Sidebarne doit recevoir aucun pointeur invalide.Si une nouvelle enquête est ouverte avec succès :
Cette séquence évite de perdre l'enquête actuellement ouverte en cas d'échec.
Contraintes techniques
Sidebar;Sidebar;Gtk-CRITICAL;Critères d'acceptation
make testreste valide.Applicationconserve le modèle.MainWindowtransmet le modèle àSidebar.Sidebaraffiche le nom du nœud racine.Sidebar.Tests manuels
Template.SidebarafficheTemplate.Sidebarest mis à jour.make testreste entièrement valide.Commit attendu