Subversion Repositories eFlore/Applications.cel

Rev

Rev 2278 | Rev 3857 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 David Delon david.delon@clapas.net 2007
 
 
 */

/*
 * LoginDialog.java  (DialogBox)
 * 
 * Cas d'utilisation :
 * Dialogue de validation de l'identification utilisateur
 * 
 * 1 : L'utilisateur saisit son identifiant (e-mail) et son mot de passe
 * 2 : Le dialogue controle aupres du systeme distant la validite des informations saisies 
 * 3 : Le dialogue transmet au systeme local les informations d'identification
 *              3a : Le dialogue informe l'utilisateur que les elements d'identification ne sont pas valide : retour au point 1, ou passe au point 4.
 * 4 : Cloture du dialogue
 * 5 : Appel du dialogue d'importation
 */

package org.tela_botanica.client.vues;

// TODO : controle de forme sur saisie (regex integree) ...

import org.tela_botanica.client.CarnetEnLigneMediateur;
import org.tela_botanica.client.i18n.Msg;

import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.KeyboardListener;
import com.google.gwt.user.client.ui.Label;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.Position;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.KeyListener;
import com.gwtext.client.widgets.form.FormPanel;
import com.gwtext.client.widgets.form.TextField;

public class FormulaireDeConnexionVue extends DialogBox  {

        /**
         * Médiateur associé à la vue
         */
        private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;  
        
        
        /**
         * email saisi
         */
        private TextField ident=null;
        
        /**
         * mot de passe saisi
         */
        private TextField motDePasse=null;
        
        private Label saisieInvalide = null ;
        

  
  public FormulaireDeConnexionVue(CarnetEnLigneMediateur cm) {    
        carnetEnLigneMediateur=cm;
        
        setStyleName("popup_connexion");

    Panel panneauPrincipalDialogue=new Panel();
    FormPanel panneauFormulaire = new FormPanel(Position.RIGHT);
    panneauFormulaire.setTitle(Msg.get("connexion"));  
    panneauFormulaire.setWidth(350);  
    panneauFormulaire.setLabelWidth(100); 
    
    // Email
    ident = new TextField(Msg.get("mail"), "ident", 200);  
    ident.setAllowBlank(false);  
    ident.setInvalidText(Msg.get("mail-vide-incorrect"));
    ident.setTabIndex(800);
    panneauFormulaire.add(ident);  
    
    // Mot de passe 
    motDePasse = new TextField(Msg.get("mot-de-passe"), "motDePasse", 200);  
    motDePasse.setAllowBlank(false); 
    ident.setInvalidText(Msg.get("mot-de-passe-vide-incorrect"));
    motDePasse.setPassword(true);
    motDePasse.setTabIndex(801);
    
    panneauFormulaire.add(motDePasse);  

    Button boutonOK = new Button(Msg.get("ok"));  
    boutonOK.setTabIndex(802);
    panneauFormulaire.addButton(boutonOK);
    
    Button boutonAnnuler = new Button(Msg.get("annuler")); 
    boutonAnnuler.setTabIndex(803);
    panneauFormulaire.addButton(boutonAnnuler);
    
    // Click sur bouton de validation   
    boutonOK.addListener(               
            new ButtonListenerAdapter() {       
                @Override
                        public void onClick(Button button, EventObject e) {
                        carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText());              
                }       
            }
    );
    
    // Click sur  bouton d'annulation
    boutonAnnuler.addListener(                  
            new ButtonListenerAdapter() {       
                @Override
                        public void onClick(Button button, EventObject e) {
                        cacher();
                }               
            }
    );

    // Email
        // gestion de la touche entrée
    ident.addKeyListener(EventObject.ENTER, new KeyListener() {

                @Override
                public void onKey(int key, EventObject e) {
                        carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText());
                        
                }
    });
    
    // Mot de passe 
    motDePasse.addKeyListener(EventObject.ENTER, new KeyListener() {

                @Override
                public void onKey(int key, EventObject e) {
                        carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText());
                        
                }
    });         
      
        saisieInvalide = new Label("");
        saisieInvalide.setStyleName("saisie_invalide_invisible");
        panneauFormulaire.add(saisieInvalide);
         
        panneauPrincipalDialogue.add(panneauFormulaire);         
        setWidget(panneauPrincipalDialogue); 
  }
   
  /*
   * On sort sur touche echappement
   */
  @Override
  public boolean onKeyDownPreview(char key, int modifiers) {
            switch (key) {
              case KeyboardListener.KEY_ESCAPE:
                hide();
                break;
            }

            return true;
  }

  public void afficherMessageAlerte() {
                saisieInvalide.setText(Msg.get("identifiant-mot-de-passe-invalide"));
                saisieInvalide.setStyleName("saisie_invalide");
  }


  public void cacher() {
          saisieInvalide.setText("");
          saisieInvalide.setStyleName("saisie_invalide_invisible");
          hide();               
  }
}

/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log$
* Revision 1.1  2008-11-13 11:27:05  ddelon
* Reecriture gwt-ext
*
* Revision 1.1  2008-06-09 14:19:37  ddelon
* Initialisation observation
*
* Revision 1.10  2007-09-17 19:25:34  ddelon
* Documentation
*
* Revision 1.9  2007-05-21 21:03:44  ddelon
* nettoyage de code
*
* Revision 1.8  2007-05-21 18:14:06  ddelon
* Gestion importation releve locaux
*
* Revision 1.7  2007-05-21 11:47:30  ddelon
* meta cvs
*
* Revision 1.6  2007-05-21 11:39:48  ddelon
* meta cvs
*
* Revision 1.5  2007-05-21 11:39:12  ddelon
* meta cvs
*
* Revision 1.4  2007-05-21 11:37:35  ddelon
* meta cvs
*
* Revision 1.3  2007-05-21 11:36:51  ddelon
* meta cvs
* 
*/