New file |
0,0 → 1,205 |
/** |
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 |
* |
*/ |