From 7b9c4aacef885b2e6760f42f7ea5b5a06c6c0aa6 Mon Sep 17 00:00:00 2001 From: LucasV-IUT Date: Sat, 26 Feb 2022 00:12:49 +0100 Subject: [PATCH] Ajout de GestionMode.java --- src/lecteur_pdf/GestionMode.java | 30 ++++++++++++++++++++++ src/lecteur_pdf/GestionPdf.java | 16 +++++++----- src/lecteur_pdf/IhmPdf.java | 27 +++++++++++-------- src/lecteur_pdf/menuBar/menu/MenuMode.java | 2 +- 4 files changed, 56 insertions(+), 19 deletions(-) create mode 100644 src/lecteur_pdf/GestionMode.java diff --git a/src/lecteur_pdf/GestionMode.java b/src/lecteur_pdf/GestionMode.java new file mode 100644 index 0000000..22b420e --- /dev/null +++ b/src/lecteur_pdf/GestionMode.java @@ -0,0 +1,30 @@ +package lecteur_pdf; + +import lecteur_pdf.menuBar.menuItems.ModeSepare; +import lecteur_pdf.menuBar.menuItems.ModeSynchronise; + +public class GestionMode { + + private ModeSepare modeSepare; + private ModeSynchronise modeSynchronise; + + public GestionMode(ModeSepare separe, ModeSynchronise synchronise) { + modeSepare = separe; + modeSynchronise = synchronise; + + /* Mode par défaut */ + setModeSepare(); + } + + public void setModeSepare() { + modeSepare.setSelected(true); + modeSynchronise.setSelected(false); + } + + public void setModeSynchronise() { + modeSepare.setSelected(false); + modeSynchronise.setSelected(true); + } + + +} diff --git a/src/lecteur_pdf/GestionPdf.java b/src/lecteur_pdf/GestionPdf.java index d88b5fd..1e03d18 100644 --- a/src/lecteur_pdf/GestionPdf.java +++ b/src/lecteur_pdf/GestionPdf.java @@ -12,11 +12,13 @@ public class GestionPdf { public static final int maxPdf = 2; public static final List ihmPdfList = new ArrayList<>(); - public static void setModeSynchronise(boolean value) { - modeSynchronise = value; - for(IhmPdf ihm : ihmPdfList) { - ihm.modeSepare.setSelected(!value); - ihm.modeSynchronise.setSelected(value); + public static void setModeSynchronise(boolean modeSynchronise) { + for(IhmPdf fenetre : ihmPdfList) { + if (modeSynchronise) { + fenetre.getGestionMode().setModeSynchronise(); + } else { + fenetre.getGestionMode().setModeSepare(); + } } } @@ -42,7 +44,7 @@ public class GestionPdf { */ public static void nextPages() { for (IhmPdf ihm : ihmPdfList) { - ihm.pdfPanel.nextPage(); + ihm.getPdfPanel().nextPage(); } } @@ -51,7 +53,7 @@ public class GestionPdf { */ public static void previousPages() { for (IhmPdf ihm : ihmPdfList) { - ihm.pdfPanel.previousPage(); + ihm.getPdfPanel().previousPage(); } } diff --git a/src/lecteur_pdf/IhmPdf.java b/src/lecteur_pdf/IhmPdf.java index c0840de..454e85e 100644 --- a/src/lecteur_pdf/IhmPdf.java +++ b/src/lecteur_pdf/IhmPdf.java @@ -24,10 +24,16 @@ import java.io.IOException; */ public class IhmPdf extends JFrame { - PdfPanel pdfPanel; - MenuBar menuBar; - ModeSepare modeSepare; - ModeSynchronise modeSynchronise; + /* Elements visuels */ + private final PdfPanel pdfPanel; + private MenuBar menuBar; + + /* Relatif au FullScreen */ + private boolean fullscreen = false; + private GraphicsDevice device; + + /* Gestionnaire des modes de visionnage */ + private GestionMode gestionMode; public IhmPdf() throws IOException { super(GestionPdf.titreApplication); @@ -58,9 +64,13 @@ public class IhmPdf extends JFrame { return pdfPanel; } + public void initGestionMode(ModeSepare modeSepare, ModeSynchronise modeSynchronise) { + this.gestionMode = new GestionMode(modeSepare, modeSynchronise); + } - private boolean fullscreen = false; - private GraphicsDevice device; + public GestionMode getGestionMode() { + return gestionMode; + } public void pleinEcran() { // Switch de disposition @@ -85,9 +95,4 @@ public class IhmPdf extends JFrame { System.exit(0); } } - - public void setMode(ModeSepare modeSepare, ModeSynchronise modeSynchronise) { - this.modeSepare = modeSepare; - this.modeSynchronise = modeSynchronise; - } } diff --git a/src/lecteur_pdf/menuBar/menu/MenuMode.java b/src/lecteur_pdf/menuBar/menu/MenuMode.java index 850a2a3..614cf8c 100644 --- a/src/lecteur_pdf/menuBar/menu/MenuMode.java +++ b/src/lecteur_pdf/menuBar/menu/MenuMode.java @@ -24,7 +24,7 @@ public class MenuMode extends JMenu { modeSepare.setSelected(!GestionPdf.modeSynchronise); modeSynchronise.setSelected(GestionPdf.modeSynchronise); - parent.setMode(modeSepare, modeSynchronise); + parent.initGestionMode(modeSepare, modeSynchronise); /* Ajoute les menu items */ add(new NouvelleFenetre(parent));