package view;
import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
//import controlers.GenerateCsv;
//import java.io.FileWriter;
//import java.io.IOException;

public class FenetrePrincipale extends JFrame implements ActionListener{

	private static final long serialVersionUID = 2540259731678095668L;
	
	private PanParametre panParametre;
	private CadreAccueil cadreAccueil;
	private CadreDynamique cadreDynamique;
	private JMenuBar menu= new JMenuBar();
	private JMenu m1= new JMenu("Fichier");
	private JMenu m2= new JMenu("?");
	private JMenuItem i1=new JMenuItem("Sauvegarder");
	private JMenuItem i2=new JMenuItem("Quitter");
	private JMenuItem i3=new JMenuItem("Aide");
	private JMenuItem i4=new JMenuItem("A propos");
	
	public FenetrePrincipale(){
		this.setTitle("QCM");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLayout(new BorderLayout());
		this.setBackground(Color.WHITE);
		i1.addActionListener(this);// ajout d'une action pour
		i2.addActionListener(this);// ajout d'une action pour quitter
		i3.addActionListener(this);// ajout d'une action pour l'aide
		i4.addActionListener(this);// ajout d'une action pour "à propos"	
		this.m1.add(i1);
		this.m1.add(i2);
		this.m2.add(i3);
		this.m2.add(i4);
		this.menu.add(m1);
		this.menu.add(m2);
		this.setJMenuBar(menu);
		//this.setResizable(false);	
		initOuest();
		centrer();
		initCenter();
		this.setVisible(true);
		
	}

	public  void    actionPerformed(ActionEvent e){
        	Object  source=e.getSource();        
        	if  (source==i2) //touche quitter
            		System.exit(0);
        	else if (source==i3)//message d'aide
            		messageAide();
		else if (source==i4)//boite de dialogue à propos
			msgAPropos(); 
    	}
	// fonction d'apparition du message d'aide informatif 
	public void messageAide(){
		 String msg= "Aide: \nCe programme peut etre utlisé selon deux méthode:\n -grâce a cette interface graphique \n -en console";
		JOptionPane.showMessageDialog(null,msg);		
	}
	// fonction d'apparition de la boite de dialogue du message d'aide informatif 
	public void msgAPropos(){
		 String msg1="Ce programme a été développé par  Charbonnier Yann, Ingouff Christian, Seddiki  Sonia & TYNDAL Pierre-Alexandre";
		JOptionPane.showMessageDialog(null,msg1);	
	}

	

	public void centrer(){
		Dimension tailleEcran = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
		int hauteur = (int)tailleEcran.getHeight();
		int largeur = (int)tailleEcran.getWidth();
		this.setLocation((largeur-this.getWidth())/4, (hauteur-this.getHeight())/4);
		this.setPreferredSize(new Dimension(800,550));
		this.pack();
	}
	private void initOuest(){
		JPanel toolBar = new JPanel(new GridLayout(0,1));
		panParametre = new PanParametre();
		toolBar.add(panParametre);
		toolBar.setPreferredSize(new Dimension(100,550));
		this.add(toolBar,BorderLayout.WEST);
	}
	
	public PanParametre getPanParametre(){
		return panParametre;
	}
	
	private void initCenter(){
		cadreDynamique = new CadreDynamique();
		this.add(cadreDynamique,BorderLayout.CENTER);
	}
	public CadreAccueil getCadreAccueil(){
		return cadreAccueil;
	}


	public CadreDynamique getCadreDynamique() {
		return cadreDynamique;
	}
	
	public static void main(String[] args) {
		FenetrePrincipale fenetre = new FenetrePrincipale();
	}
	
	
}