package Vue;

import java.awt.Color;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;

import Controleurs.EcouteurBoutonAjoutUtil;
import Controleurs.EcouteurBoutonDeconnexion;
import Controleurs.EcouteurComboAjoutUtil;
import Modèle.DonneesXML;
import Modèle.Groupe;
import Modèle.Probleme;

public class IHMAjoutUtil extends JFrame {
	protected JTextField login;
	protected JTextField mdp;
	protected JTextField nom;
	protected JTextField prenom;
	protected JComboBox choixGr;
	protected Vector<Groupe> groupes;
	protected Vector<Probleme> probleme;
	protected DonneesXML DXML;
	public JTextField getLogin() {
		return login;
	}
	public Vector<Groupe> getGroupes(){
		return groupes;
	}

	public JTextField getMdp() {
		return mdp;
	}


	public JTextField getNom() {
		return nom;
	}


	public JTextField getPrenom() {
		return prenom;
	}


	public JComboBox getChoixGr() {
		return choixGr;
	}



	

	public IHMAjoutUtil(Vector<Groupe> groupes, Vector<Probleme> probleme, DonneesXML DXML) {
		this.groupes=groupes;
		this.probleme=probleme;
		this.DXML=DXML;
		JFrame jf = new JFrame("Ajout d'un utilisateur");
		jf.setLayout(null);
		jf.setSize(800, 800);
		
		JMenuBar m = new JMenuBar();
		JMenu menu = new JMenu("Fichier");
		JMenu menu2 = new JMenu("A Propos");
		JMenuItem item = new JMenuItem("Quitter");
		JMenuItem item2 = new JMenuItem("Version");
		menu2.add(item2);
		menu.add(item);
		m.add(menu);
		m.add(menu2);
		jf.setJMenuBar(m);
		
	
		
		

		JPanel jp = new JPanel();
		JPanel jp2= new JPanel();
		JPanel jpFrame=new JPanel();
		jp.setLayout(null);
		jp.setSize(500, 500);
		jp.setLocation(250, 100);
		jp.setBackground(new Color(190, 202, 250));
		
		jp2.setLayout(null);
		jp2.setSize(200,200);
		jp2.add(jp);
		jf.add(jp2);
		jp2.setBackground(new Color(190, 202, 250));
		jp2.setLocation(0,0);
		
		jpFrame.setLayout(null);
		jpFrame.setSize(800,800);
		jpFrame.add(jp);
		jf.add(jpFrame);
		jpFrame.setBackground(new Color(190, 202, 250));
		
		
		//TitledBorder tb=new TitledBorder("");
		//jp2.setBorder(BorderFactory.createLineBorder(Color.black));
		LineBorder border = new LineBorder(Color.red);
		jp2.setBorder(BorderFactory.createTitledBorder(border,"Utilisateur en cours"));
		/*JLabel info = new JLabel("Utilisateur en cours: " );
		info.setSize(200, 20);
		info.setLocation(10,10);
		jp2.add(info);*/
		
		JLabel nom_util = new JLabel("Nom: " );
		nom_util.setSize(200, 20);
		nom_util.setLocation(10,35);
		jp2.add(nom_util);
		
		JLabel prenom_util = new JLabel("Prénom: " );
		prenom_util.setSize(200, 20);
		prenom_util.setLocation(10,55);
		jp2.add(prenom_util);
		
		JLabel log = new JLabel("(login)");
		log.setSize(200, 20);
		log.setLocation(10,75);
		jp2.add(log);
		
		JLabel groupe = new JLabel("Groupe: " );
		groupe.setSize(200, 20);
		groupe.setLocation(10,95);
		jp2.add(groupe);
		
		JLabel droits = new JLabel("Droits: " );
		droits.setSize(200, 20);
		droits.setLocation(10,115);
		jp2.add(droits);
		
		JButton deconnexion = new JButton("Deconnexion");
		deconnexion.addActionListener(new EcouteurBoutonDeconnexion(jf,probleme,groupes,DXML));
		deconnexion.setSize(130, 20);
		deconnexion.setLocation(10, 145);
		jp2.add(deconnexion);
		
		
		
		
		
		

		JLabel jl = new JLabel("Ajout d'un utlisateur");
		jl.setSize(200, 20);
		jl.setLocation(100, 2);
		jp.add(jl);
		jf.setResizable(false);
		jf.setLocationRelativeTo(null);

		JLabel jl2 = new JLabel("Login: ");
		jl2.setSize(200, 20);
		jl2.setLocation(10, 50);
		jp.add(jl2);

		login = new JTextField("");
		login.setSize(150, 20);
		login.setLocation(100, 50);
		jp.add(login);

		JLabel jl3 = new JLabel("Mot de passe: ");
		jl3.setSize(200, 20);
		jl3.setLocation(10, 100);
		jp.add(jl3);

		mdp = new JTextField("");
		mdp.setSize(150, 20);
		mdp.setLocation(100, 100);
		jp.add(mdp);

		JLabel jl4 = new JLabel("Nom: ");
		jl4.setSize(200, 20);
		jl4.setLocation(10, 150);
		jp.add(jl4);

		nom = new JTextField("");
		nom.setSize(150, 20);
		nom.setLocation(100, 150);
		jp.add(nom);

		JLabel jl5 = new JLabel("Prénom: ");
		jl5.setSize(200, 20);
		jl5.setLocation(10, 200);
		jp.add(jl5);

		prenom = new JTextField("");
		prenom.setSize(150, 20);
		prenom.setLocation(100, 200);
		jp.add(prenom);

		JLabel jl6 = new JLabel("Groupe: ");
		jl6.setSize(200, 20);
		jl6.setLocation(10, 250);
		jp.add(jl6);

		choixGr = new JComboBox();
		for (int i = 0; i < groupes.size(); i++)
			choixGr.addItem(groupes.get(i).getNom());
		choixGr.setLocation(100, 250);
		choixGr.setSize(150, 20);
		JLabel jl7 = new JLabel(
				"Les droits du groupe selectionné sont : "+groupes.get(0).getDroits());
		jl7.setSize(600, 20);
		jl7.setLocation(10, 300);
		choixGr.addActionListener(new EcouteurComboAjoutUtil(jl7,groupes));
		jp.add(choixGr);
		jp.add(jl7);

		JButton Ajouter = new JButton("Ajouter");
		Ajouter.addActionListener(new EcouteurBoutonAjoutUtil(this));
		Ajouter.setSize(150, 20);
		Ajouter.setLocation(110, 350);
		jp.add(Ajouter);
		
		JButton Accueil = new JButton("Accueil");
		//Accueil.addActionListener(new EcouteurBoutonAcceuil());
		Accueil.setSize(150, 20);
		Accueil.setLocation(110,400);
		jp.add(Accueil);

		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setVisible(true);

	}
}
