Subversion Repositories eFlore/Applications.cel

Rev

Rev 42 | Rev 195 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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