package controleur;

import architecture.Controleur;
import architecture.Fenetre;
import architecture.Vue;
import vue.VueCaptures;
import vue.VueJour;
import vue.VueMois;
import vue.VueAnnee;

public class ControleurMenu extends Controleur{

	public ControleurMenu()
	{
		Journal.ecrire(Journal.NIVEAU.ROULEMENT, "new ControleurMenu()");
	}

	public void initialiser()
	{
		Journal.ecrire(Journal.NIVEAU.ROULEMENT, "ControleurMenu.initialiser()");
	}
	
    public void afficherCaptures() {
        Journal.ecrire(Journal.NIVEAU.ROULEMENT, "ControleurMenu.afficherCaptures()");
        Vue nouvelleVue = VueCaptures.getInstance(); // récupère l'instance singleton
        Controleur.choisirVuePrincipale(VueCaptures.class);
        Fenetre.getInstance().afficherVue(nouvelleVue); // remplace le contenu visible
        VueCaptures.getInstance().getControleur().initialiser(); // initialise le controleur
    }

    public void afficherJour() {
        Journal.ecrire(Journal.NIVEAU.ROULEMENT, "ControleurMenu.afficherJour()");
        Vue nouvelleVue = VueJour.getInstance();
        Controleur.choisirVuePrincipale(VueJour.class);
        Fenetre.getInstance().afficherVue(nouvelleVue);
        VueJour.getInstance().getControleur().initialiser();
    }

    public void afficherMois() {
        Journal.ecrire(Journal.NIVEAU.ROULEMENT, "ControleurMenu.afficherMois()");
        Vue nouvelleVue = VueMois.getInstance();
        Controleur.choisirVuePrincipale(VueMois.class);
        Fenetre.getInstance().afficherVue(nouvelleVue);
        VueMois.getInstance().getControleur().initialiser();
    }

    public void afficherAnnee() {
        Journal.ecrire(Journal.NIVEAU.ROULEMENT, "ControleurMenu.afficherAnnee()");
        Vue nouvelleVue = VueAnnee.getInstance();
        Controleur.choisirVuePrincipale(VueAnnee.class);
        Fenetre.getInstance().afficherVue(nouvelleVue);
        VueAnnee.getInstance().getControleur().initialiser();
    }
}

