package client.control.admin;

import client.Application;
import client.ApplicationHelper;
import client.model.user.Droits;
import client.model.user.Role;

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import client.view.admin.PanelAdmin;

/**
 * <u><b>Explication générale de la classe :</b></u>
 * <P>
 * Cette classe permet de gérer l'évènement lié à la JComboBox des Membres
 * 
 * @author Dream Team - ING2
 */
public class EcouteurBoxNom implements ItemListener {

	// Variables permettant de définir le texte
	public final String CREER_UN_MEMBRE = "Créer un membre";

	public EcouteurBoxNom() {}

	/**
	 * <u><i>Explication générale de la méthode :</i></u> 
	 * <P> Cette méthode permet
	 * de gérer les évènements liés à la souris sur la box
	 * 
	 * @param e
	 *            Evènement souris sur la box
	 * 
	 */
	public void itemStateChanged(ItemEvent e) {

		// On regarde si l'utilisateur a selectionné cette option
		if (PanelAdmin.getInstance().getPanUser().getUserBox()
				.getSelectedItem().toString().equals(CREER_UN_MEMBRE)) {
			Role role = Application.getInstance().getUser(Application.idSelect)
					.getRolePersonne();

			// idRole du role en question
			int idRole = Application.getInstance().getIdRole(role);

			// On test si ce role possède le droit la création de membre
			if (ApplicationHelper.ARoleCan(idRole, Droits.CREER_MEMBRE)) {

				PanelAdmin.getInstance().getPcu().setVisible(true);

				// On met les boutons bloqués
				PanelAdmin.getInstance().getPanUser().getUserBox().setEnabled(
						false);
				PanelAdmin.getInstance().getPanUser().getBa().setEnabled(false);
				PanelAdmin.getInstance().getPanUser().getBe().setEnabled(false);
				PanelAdmin.getInstance().getPanUser().getBm().setEnabled(false);
				PanelAdmin.getInstance().getPanUser().getBs().setEnabled(false);
			}
		}
	}
}
