package vue;

import java.util.List;

import architecture.Controleur;
import architecture.Vue;
import controleur.ControleurAppuiDeBoutton;
import controleur.Journal;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import modele.EnsembleDeDonnees;

public class VueAppuisAnnee extends Vue {

	protected ControleurAppuiDeBoutton controleur;
	protected static VueAppuisAnnee instance = null; 
	public static VueAppuisAnnee getInstance() {if(null==instance)instance = new VueAppuisAnnee();return VueAppuisAnnee.instance;}; 
	
	private VueAppuisAnnee() 
	{
		super("annee.fxml",VueAppuisAnnee.class,1300,800); 
		super.controleur = this.controleur = new ControleurAppuiDeBoutton();
		Journal.ecrire(Journal.NIVEAU.ROULEMENT, "new VueAppuiDeBouton()");
	}
		
	public Controleur getControleur()
	{
		return this.controleur;
	}
	
	public void activerControles()
	{
		super.activerControles();
	}
	
	public void afficherAppuisDeBoutton(EnsembleDeDonnees ensembleDeDonnees) {
		Journal.ecrire(Journal.NIVEAU.ROULEMENT, "VueAppuiDeBouton.afficherAppuisDeBoutton() avec " + ensembleDeDonnees.getDonnees().size() + " elements");
		
		System.out.println(ensembleDeDonnees);
		for(Float donne : ensembleDeDonnees.getDonnees()) {
			System.out.println(donne);
		}
		
		Button boutonJour = (Button) lookup("#boutonJour");
		boutonJour.setOnAction(e -> controleur.afficherJour());
	
		Button boutonMois = (Button) lookup("#boutonMois");
		boutonMois.setOnAction(e -> controleur.afficherMois());
		
		Label labelMoyenne = (Label)lookup("#moyenne");
		Label labelMinimum = (Label)lookup("#minimum");
		Label labelMaximum = (Label)lookup("#maximum");
		
		Label labelAppuisJanvier = (Label)lookup("#m1");
		Label labelAppuisFevrier = (Label)lookup("#m2");
		Label labelAppuisMars = (Label)lookup("#m3");
		Label labelAppuisAvril = (Label)lookup("#m4");
		Label labelAppuisMai = (Label)lookup("#m5");
		Label labelAppuisJuin = (Label)lookup("#m6");
		Label labelAppuisJuillet = (Label)lookup("#m7");
		Label labelAppuisAout = (Label)lookup("#m8");
		Label labelAppuisSeptembre = (Label)lookup("#m9");
		Label labelAppuisOctobre = (Label)lookup("#m10");
		Label labelAppuisNovembre = (Label)lookup("#m11");
		Label labelAppuisDecembre = (Label)lookup("#m12");
		
		labelMoyenne.setText(String.valueOf(ensembleDeDonnees.getMoyenne()));
		labelMinimum.setText(String.valueOf(ensembleDeDonnees.getMinimum()));
		labelMaximum.setText(String.valueOf(ensembleDeDonnees.getMaximum()));
		
		labelAppuisJanvier.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(0)));
		labelAppuisFevrier.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(1)));
		labelAppuisMars.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(2)));
		labelAppuisAvril.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(3)));
		labelAppuisMai.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(4)));
		labelAppuisJuin.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(5)));
		labelAppuisJuillet.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(6)));
		labelAppuisAout.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(7)));
		labelAppuisSeptembre.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(8)));
		labelAppuisOctobre.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(9)));
		labelAppuisNovembre.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(10)));
		labelAppuisDecembre.setText(String.valueOf(ensembleDeDonnees.getDonnees().get(11)));
	}
}
