diff --git a/PlaningDeTavail.md b/PlaningDeTavail.md index e9a185c..5d9da1e 100644 --- a/PlaningDeTavail.md +++ b/PlaningDeTavail.md @@ -20,14 +20,14 @@ Objectif : Mise en place des fondations techniques |----------|---------|--------|-----|-------------| | US-D1 | AD | TODO | 🟩 | Implémenter BitInputStream (lecture bit par bit) | | US-D2 | AD | TODO | 🟩 | Implémenter BitOutputStream (écriture bit par bit) | -| US-D3 | AD | TODO | 🟨 | Générer les tables de fréquences RGB | -| US-D4 | AD | TODO | 🟨 | Construire l’arbre Huffman | +| US-D3 | AD | TODO | 🟩 | Générer les tables de fréquences RGB | +| US-D4 | AD | TODO | 🟩 | Construire l’arbre Huffman | | US-D5 | AA | TODO | 🟩 | Générer les codes Huffman | | US-D6 | AA | TODO | 🟨 | Générer les codes canoniques | | US-U5 | YB | TODO | 🟥 | Chargement d’image via ImageIO | | US-D8 | YB | TODO | 🟥 | Structure RGBImage + Pixel | | US-P1 | AA | TODO | 🟥 | Interface simple d’affichage des fréquences | -| US-P2 | AD | TODO | 🟥 | Interface simple d’affichage Huffman | +| US-P2 | AD | TODO | 🟨 | Interface simple d’affichage Huffman | | US-P3 | AA | TODO | 🟥 | Interface simple d’affichage canoniques | ## Fichiers à créer – Sprint 1 diff --git a/src/fr/iutfbleau/sae/ConverterController.java b/src/fr/iutfbleau/sae/ConverterController.java new file mode 100644 index 0000000..5f0bf03 --- /dev/null +++ b/src/fr/iutfbleau/sae/ConverterController.java @@ -0,0 +1,6 @@ +package fr.iutfbleau.sae; + + +public class ConverterController { + +} diff --git a/src/fr/iutfbleau/sae/vconverter/ConverterWindow.java b/src/fr/iutfbleau/sae/vconverter/ConverterWindow.java new file mode 100644 index 0000000..6b44bf4 --- /dev/null +++ b/src/fr/iutfbleau/sae/vconverter/ConverterWindow.java @@ -0,0 +1,77 @@ +package fr.iutfbleau.sae.vconverter; +/** + * Fenêtre principale du convertisseur. + * + *
+ * Cette classe représente la vue principale de l’application. + * Elle regroupe les différents panneaux graphiques utilisés + * pour afficher les résultats de la conversion d’une image. + *
+ * + * + */ +public class ConverterWindow { + + + private ImagePreviewPanel imagePreviewPanel; + private FrequencyTablePanel frequencyTablePanel; + private CodeTablePanel codeTablePanel; + + /** + * Met à jour l’aperçu de l’image affichée dans la fenêtre. + * + *+ * Cette méthode est appelée par le contrôleur après le chargement + * de l’image. L’image reçue est simplement transmise + * au panneau d’aperçu pour être affichée. + *
+ * + * @param img image à afficher dans l’aperçu + */ + public void setImagePreview(Object img) { + // mise à jour du ImagePreviewPanel avec l’image img + imagePreviewPanel.setImage(img); + } + + /** + * Met à jour les tables de fréquences des composantes R, G et B. + * + *+ * Cette méthode reçoit les tableaux de fréquences calculés + * par le contrôleur et les transmet au panneau chargé + * de les afficher. + *
+ */ + public void setFrequencyTable() { + // mise à jour des fréquences dans le FrequencyTablePanel + frequencyTablePanel.updateFrequencies(); + } + + /** + * Met à jour l’affichage des codes Huffman. + * + *+ * Les codes sont déjà calculés par le contrôleur. + * Cette méthode se contente de demander au panneau + * des codes de les afficher. + *
+ */ + public void setHuffmanTable() { + // mise à jour des codes Huffman dans le CodeTablePanel + codeTablePanel.updateCodes(); + } + + /** + * Met à jour l’affichage des codes canoniques. + * + *+ * Cette méthode est utilisée après la génération + * des codes canoniques (Sprint 2). + * Elle ne fait aucun calcul et se limite à l’affichage. + *
+ */ + public void setCanonicalTable() { + // mise Ă jour des codes canoniques dans le CodeTablePanel + codeTablePanel.updateCanonicalCodes(); + } +} diff --git a/src/fr/iutfbleau/sae/vconverter/FrequencyTablePanel.java b/src/fr/iutfbleau/sae/vconverter/FrequencyTablePanel.java new file mode 100644 index 0000000..f7b26e3 --- /dev/null +++ b/src/fr/iutfbleau/sae/vconverter/FrequencyTablePanel.java @@ -0,0 +1,5 @@ +package fr.iutfbleau.sae.vconverter; + +public class FrequencyTablePanel { + +}