Mode Synchro, Mode Séparé

-Défilement des documents en mode séparé et synchonisé avec les touches "l" et "m".
-Désactivation du bouton "nouvelle fenêtre" quand on a atteint le nombre max de fenêtre ouvertes. (besoin de le griser car actuellement il se désactive mais aucun changement visible)
- Besoin de rajouter des  pour montrer quel mode est sélectionné.
This commit is contained in:
LucasV-IUT
2022-02-23 23:00:21 +01:00
parent c0da275a4f
commit ce255b75f7
10 changed files with 126 additions and 8 deletions
@@ -12,6 +12,9 @@ public class MenuAffichage extends JMenu {
// Ajoute les menu items
add(new PleinEcran(parent));
addSeparator();
add(new PagePrecedente(parent));
add(new PageSuivante(parent));
addSeparator();
add(new ZoomPlus(parent));
add(new ZoomDefaut(parent));
add(new ZoomMoins(parent));
@@ -10,6 +10,7 @@ public class MenuMode extends JMenu {
super("Mode");
// Ajoute les menu items
add(new NouvelleFenetre(parent));
add(new ModeSepare(parent));
add(new ModeSynchronise(parent));
}
}
@@ -0,0 +1,23 @@
package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.GestionPdf;
import lecteur_pdf.IhmPdf;
import javax.swing.*;
public class ModeSepare extends JMenuItem {
IhmPdf parent;
public ModeSepare(IhmPdf parent) {
super("Mode Séparé");
this.parent = parent;
addActionListener(e -> {
GestionPdf.modeSynchronise = false;
});
// TODO ajouter une checkbox pour indiquer si l'option est utilisé
// TODO ajouter l'options de mode Synchronisé
}
}
@@ -1,9 +1,9 @@
package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.GestionPdf;
import lecteur_pdf.IhmPdf;
import javax.swing.*;
import java.awt.event.KeyEvent;
public class ModeSynchronise extends JMenuItem {
@@ -13,6 +13,10 @@ public class ModeSynchronise extends JMenuItem {
super("Mode Synchronisé");
this.parent = parent;
addActionListener(e -> {
GestionPdf.modeSynchronise = true;
});
// TODO ajouter une checkbox pour indiquer si l'option est utilisé
// TODO ajouter l'options de mode Synchronisé
@@ -1,9 +1,9 @@
package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.GestionPdf;
import lecteur_pdf.IhmPdf;
import javax.swing.*;
import java.awt.event.KeyEvent;
public class NouvelleFenetre extends JMenuItem {
@@ -13,8 +13,13 @@ public class NouvelleFenetre extends JMenuItem {
super("Nouvelle Fenêtre");
this.parent = parent;
// TODO griser l'options lorsque inutilisable
addActionListener(e -> {
/* Essaye de créer une nouvelle fenêtre */
GestionPdf.newIhmPdf();
/* Désactive le bouton si on a atteint la limite des affichages */
this.setEnabled(GestionPdf.ihmPdfList.size() == GestionPdf.maxPdf);
});
// TODO ajouter l'options nouvelle fenêtre
}
}
@@ -0,0 +1,27 @@
package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.GestionPdf;
import lecteur_pdf.IhmPdf;
import javax.swing.*;
public class PagePrecedente extends JMenuItem {
IhmPdf parent;
public PagePrecedente(IhmPdf parent) {
super("Page précédente");
this.parent = parent;
addActionListener(e -> {
if (GestionPdf.modeDoubleAffichage && GestionPdf.modeSynchronise) {
GestionPdf.previousPages();
} else {
parent.getPdfPanel().previousPage();
}
});
KeyStroke raccourciPagePrecedente = KeyStroke.getKeyStroke('l');
setAccelerator(raccourciPagePrecedente);
}
}
@@ -0,0 +1,27 @@
package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.GestionPdf;
import lecteur_pdf.IhmPdf;
import javax.swing.*;
public class PageSuivante extends JMenuItem {
IhmPdf parent;
public PageSuivante(IhmPdf parent) {
super("Page suivante");
this.parent = parent;
addActionListener(e -> {
if (GestionPdf.modeDoubleAffichage && GestionPdf.modeSynchronise) {
GestionPdf.nextPages();
} else {
parent.getPdfPanel().nextPage();
}
});
KeyStroke raccourciPageSuivante = KeyStroke.getKeyStroke('m');
setAccelerator(raccourciPageSuivante);
}
}