package view;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.*;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class CadreDynamique extends JPanel{

	private static final long serialVersionUID = 1304559110333842602L;
	
	private JButton switcher;
	private JLabel modeName;
	private JPanel dynamiqueBar;
	private CadreAccueil cadreAccueil;
	private CadreUtilisateur cadreUtilisateur;
	
	public CadreDynamique(){
		modeName = new JLabel();
		this.setLayout(new BorderLayout());
		initTop();
		initSouth();
		initCenter();
		setMode0();
	}
	
	private void initTop(){
		JPanel top = new JPanel(new GridLayout(3,1));
		JLabel labelAdmin = new JLabel("Administrateur");
		JLabel labelNom = new JLabel("Nom");
		labelAdmin.setFont(new Font("Arial", Font.BOLD, 16));
		labelNom.setFont(new Font("Arial", Font.BOLD, 16));
		top.add(labelAdmin);
		top.add(labelNom);
		this.add(top,BorderLayout.NORTH);
	}
	private void initCenter(){
		modeName = new JLabel();
		modeName.setFont(new Font("Arial", Font.BOLD, 20));
		modeName.setHorizontalAlignment(JLabel.CENTER);
		cadreAccueil = new CadreAccueil();
		dynamiqueBar = new JPanel(new GridLayout(0,1));
		dynamiqueBar.add(modeName);
		dynamiqueBar.add(cadreAccueil);
		dynamiqueBar.setBorder(BorderFactory.createTitledBorder(""));
		this.add(dynamiqueBar,BorderLayout.CENTER);
	}
	public void initSouth(){
		JPanel center = new JPanel(new FlowLayout());
		switcher = new JButton("Accueil");	
		JPanel top2 = new JPanel(new FlowLayout());
		top2.add(switcher);
		center.add(top2);
		switcher.addActionListener(
				new ActionListener() {
				public void actionPerformed (ActionEvent e) {
					setMode1();
				}
				});
		this.add(center,BorderLayout.SOUTH);

	}
	
	public CadreAccueil getCadreAccueil(){
		return cadreAccueil;
	}

	public CadreUtilisateur getUtilisateur(){
		return cadreUtilisateur;
	}
	
	public void setMode0(){
		modeName.setText("");
		dynamiqueBar.removeAll(); // enlève cela
		dynamiqueBar.add(modeName);
		dynamiqueBar.add(cadreAccueil); //affiche ceci
		dynamiqueBar.repaint();
	}
	
	public void setMode1(){
		modeName.setText("Utilisateur");
		cadreUtilisateur = new CadreUtilisateur();
		dynamiqueBar.removeAll(); // enlève cela
		dynamiqueBar.add(modeName);
		dynamiqueBar.add(cadreUtilisateur); //affiche ceci
		dynamiqueBar.repaint();
	}
	
	public void setMode2(){
		modeName.setText("Module");
		/*dynamiqueBar.removeAll(); // enlève cela
		dynamiqueBar.add(cadrePlanisphere); //affiche ceci*/
	}
	public void setMode3(){
		modeName.setText("Promotion");
		/*dynamiqueBar.removeAll(); // enlève cela
		dynamiqueBar.add(cadrePlanisphere); //affiche ceci*/
	}

}