Subversion Repositories eFlore/Applications.cel

Rev

Rev 42 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
12 david 1
/**
2
 David Delon david.delon@clapas.net 2007
3
 
4
 
5
 */
6
 
7
/*
8
 * LoginDialog.java  (DialogBox)
9
 *
10
 * Cas d'utilisation :
11
 * Dialogue de validation de l'identification utilisateur
12
 *
13
 * 1 : L'utilisateur saisit son identifiant (e-mail) et son mot de passe
14
 * 2 : Le dialogue controle aupres du systeme distant la validite des informations saisies
15
 * 3 : Le dialogue transmet au systeme local les informations d'identification
16
 * 		3a : Le dialogue informe l'utilisateur que les elements d'identification ne sont pas valide : retour au point 1, ou passe au point 4.
17
 * 4 : Cloture du dialogue
18
 * 5 : Appel du dialogue d'importation
19
 */
20
 
21
package org.tela_botanica.client.vues;
22
 
23
// TODO : controle de forme sur saisie (regex integree) ...
24
 
25
import org.tela_botanica.client.CarnetEnLigneMediateur;
26
 
37 jpm 27
import com.google.gwt.user.client.Window;
12 david 28
import com.google.gwt.user.client.ui.DialogBox;
173 aurelien 29
import com.google.gwt.user.client.ui.HTML;
12 david 30
import com.google.gwt.user.client.ui.KeyboardListener;
173 aurelien 31
import com.google.gwt.user.client.ui.Label;
32
import com.google.gwt.user.client.ui.PopupListener;
33
import com.google.gwt.user.client.ui.PopupPanel;
12 david 34
import com.gwtext.client.core.EventObject;
35
import com.gwtext.client.core.Position;
36
import com.gwtext.client.widgets.Button;
37
import com.gwtext.client.widgets.Panel;
38
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
39
import com.gwtext.client.widgets.event.KeyListener;
40
import com.gwtext.client.widgets.form.FormPanel;
41
import com.gwtext.client.widgets.form.TextField;
42
 
43
public class FormulaireDeConnexionVue extends DialogBox  {
44
 
45
 
46
	/**
47
	 * Médiateur associé à la vue
48
	 */
49
 
50
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
51
 
52
 
53
	/**
54
	 * email saisi
55
	 */
56
 
42 jpm 57
	private TextField ident=null;
12 david 58
 
59
	/**
60
	 * mot de passe saisi
61
	 */
62
 
63
	private TextField motDePasse=null;
64
 
173 aurelien 65
	private Label saisieInvalide = null ;
66
 
12 david 67
 
68
 
69
  public FormulaireDeConnexionVue(CarnetEnLigneMediateur cm) {
70
 
71
 
72
	carnetEnLigneMediateur=cm;
73
 
74
 
75
 
76
    Panel panneauPrincipalDialogue=new Panel();
77
 
78
    FormPanel panneauFormulaire = new FormPanel(Position.RIGHT);
79
 
80
 
81
    panneauFormulaire.setTitle("Connexion");
82
 
83
    panneauFormulaire.setWidth(350);
84
    panneauFormulaire.setLabelWidth(100);
85
 
86
 
87
 
88
/*
89
 *  E-Mail : Zone_saisie_email
90
 *  Mot-de-passe : Zone_saisie_mot_de_passe
91
 *  Message d'information
92
 *  Bouton_Ok   Bouton_Annuler
93
 */
94
 
95
    /**
96
     * On ajoute les differents elements du formulaire
97
     */
98
 
99
    // Email
100
 
42 jpm 101
    ident = new TextField("Identifiant", "ident", 200);
102
    ident.setAllowBlank(false);
173 aurelien 103
    ident.setInvalidText("Identifiant vide ou incorrect");
104
    ident.setTabIndex(800);
42 jpm 105
    panneauFormulaire.add(ident);
12 david 106
 
107
    // Mot de passe
108
 
109
    motDePasse = new TextField("Mot de passe", "motDePasse", 200);
173 aurelien 110
    motDePasse.setAllowBlank(false);
111
    ident.setInvalidText("Mot de passe vide ou incorrect");
12 david 112
    motDePasse.setPassword(true);
173 aurelien 113
    motDePasse.setTabIndex(801);
12 david 114
 
115
    panneauFormulaire.add(motDePasse);
116
 
117
 
118
 
119
    Button boutonOK = new Button("Ok");
173 aurelien 120
    boutonOK.setTabIndex(802);
12 david 121
    panneauFormulaire.addButton(boutonOK);
122
 
173 aurelien 123
    Button boutonAnnuler = new Button("Annuler");
124
    boutonAnnuler.setTabIndex(803);
12 david 125
    panneauFormulaire.addButton(boutonAnnuler);
126
 
127
 
128
    // Click sur bouton de validation
129
 
130
    boutonOK.addListener(
131
 
132
    new ButtonListenerAdapter() {
133
 
134
    	public void onClick(Button button, EventObject e) {
42 jpm 135
    		carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText());
12 david 136
 
137
    	}
138
 
139
    }
140
 
141
    );
142
 
143
 
144
    // Click sur  bouton d'annulation
145
 
146
 
147
    boutonAnnuler.addListener(
148
 
149
    new ButtonListenerAdapter() {
150
 
151
    	public void onClick(Button button, EventObject e) {
173 aurelien 152
	        cacher();
12 david 153
    	}
154
 
155
    }
156
 
157
    );
158
 
159
 
160
 /**
161
  * Validation directe depuis un champ de saisie
162
  *
163
  */
164
 
165
    // Email
166
 
167
	// gestion de la touche entrée
42 jpm 168
    ident.addKeyListener(EventObject.ENTER, new KeyListener() {
12 david 169
 
170
		public void onKey(int key, EventObject e) {
42 jpm 171
			carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText());
12 david 172
 
173
		}
174
    });
