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 { + +}