Package gui.gestionCompteUser

Source Code of gui.gestionCompteUser.AttributionRoleUserEditionFenetre

package gui.gestionCompteUser;

import static gui.MotsCleProjet.CMD_CANCEL;
import static gui.MotsCleProjet.CMD_OK;
import static gui.util.TaxiGuiUtil.FabricationButton;
import gui.MainWindow;
import gui.MotsCleProjet;
import gui.PrjException;
import gui.util.TaxiGuiUtil;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JToolBar;

import modele.compteUser.AttributionRoleUser;
import modele.compteUser.CompteUser;
import modele.compteUser.RoleUser;
import dao.GestionnaireDeStockage;
import dao.ICompteUserDao;
import dao.IDao;

/**
* class AttributionRoleUserEditionFenetre
* cr�e l'interface utilisateur qui permet d'ajouter un enregistrement
* @author Kasandra
*
*/
class AttributionRoleUserEditionFenetre implements ActionListener {

  private boolean modeEdition = false;
 
  private JDialog aDialog;// R�f�rence � la boite de dialogue.
 

  private JComboBox cmbCompteUser, cmbRoleUser;

  private JPanel titre;
  private JLabel titres, labCompteUser, labRoleUser, labAttributionRoleUser;

  private AttributionRoleUser attributionRoleUser = new AttributionRoleUser();

  private static Font titreFont = new Font("Tahoma", 1, 12);
 
  private JLabel textdateAttributionRoleUser;

  protected boolean okFlag;

  public boolean OK_Button() {
    return okFlag;
  }

  /**
   * Constructeur de la classe  AttributionRoleUserEditionFenetre
   */
  public AttributionRoleUserEditionFenetre() {
    aDialog = new JDialog(MainWindow.cadrePrincipal(), "  Attribution des r�les des utilisateurs...", true);
   
    cmbCompteUser = new JComboBox(getListeCompteUser());
    cmbCompteUser.setFont(titreFont);
    cmbCompteUser.setForeground(new java.awt.Color(66, 79, 120))
   
    cmbRoleUser = new JComboBox(getListeRoleUser());
    cmbRoleUser.setFont(titreFont);
    cmbRoleUser.setForeground(new java.awt.Color(66, 79, 120));
   
    textdateAttributionRoleUser = new JLabel();
    textdateAttributionRoleUser.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
    textdateAttributionRoleUser.setFont(titreFont);
    textdateAttributionRoleUser.setForeground(new java.awt.Color(66, 79, 120));
    textdateAttributionRoleUser.setText(new SimpleDateFormat(MotsCleProjet.DATE_FORMAT).format(new Date()));
    textdateAttributionRoleUser.setEnabled(false);
      okFlag = false;
  }

