Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
2 aperonnet 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.observation;
22
 
23
// TODO : utiliser classe formulaire
24
 
25
import com.google.gwt.user.client.ui.ClickListener;
26
import com.google.gwt.user.client.ui.DialogBox;
27
import com.google.gwt.user.client.ui.Grid;
28
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.PasswordTextBox;
31
import com.google.gwt.user.client.ui.TextBox;
32
import com.google.gwt.user.client.ui.VerticalPanel;
33
import com.google.gwt.user.client.ui.Widget;
34
 
7 aperonnet 35
public class FormulaireDeConnexionVue extends DialogBox {
2 aperonnet 36
 
7 aperonnet 37
	private ObservationMediateur observationMediateur = null;
38
	private TextBox login = new TextBox();
39
	private PasswordTextBox password = new PasswordTextBox();
40
	private Grid inner = new Grid(4, 2);
2 aperonnet 41
 
7 aperonnet 42
	public FormulaireDeConnexionVue(
43
			final ObservationMediateur carnetEnLigneMediateur) {
2 aperonnet 44
 
7 aperonnet 45
		setText("Connexion");
2 aperonnet 46
 
7 aperonnet 47
		this.observationMediateur = carnetEnLigneMediateur;
2 aperonnet 48
 
7 aperonnet 49
		VerticalPanel outer = new VerticalPanel();
50
 
51
		/*
52
		 * E-Mail : Zone_saisie_email Mot-de-passe : Zone_saisie_mot_de_passe
53
		 * Message d'information Bouton_Ok Bouton_Annuler
54
		 */
55
 
56
		// Validation bouton
57
		HTML okButton = new HTML("Ok");
58
		okButton.setStyleName("html_button");
59
		okButton.addClickListener(new ClickListener() {
60
			public void onClick(Widget sender) {
61
				connecteUtilisateur();
62
			}
63
		});
64
 
65
		// Annulation
66
 
67
		HTML cancelButton = new HTML("Annuler");
68
		cancelButton.setStyleName("html_button");
69
		cancelButton.addClickListener(new ClickListener() {
70
			public void onClick(Widget sender) {
71
				hide();
72
			}
73
		});
74
 
75
		// Validation utilisateur sans utilisation des boutons :
76
 
77
		login.addKeyboardListener(new KeyboardListener() {
78
 
79
			public void onKeyDown(Widget arg0, char arg1, int arg2) {
80
				if (arg1 == KEY_ENTER) {
2 aperonnet 81
					connecteUtilisateur();
7 aperonnet 82
				}
83
			}
2 aperonnet 84
 
7 aperonnet 85
			public void onKeyUp(Widget arg0, char arg1, int arg2) {
86
			}
2 aperonnet 87
 
7 aperonnet 88
			public void onKeyPress(Widget arg0, char arg1, int arg2) {
89
			}
2 aperonnet 90
 
7 aperonnet 91
		});
2 aperonnet 92
 
7 aperonnet 93
		// Validation utilisateur sans utilisation des boutons :
2 aperonnet 94
 
7 aperonnet 95
		password.addKeyboardListener(new KeyboardListener() {
2 aperonnet 96
 
7 aperonnet 97
			public void onKeyDown(Widget arg0, char arg1, int arg2) {
2 aperonnet 98
 
7 aperonnet 99
				if (arg1 == KEY_ENTER) {
100
					connecteUtilisateur();
101
				}
102
			}
2 aperonnet 103
 
7 aperonnet 104
			public void onKeyUp(Widget arg0, char arg1, int arg2) {
105
			}
106
 
107
			public void onKeyPress(Widget arg0, char arg1, int arg2) {
108
			}
109
 
110
		});
111
 
112
		inner.setHTML(0, 0, "E-mail:");
113
		inner.setWidget(0, 1, login);
114
		inner
115
				.setHTML(
116
						1,
117
						0,
118
						"Mot de passe:           ");
119
		inner.setWidget(1, 1, password);
120
		inner.setWidget(3, 0, okButton);
121
		inner.setWidget(3, 1, cancelButton);
122
 
123
		inner.setCellPadding(10);
124
		outer.add(inner);
125
		setWidget(outer);
126
 
127
	}
128
 
129
	/**
130
	 * Appel du service d'identification et positionnement de l'etat de
131
	 * connection en fonction du resultat.
132
	 *
133
	 * @param login :
134
	 *            identifiant saisi
135
	 * @param password :
136
	 *            mot de passe saisi
137
	 *
138
	 */
139
 
2 aperonnet 140
	private void connecteUtilisateur() {
141
 
7 aperonnet 142
		final String login = this.login.getText();
143
		String password = this.password.getText();
2 aperonnet 144
 
7 aperonnet 145
		observationMediateur.connecterUtilisateur(login, password);
146
 
2 aperonnet 147
	}
148
 
7 aperonnet 149
	public boolean onKeyDownPreview(char key, int modifiers) {
150
		// Use the popup's key preview hooks to close the dialog when either
151
		// escape is pressed.
152
		switch (key) {
153
		case KeyboardListener.KEY_ESCAPE:
154
			hide();
155
			break;
156
		}
2 aperonnet 157
 
7 aperonnet 158
		return true;
159
	}
2 aperonnet 160
 
7 aperonnet 161
	public void afficherMessageAlerte() {
162
		inner.setHTML(2, 0, "Identification incorrecte !");
163
	}
164
 
2 aperonnet 165
}
166
 
7 aperonnet 167
/*
168
 * +--Fin du code
169
 * ---------------------------------------------------------------------------------------+
170
 * $Log: not supported by cvs2svn $ Revision 1.1 2008-09-19 10:27:18
171
 * aperonnet Carnet en ligne, utilisant gwt 1.5 et la nouvelle version de
172
 * gwt-ext (plus de bugs au demarrage dans firefox, plus rapide et annotations
173
 * java)
174
 *
175
 * Revision 1.1 2008-06-09 14:19:37 ddelon Initialisation observation
176
 *
177
 * Revision 1.10 2007-09-17 19:25:34 ddelon Documentation
178
 *
179
 * Revision 1.9 2007-05-21 21:03:44 ddelon nettoyage de code
180
 *
181
 * Revision 1.8 2007-05-21 18:14:06 ddelon Gestion importation releve locaux
182
 *
183
 * Revision 1.7 2007-05-21 11:47:30 ddelon meta cvs
184
 *
185
 * Revision 1.6 2007-05-21 11:39:48 ddelon meta cvs
186
 *
187
 * Revision 1.5 2007-05-21 11:39:12 ddelon meta cvs
188
 *
189
 * Revision 1.4 2007-05-21 11:37:35 ddelon meta cvs
190
 *
191
 * Revision 1.3 2007-05-21 11:36:51 ddelon meta cvs
192
 *
193
 */