3.1 KiB
3.1 KiB
Ticket #004
Titre
Créer la fenêtre principale (MainWindow).
Objectif
Créer la fenêtre principale de Labfy Investigation.
Cette fenêtre deviendra le point central de l'interface utilisateur.
À ce stade, elle ne contient qu'une structure vide destinée à accueillir les futurs composants.
Responsabilités
Le module MainWindow doit :
- créer la fenêtre principale ;
- définir son titre ;
- définir sa taille par défaut ;
- afficher une zone centrale vide ;
- afficher une barre d'état.
Hors périmètre
Ce ticket ne doit pas :
- afficher l'arborescence des fichiers ;
- ouvrir une enquête ;
- afficher les preuves ;
- communiquer avec SQLite ;
- gérer les menus.
Architecture
Le module appartient à la couche Views.
Il est responsable uniquement de l'interface graphique.
Aucune logique métier ne doit être présente dans ce module.
Dépendances
- GTK4
Aucune dépendance vers SQLite.
Fichiers concernés
include/views/main_window.h
src/views/main_window.c
Interface attendue
MainWindow *main_window_new(GtkApplication *application);
GtkWindow *main_window_get_window(
const MainWindow *main_window
);
void main_window_present(MainWindow *main_window);
void main_window_free(MainWindow *main_window);
Interface graphique attendue
┌───────────────────────────────────────────────────────────────┐
│ Labfy Investigation │
├───────────────────────────────────────────────────────────────┤
│ │
│ │
│ Zone de travail │
│ │
│ │
├───────────────────────────────────────────────────────────────┤
│ Aucune enquête ouverte │
└───────────────────────────────────────────────────────────────┘
Critères d'acceptation
- Le projet compile sans warning.
- Une fenêtre s'ouvre correctement.
- La fenêtre est créée par le module
MainWindow. Applicationn'appelle plus directementgtk_application_window_new().- Aucun état global.
- Documentation Doxygen.
- Gestion mémoire correcte.
Tests
- Lancement de l'application.
- Fermeture de la fenêtre.
- Vérification de l'absence de fuite mémoire.
Commit attendu
feat(view): create main window