  /**
   * Initialise r�le utilisateur attribu�
   * @param attributionRoleUser
   */
  void initializeDonnee(AttributionRoleUser attributionRoleUser) {
    modeEdition = true;
    this.attributionRoleUser = attributionRoleUser;
    selectionneCompteUser(attributionRoleUser.getCompteUser());
    selectionneRoleUser(attributionRoleUser.getRoleUser());
    textdateAttributionRoleUser.setText(new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).format(attributionRoleUser.getDateAttributionRoleUser()));
   
  }

  /**
   * Selectionne CompteUser
   * @param compteUser
   */
  private void selectionneCompteUser(CompteUser compteUser) {
    int nbCompteUser = cmbCompteUser.getItemCount();
    for (int i = 0; i<nbCompteUser; i++) {
      if (((CompteUserAffichable)cmbCompteUser.getItemAt(i)).getCompteUser().getId().equals(compteUser.getId())) {
        cmbCompteUser.setSelectedIndex(i);
        break;
      }
    }
  }

  /**
   * Selectionne RoleUser
   * @param roleUser
   */
  private void selectionneRoleUser(RoleUser roleUser) {
    int nbRoleUser = cmbRoleUser.getItemCount();
    for (int i = 0; i<nbRoleUser; i++) {
      if (((RoleUserAffichable)cmbRoleUser.getItemAt(i)).getRoleUser().getId().equals(roleUser.getId())) {
        cmbRoleUser.setSelectedIndex(i);
        break;
      }
    }
  }

 
  /**
   *
   * @return r�le utilisateur attribu�
   */
  AttributionRoleUser renvoiAttributionRoleUser() {
    return attributionRoleUser;
  }

  /**
   * Cr�e panel date attribution r�le
   * @return
   */
 
  private JPanel creeDateAttributionRoleUser() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setBackground(new java.awt.Color(170, 207, 249));
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(450, 25));
   
    labAttributionRoleUser = new JLabel("    Date attribution r�le utilisateur : ");
        labAttributionRoleUser.setForeground(new java.awt.Color(66, 79, 120));
        labAttributionRoleUser.setFont(titreFont);
       
        parameterPane.add(labAttributionRoleUser);
        parameterPane.add(textdateAttributionRoleUser);
     

    return parameterPane;
  }
 
 

  /**
   * Cr�e panel compte utilisateur
   * @return panel compte utilisateur
   */
  private JPanel creeCompteUserPane(boolean editable)
  {
          JPanel parameterPane = new JPanel(false);
          parameterPane.setBackground(new java.awt.Color(170, 207, 249));
          parameterPane.setLayout(new GridLayout());
          parameterPane.setPreferredSize(new Dimension(450, 25));  
         
          labCompteUser = new JLabel("Compte utilisateur : *");
          labCompteUser.setForeground(new java.awt.Color(66, 79, 120));
          labCompteUser.setFont(titreFont);
         
          parameterPane.add(labCompteUser);
          parameterPane.add(cmbCompteUser);
          cmbCompteUser.setEnabled(editable);
          return parameterPane;
  }
 
  /**
   * Cr�e panel r�le utilisateur
   * @return
   */
  private JPanel creeRoleUserPane(boolean editable)
  {
          JPanel parameterPane = new JPanel(false);
          parameterPane.setLayout(new GridLayout());
          parameterPane.setBackground(new java.awt.Color(170, 207, 249));
          parameterPane.setPreferredSize(new Dimension(450, 25));         
        
          labRoleUser = new JLabel("    R�le utilisateur : *");
          labRoleUser.setForeground(new java.awt.Color(66, 79, 120));
          labRoleUser.setFont(titreFont);
          parameterPane.add(labRoleUser);
          parameterPane.add(cmbRoleUser);
          cmbRoleUser.setEnabled(editable);
         
          return parameterPane;
  }

  /**
   * Renvoie titre formulaire
   *
   * @return
   */
  private JPanel getTitre() {
    if (titre == null) {
      GridBagConstraints gridBagTitre = new GridBagConstraints();
      gridBagTitre.gridx = 0;
      gridBagTitre.gridy = 0;
      titres = new JLabel();
      titres.setText("  Fiche attribution r�le utilisateur");
      titres.setFont(new java.awt.Font("Comic Sans MS", 1, 20));
      titres.setForeground(new Color(255, 255, 255));
      titre = new JPanel();
      titre.setLayout(new GridBagLayout());
      titre.setPreferredSize(new Dimension(50, 45));
      titre.setBackground(new Color(66, 79, 120));
      titre.add(titres, gridBagTitre);
    }

    return titre;
  }

  /**
   * D�finit la fen�tre et ses composants
   */
  public void affiche() throws PrjException {
    try {
      JToolBar toolBar = new JToolBar("Outils...");

      JPanel parameterPane = new JPanel(false);
      parameterPane.setBackground(new Color(170, 207, 249));

      parameterPane.setLayout(new FlowLayout());
      parameterPane.setPreferredSize(new Dimension(500, 200));
      parameterPane.setBorder(BorderFactory.createTitledBorder(" "));
           
      parameterPane.add(creeCompteUserPane(!modeEdition));
      parameterPane.add(creeRoleUserPane(!modeEdition))
       
      parameterPane.add(creeDateAttributionRoleUser());

      aDialog.getContentPane().add(getTitre(), BorderLayout.NORTH);
      aDialog.getContentPane().add(parameterPane, BorderLayout.CENTER);
      aDialog.getContentPane().add(toolBar, BorderLayout.PAGE_END);

      toolBar.setBackground(new Color(66, 79, 120));
      toolBar.add(FabricationButton("OK", CMD_OK, "OK...", this));
      toolBar.add(FabricationButton("ANNULER", CMD_CANCEL, "Annuler...", this));

      Point p = MainWindow.cadrePrincipal().getLocation();
      aDialog.setLocation((p.x + 450), (p.y + 200));

      aDialog.pack();
      aDialog.setVisible(true);
     
    } catch (NullPointerException exc) {
      throw new PrjException(exc.getMessage());
    }
  }

  /**
   * Gestionnaire des �v�nements
   */
  public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();
    if (CMD_OK.equals(cmd)) {
     
      attributionRoleUser.setCompteUser(getCompteUserSelectionne());
      attributionRoleUser.setRoleUser(getRoleUserSelectionne());
      Date dateAttribution;
      try {
        dateAttribution = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textdateAttributionRoleUser.getText());
        attributionRoleUser.setDateAttributionRoleUser(dateAttribution);
      } catch (ParseException e1) {
        TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
      }
     

      okFlag = true;
      aDialog.setVisible(false);
    } else if (CMD_CANCEL.equals(cmd)) {
      okFlag = false;
      aDialog.setVisible(false);
    }
  }
 
  /**
   * Selectionne le compte user et renvoie ce compte
   * @return
   */
  private CompteUser getCompteUserSelectionne() {
    return ((CompteUserAffichable)cmbCompteUser.getSelectedItem()).getCompteUser();
  }

  /**
   * Selectionne le role user et renvoie ce r�le
   * @return
   */
  private RoleUser getRoleUserSelectionne() {
    return ((RoleUserAffichable)cmbRoleUser.getSelectedItem()).getRoleUser();
  }
  /*
  private Vector<CompteUserAffichable> getListeCompteUser() {
    Vector<CompteUserAffichable> compteUserAffichables = new Vector<CompteUserAffichable>();
    ArrayList<CompteUser> compteUser = getCompteUserDao().findAllActif();//findAll();
    for (CompteUser ecompteUser : compteUser) {
      compteUserAffichables.add(new CompteUserAffichable(ecompteUser));
    }
    return compteUserAffichables;
  }

  private ICompteUserDao getCompteUserDao() {
    try {
      return GestionnaireDeStockage.getInstance().getCompteUserDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }
 
  */

  private Vector<CompteUserAffichable> getListeCompteUser() {
    Vector<CompteUserAffichable> compteUserAffichables = new Vector<CompteUserAffichable>();
    ArrayList<CompteUser> compteUser = getCompteUserDao().findAllActif();//.findAll();
    for (CompteUser ecompteUser : compteUser) {
      compteUserAffichables.add(new CompteUserAffichable(ecompteUser));
    }
    return compteUserAffichables;
  }

  private ICompteUserDao getCompteUserDao() {
    try {
      return GestionnaireDeStockage.getInstance().getCompteUserDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }
 
  private Vector<RoleUserAffichable> getListeRoleUser() {
    Vector<RoleUserAffichable> roleUserAffichables = new Vector<RoleUserAffichable>();
    ArrayList<RoleUser> roleUser = getRoleUserDao().findAll();
    for (RoleUser eroleUser : roleUser) {
      roleUserAffichables.add(new RoleUserAffichable(eroleUser));
    }
    return roleUserAffichables;
  }

  private IDao<RoleUser> getRoleUserDao() {
    try {
      return GestionnaireDeStockage.getInstance().getRoleUserDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }
}
TOP

Related Classes of gui.gestionCompteUser.AttributionRoleUserEditionFenetre

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.