# GestionMode
declaration: package: lecteur_pdf, class: GestionMode

Package lecteur_pdf

# Class GestionMode

java.lang.Object
lecteur_pdf.GestionMode

public class GestionMode extends Object
Gestionnaire de mode `Synchronisé` ou `Séparé`

Author:
  Léo Franch, Tristan Nogaret, Lucàs Vabre, Noé Villeneuve

## Field Summary

Fields
Modifier and Type
Field
Description
`private static boolean`
`modeSepare`
Définit si le `mode Séparé` est activé ou non
`private static final ArrayList<ModeSepare>`
`modeSepareList`
Liste les `MenuItems` de type `ModeSepare` de l'application
`private static final ArrayList<ModeSynchronise>`
`modeSynchroniseList`
Liste les `MenuItems` de type `ModeSynchronise` de l'application
`private static final ArrayList<NouvelleFenetre>`
`nouvelleFenetreList`
Liste les `MenuItems` de type `NouvelleFenetre` de l'application

## Constructor Summary

Constructors
Constructor
Description
`GestionMode()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`activerBtnNouvelleFenetre()`
Dégrise le bouton "`Nouvelle Fenêtre`" de toutes les `fenêtres` de l'application
`static void`
`addItem(NouvelleFenetre fenetre, ModeSepare separe, ModeSynchronise synchronise)`
Référence les éléments `NouvelleFenetre`, `ModeSepare` et `ModeSynchronise` lors de la création d'une nouvelle `fenêtre`
`static void`
`desactiverBtnNouvelleFenetre()`
Grise le bouton "`Nouvelle Fenêtre`" de toutes les `fenêtres` de l'application
`static boolean`
`isModeSepare()`
`static void`
`setModeSepare(boolean mode)`
Change de mode
`private static void`
`updateMode()`
Met à jour dans toutes les `fenêtres` ouvertes la checkbox du mode sélectionné

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### modeSepare

private static boolean modeSepare
Définit si le `mode Séparé` est activé ou non

### nouvelleFenetreList

private static final ArrayList<NouvelleFenetre> nouvelleFenetreList
Liste les `MenuItems` de type `NouvelleFenetre` de l'application

See Also:
  - `ArrayList`

### modeSepareList

private static final ArrayList<ModeSepare> modeSepareList
Liste les `MenuItems` de type `ModeSepare` de l'application

See Also:
  - `ArrayList`

### modeSynchroniseList

private static final ArrayList<ModeSynchronise> modeSynchroniseList
Liste les `MenuItems` de type `ModeSynchronise` de l'application

See Also:
  - `ArrayList`

## Constructor Details

### GestionMode

public GestionMode()

## Method Details

### addItem

public static void addItem(NouvelleFenetre fenetre, ModeSepare separe, ModeSynchronise synchronise)
Référence les éléments `NouvelleFenetre`, `ModeSepare` et `ModeSynchronise` lors de la création d'une nouvelle `fenêtre`

Parameters:
  `fenetre` - Référence du `MenuItem` `NouvelleFenetre` de la fenêtre créée
  `separe` - Référence du `MenuItem` `ModeSepare` de la fenêtre créée
  `synchronise` - Référence du `MenuItem` `ModeSynchronise` de la fenêtre créée

### isModeSepare

public static boolean isModeSepare()

Returns:
  - true si le `mode séparé` est activé
  - false sinon

### setModeSepare

public static void setModeSepare(boolean mode)
Change de mode

Parameters:
  `mode` -
  - true pour le mode séparé
  - false pour le mode synchronisé

### updateMode

private static void updateMode()
Met à jour dans toutes les `fenêtres` ouvertes la checkbox du mode sélectionné

### desactiverBtnNouvelleFenetre

public static void desactiverBtnNouvelleFenetre()
Grise le bouton "`Nouvelle Fenêtre`" de toutes les `fenêtres` de l'application

### activerBtnNouvelleFenetre

public static void activerBtnNouvelleFenetre()
Dégrise le bouton "`Nouvelle Fenêtre`" de toutes les `fenêtres` de l'application