175
 
176
    // Mot de passe
177
 
178
    motDePasse.addKeyListener(EventObject.ENTER, new KeyListener() {
179
 
180
		public void onKey(int key, EventObject e) {
42 jpm 181
			carnetEnLigneMediateur.connecterUtilisateur(ident.getText(),motDePasse.getText());
12 david 182
 
183
		}
38 jpm 184
    });
12 david 185
 
173 aurelien 186
 
187
  	saisieInvalide = new Label("");
188
  	saisieInvalide.setStyleName("saisie_invalide_invisible");
189
  	panneauFormulaire.add(saisieInvalide);
12 david 190
 
191
  	 panneauPrincipalDialogue.add(panneauFormulaire);
192
 
193
     setWidget(panneauPrincipalDialogue);
194
 
195
 
196
  }
197
 
198
 
199
  /*
200
   * On sort sur touche echappement
201
   */
202
 
203
  public boolean onKeyDownPreview(char key, int modifiers) {
204
	    switch (key) {
205
	      case KeyboardListener.KEY_ESCAPE:
206
	        hide();
207
	        break;
208
	    }
209
 
210
	    return true;
211
  }
212
 
213
  public void afficherMessageAlerte() {
214
 
173 aurelien 215
	  saisieInvalide.setText("Identifiant ou mot de passe invalide");
216
	  saisieInvalide.setStyleName("saisie_invalide");
12 david 217
  }
173 aurelien 218
 
219
 
220
public void cacher() {
221
	saisieInvalide.setText("");
222
	saisieInvalide.setStyleName("saisie_invalide_invisible");
223
	hide();
224
 
225
}
12 david 226
 
227
 
228
}
229
 
230
/* +--Fin du code ---------------------------------------------------------------------------------------+
231
* $Log$
232
* Revision 1.1  2008-11-13 11:27:05  ddelon
233
* Reecriture gwt-ext
234
*
235
* Revision 1.1  2008-06-09 14:19:37  ddelon
236
* Initialisation observation
237
*
238
* Revision 1.10  2007-09-17 19:25:34  ddelon
239
* Documentation
240
*
241
* Revision 1.9  2007-05-21 21:03:44  ddelon
242
* nettoyage de code
243
*
244
* Revision 1.8  2007-05-21 18:14:06  ddelon
245
* Gestion importation releve locaux
246
*
247
* Revision 1.7  2007-05-21 11:47:30  ddelon
248
* meta cvs
249
*
250
* Revision 1.6  2007-05-21 11:39:48  ddelon
251
* meta cvs
252
*
253
* Revision 1.5  2007-05-21 11:39:12  ddelon
254
* meta cvs
255
*
256
* Revision 1.4  2007-05-21 11:37:35  ddelon
257
* meta cvs
258
*
259
* Revision 1.3  2007-05-21 11:36:51  ddelon
260
* meta cvs
261
*
262
*/