New file |
0,0 → 1,258 |
/** |
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 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; |
|
|
|
Panel panneauPrincipalDialogue=new Panel(); |
|
FormPanel panneauFormulaire = new FormPanel(Position.RIGHT); |
|
|
panneauFormulaire.setTitle("Connexion"); |
|
panneauFormulaire.setWidth(350); |
panneauFormulaire.setLabelWidth(100); |
|
|
|
/* |
* E-Mail : Zone_saisie_email |
* Mot-de-passe : Zone_saisie_mot_de_passe |
* Message d'information |
* Bouton_Ok Bouton_Annuler |
*/ |
|
/** |
* On ajoute les differents elements du formulaire |
*/ |
|
// Email |
|
ident = new TextField("Identifiant", "ident", 200); |
ident.setAllowBlank(false); |
ident.setInvalidText("Identifiant vide ou incorrect"); |
ident.setTabIndex(800); |
panneauFormulaire.add(ident); |
|
// Mot de passe |
|
motDePasse = new TextField("Mot de passe", "motDePasse", 200); |
motDePasse.setAllowBlank(false); |
ident.setInvalidText("Mot de passe vide ou incorrect"); |
motDePasse.setPassword(true); |
motDePasse.setTabIndex(801); |
|
panneauFormulaire.add(motDePasse); |
|
|
|
Button boutonOK = new Button("Ok"); |
boutonOK.setTabIndex(802); |
panneauFormulaire.addButton(boutonOK); |
|
Button boutonAnnuler = new Button("Annuler"); |
boutonAnnuler.setTabIndex(803); |
panneauFormulaire.addButton(boutonAnnuler); |
|
|
// Click sur bouton de validation |
|
boutonOK.addListener( |
|
new ButtonListenerAdapter() { |
|
public void onClick(Button button, EventObject e) { |
carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText()); |
|
} |
|
} |
|
); |
|
|
// Click sur bouton d'annulation |
|
|
boutonAnnuler.addListener( |
|
new ButtonListenerAdapter() { |
|
public void onClick(Button button, EventObject e) { |
cacher(); |
} |
|
} |
|
); |
|
|
/** |
* Validation directe depuis un champ de saisie |
* |
*/ |
|
// Email |
|
// gestion de la touche entrée |
ident.addKeyListener(EventObject.ENTER, new KeyListener() { |
|
public void onKey(int key, EventObject e) { |
carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText()); |
|
} |
}); |
|
// Mot de passe |
|
motDePasse.addKeyListener(EventObject.ENTER, new KeyListener() { |
|
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 |
*/ |
|
public boolean onKeyDownPreview(char key, int modifiers) { |
switch (key) { |
case KeyboardListener.KEY_ESCAPE: |
hide(); |
break; |
} |
|
return true; |
} |
|
public void afficherMessageAlerte() { |
|
saisieInvalide.setText("Identifiant ou 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 |
* |
*/ |