Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1488 Rev 2081
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
 * EtatConnexionVue.java  : affichage information portant sur le statut de la connexion utilisateur
7
 * EtatConnexionVue.java  : affichage information portant sur le statut de la connexion utilisateur
8
 * 
8
 * 
9
 * 
9
 * 
10
 * 1: Le programme affiche le statut connecte si l'utilisateur s'est connecte precedemment, sinon s'affiche le statut deconnecte
10
 * 1: Le programme affiche le statut connecte si l'utilisateur s'est connecte precedemment, sinon s'affiche le statut deconnecte
11
 * 2: Le programme arme les actions liees a la connection ou a la deconnection
11
 * 2: Le programme arme les actions liees a la connection ou a la deconnection
12
 *    - Connection : affichage de la boite de connexion
12
 *    - Connection : affichage de la boite de connexion
13
 *    - Deconnexion : appel du service de deconnexion, et appel de la re-initialisation de l'affichage pour le nouvel identifiant utilisateur obtenu (identifiant  de session)
13
 *    - Deconnexion : appel du service de deconnexion, et appel de la re-initialisation de l'affichage pour le nouvel identifiant utilisateur obtenu (identifiant  de session)
14
 */
14
 */
15
 
-
 
16
 
15
 
17
package org.tela_botanica.client.vues;
-
 
18
 
-
 
19
 
16
package org.tela_botanica.client.vues;
20
 
17
 
21
import org.tela_botanica.client.CarnetEnLigneMediateur;
18
import org.tela_botanica.client.CarnetEnLigneMediateur;
22
import org.tela_botanica.client.modeles.objets.Configuration;
19
import org.tela_botanica.client.modeles.objets.Configuration;
-
 
20
 
23
 
21
import com.google.gwt.http.client.URL;
24
import com.google.gwt.user.client.Window;
-
 
25
 
22
import com.google.gwt.user.client.Window;
26
import com.gwtext.client.core.EventCallback;
23
import com.gwtext.client.core.EventCallback;
27
import com.gwtext.client.core.EventObject;
24
import com.gwtext.client.core.EventObject;
28
import com.gwtext.client.core.Ext;
25
import com.gwtext.client.core.Ext;
29
import com.gwtext.client.core.ExtElement;
26
import com.gwtext.client.core.ExtElement;
30
import com.gwtext.client.widgets.Container;
27
import com.gwtext.client.widgets.Container;
31
import com.gwtext.client.widgets.Panel;
28
import com.gwtext.client.widgets.Panel;
32
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
29
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
33
 
-
 
34
 
-
 
35
 
30
 
36
/**
31
/**
37
 * Un indicateur d'etat de connexion
32
 * Un indicateur d'etat de connexion
38
 * 
33
 * 
39
 * @author David Delon
34
 * @author David Delon
40
 *
35
 *
41
 */
36
 */
42
 
-
 
43
 
-
 
44
 
37
 
45
public class EtatConnexionVue  extends Panel  {
-
 
46
 
38
public class EtatConnexionVue  extends Panel  {
47
	
39
 
48
	/**
40
	/**
49
	 * Médiateur associé à la vue
41
	 * Médiateur associé à la vue
50
	 */
42
	 */
51
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;	
43
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;	
52
	
44
	
53
  /**
45
  /**
54
   * Texte lié à la connexion.
46
   * Texte lié à la connexion.
55
   * 
47
   * 
56
   */
48
   */
57
  
49
  
58
  private String labelEtatConnexion = null;
50
  private String labelEtatConnexion = null;
59
  
51
 
-
 
52
  /**
-
 
53
   * Ouh c'est pas beau, ça ! Mais avec Google Web Toolshit, ça
-
 
54
   * marche toujours mieux que quand on fait des trucs beaux :-)
-
 
55
   */
60
  private String liens = "<div id=\"liensExt\"><a href=\"#\" id=\"lienAide\">Aide</a></div>" ;
56
  private String liens = "<div id=\"liensExt\">"
-
 
57
		  + "<a id=\"lienRemarques\" title=\"Adressez-nous vos remarques ou signalez-nous un problème\""
-
 
58
		  + 	" href=\"" + Configuration.getRemarquesBaseUrl() + "?email=" + Configuration.getEmailContact()
-
 
59
		  + 	"&pageSource=" + URL.encodeQueryString(Window.Location.getHref()) + "\""
-
 
60
		  + " onClick=\"javascript:window.open(this.getAttribute('href'), 'Tela Botanica - Remarques', config='height=700, width=640, scrollbars=yes, resizable=yes'); return false;\""
-
 
61
		  + " target=\"_blank\""
-
 
62
		  + ">Remarques</a>"
-
 
63
		  + "<a href=\"#\" id=\"lienAide\">Aide</a>"
-
 
64
		  + "</div>" ;
61
  
65
  
62
  /**
66
  /**
63
   * Booleen indiquant si utilisateur connecte 
67
   * Booleen indiquant si utilisateur est connecte 
64
   * 
68
   * 
65
   */
-
 
66
  
-
 
67
  
69
   */
68
  public EtatConnexionVue(CarnetEnLigneMediateur cm)  {
70
  public EtatConnexionVue(CarnetEnLigneMediateur cm)  {
69
	  
71
	  
70
	carnetEnLigneMediateur=cm;
72
	carnetEnLigneMediateur=cm;
71
 
73
 
72
    this.setBodyBorder(false) ;
74
    this.setBodyBorder(false) ;
73
    this.setBorder(false) ;
75
    this.setBorder(false) ;
74
    this.setId("panneau_etat_connexion");
76
    this.setId("panneau_etat_connexion");
75
	
77
	
76
	// Pas de word wrap
78
	// Pas de word wrap
77
	labelEtatConnexion="";
79
	labelEtatConnexion="";
78
	
80
	
79
	this.setHtml(labelEtatConnexion+liens);
81
	this.setHtml(labelEtatConnexion+liens);
80
 
82
 
81
	
83
	
82
	ajouterListeners();
84
	ajouterListeners();
83
	
85
	
84
		
86
		
85
  	}
87
  	}
86
	
88
	
87
   public void ajouterListeners() {
89
   public void ajouterListeners() {
88
		
90
		
89
	   ExtElement lienAide = Ext.get("lienAide");
91
	   ExtElement lienAide = Ext.get("lienAide");
90
		if(lienAide != null) 
92
		if(lienAide != null) 
91
		{	
93
		{	
92
			lienAide.removeAllListeners();
94
			lienAide.removeAllListeners();
93
			lienAide.addListener("click", new EventCallback() {
95
			lienAide.addListener("click", new EventCallback() {
94
	
96
	
95
				@Override
97
				@Override
96
				public void execute(EventObject e) {
98
				public void execute(EventObject e) {
97
					String aideUrl = Configuration.getAideBaseUrl() ;
99
					String aideUrl = Configuration.getAideBaseUrl() ;
98
					Window.open(aideUrl, "", "") ;		
100
					Window.open(aideUrl, "", "") ;		
99
				}
101
				}
100
			});
102
			});
101
		}
103
		}
102
		else
104
		else
103
		{
105
		{
104
			addListener(new ContainerListenerAdapter() {
106
			addListener(new ContainerListenerAdapter() {
105
				@Override
107
				@Override
106
				public void onAfterLayout(Container c) {
108
				public void onAfterLayout(Container c) {
107
					
109
					
108
					ExtElement lienAide = Ext.get("lienAide");
110
					ExtElement lienAide = Ext.get("lienAide");
109
					if(lienAide != null) 
111
					if(lienAide != null) 
110
					{	
112
					{	
111
						lienAide.removeAllListeners();
113
						lienAide.removeAllListeners();
112
						lienAide.addListener("click", new EventCallback() {
114
						lienAide.addListener("click", new EventCallback() {
113
				
115
				
114
							@Override
116
							@Override
115
							public void execute(EventObject e) {
117
							public void execute(EventObject e) {
116
								String aideUrl = Configuration.getAideBaseUrl() ;
118
								String aideUrl = Configuration.getAideBaseUrl() ;
117
								Window.open(aideUrl, "", "") ;		
119
								Window.open(aideUrl, "", "") ;		
118
							}
120
							}
119
						});
121
						});
120
					}
122
					}
121
				}
123
				}
122
			});
124
			});
123
		}
125
		}
124
	}
126
	}
125
 
-
 
126
		
-
 
127
 
-
 
128
 
127
 
129
/**
128
/**
130
 * Affichage de l'etat de connexion
129
 * Affichage de l'etat de connexion
131
 * @param text
130
 * @param text
132
 * @param connecte
131
 * @param connecte
133
 */
132
 */
134
public void setEtat(String identifiant, boolean connecte) {
133
public void setEtat(String identifiant, boolean connecte) {
135
	
134
 
136
	if(connecte) {
135
	if(connecte) {
137
		labelEtatConnexion = "<div id=\"etatConnexion\">Connecté en tant que "+identifiant+" <a id=\"lienDeconnexion\" href=\"#\">(deconnexion)</a>" ;
136
		labelEtatConnexion = "<div id=\"etatConnexion\">Connecté en tant que "+identifiant+" <a id=\"lienDeconnexion\" href=\"#\">(deconnexion)</a>" ;
138
		labelEtatConnexion += "</div>" ;
137
		labelEtatConnexion += "</div>" ;
139
		
138
		
140
		
139
		
141
		labelEtatConnexion += liens ;
140
		labelEtatConnexion += liens ;
142
		setHtml(labelEtatConnexion);
141
		setHtml(labelEtatConnexion);
143
 
142
 
144
		ExtElement lienDeco = Ext.get("etatConnexion");
143
		ExtElement lienDeco = Ext.get("lienDeconnexion");
145
		if(lienDeco != null) 
144
		if(lienDeco != null) 
146
		{	
145
		{
147
			lienDeco.addListener("click", new EventCallback() {
146
			lienDeco.addListener("click", new EventCallback() {
148
 
147
 
149
				@Override
148
				@Override
150
				public void execute(EventObject e) {
149
				public void execute(EventObject e) {
151
					carnetEnLigneMediateur.deconnecterUtilisateur();
150
					carnetEnLigneMediateur.deconnecterUtilisateur();
152
				}
151
				}
153
				
152
				
154
			});
153
			});
155
		}
154
		}
156
		else
155
		else
157
		{
156
		{
158
			addListener(new ContainerListenerAdapter() 
157
			addListener(new ContainerListenerAdapter() 
159
			{
158
			{
160
				@Override
159
				@Override
161
				public void onAfterLayout(Container c) 
160
				public void onAfterLayout(Container c) 
162
				{
161
				{
163
					ExtElement lienDeco = Ext.get("etatConnexion");
162
					ExtElement lienDeco = Ext.get("etatConnexion");
164
					
163
					
165
					lienDeco.addListener("click", new EventCallback() {
164
					lienDeco.addListener("click", new EventCallback() {
166
 
165
 
167
						@Override
166
						@Override
168
						public void execute(EventObject e) {
167
						public void execute(EventObject e) {
169
							carnetEnLigneMediateur.deconnecterUtilisateur();
168
							carnetEnLigneMediateur.deconnecterUtilisateur();
170
							setEtat(null, false);
169
							setEtat(null, false);
171
						}
170
						}
172
						
171
						
173
					});
172
					});
174
				}
173
				}
175
			});
174
			});
176
		}
175
		}
177
	}
176
	}
178
	else
177
	else
179
	{
178
	{
180
		labelEtatConnexion = "<div id=\"etatConnexion\"> Utilisez ce carnet en ligne pour saisir vos observations, <a id=\"lienConnexion\" href=\"#\">identifiez-vous</a> pour les transmettre à Tela Botanica</div>";
179
		labelEtatConnexion = "<div id=\"etatConnexion\"> Utilisez ce carnet en ligne pour saisir vos observations, <a id=\"lienConnexion\" href=\"#\">identifiez-vous</a> pour les transmettre à Tela Botanica</div>";
181
		labelEtatConnexion += liens ;
180
		labelEtatConnexion += liens ;
182
		setHtml(labelEtatConnexion);
181
		setHtml(labelEtatConnexion);
183
		ExtElement lienCo = Ext.get("etatConnexion");
182
		ExtElement lienCo = Ext.get("etatConnexion");
184
		if(lienCo != null) {
183
		if(lienCo != null) {
185
			lienCo.addListener("click", new EventCallback() {
184
			lienCo.addListener("click", new EventCallback() {
186
 
185
 
187
				@Override
186
				@Override
188
				public void execute(EventObject e) {
187
				public void execute(EventObject e) {
189
					
188
					
190
					carnetEnLigneMediateur.afficherDialogueConnexion();
189
					carnetEnLigneMediateur.afficherDialogueConnexion();
191
				}
190
				}
192
				
191
				
193
			});
192
			});
194
		}
193
		}
195
		else 
194
		else 
196
		{
195
		{
197
			addListener(new ContainerListenerAdapter() {
196
			addListener(new ContainerListenerAdapter() {
198
				@Override
197
				@Override
199
				public void onAfterLayout(Container c) {
198
				public void onAfterLayout(Container c) {
200
					
199
					
201
					ExtElement lienCo = Ext.get("etatConnexion");
200
					ExtElement lienCo = Ext.get("etatConnexion");
202
					
201
					
203
					lienCo.addListener("click", new EventCallback() {
202
					lienCo.addListener("click", new EventCallback() {
204
 
203
 
205
						@Override
204
						@Override
206
						public void execute(EventObject e) {
205
						public void execute(EventObject e) {
207
							
206
							
208
							carnetEnLigneMediateur.afficherDialogueConnexion();
207
							carnetEnLigneMediateur.afficherDialogueConnexion();
209
						}
208
						}
210
						
209
						
211
					});
210
					});
212
				}
211
				}
213
			});
212
			});
214
		}
213
		}
215
	}
214
	}
216
		
215
		
217
	ExtElement lienAide = Ext.get("lienAide");
216
	ExtElement lienAide = Ext.get("lienAide");
218
	if(lienAide != null) 
217
	if(lienAide != null) 
219
	{	
218
	{	
220
		lienAide.removeAllListeners();
219
		lienAide.removeAllListeners();
221
		lienAide.addListener("click", new EventCallback() {
220
		lienAide.addListener("click", new EventCallback() {
222
 
221
 
223
			@Override
222
			@Override
224
			public void execute(EventObject e) {
223
			public void execute(EventObject e) {
225
				String aideUrl = Configuration.getAideBaseUrl() ;
224
				String aideUrl = Configuration.getAideBaseUrl() ;
226
				Window.open(aideUrl, "", "") ;		
225
				Window.open(aideUrl, "", "") ;		
227
			}
226
			}
228
		});
227
		});
229
	}
228
	}
230
	else
229
	else
231
	{
230
	{
232
		addListener(new ContainerListenerAdapter() {
231
		addListener(new ContainerListenerAdapter() {
233
			@Override
232
			@Override
234
			public void onAfterLayout(Container c) {
233
			public void onAfterLayout(Container c) {
235
				
234
				
236
				ExtElement lienAide = Ext.get("lienAide");
235
				ExtElement lienAide = Ext.get("lienAide");
237
				if(lienAide != null) 
236
				if(lienAide != null) 
238
				{	
237
				{	
239
					lienAide.removeAllListeners();
238
					lienAide.removeAllListeners();
240
					lienAide.addListener("click", new EventCallback() {
239
					lienAide.addListener("click", new EventCallback() {
241
			
240
			
242
						@Override
241
						@Override
243
						public void execute(EventObject e) {
242
						public void execute(EventObject e) {
244
							String aideUrl = Configuration.getAideBaseUrl() ;
243
							String aideUrl = Configuration.getAideBaseUrl() ;
245
							Window.open(aideUrl, "", "") ;		
244
							Window.open(aideUrl, "", "") ;		
246
						}
245
						}
247
					});
246
					});
248
				}
247
				}
249
			}
248
			}
250
		});
249
		});
251
	}
250
	}
252
 
251
 
253
	
252
	
254
}
253
}
255
 
254
 
256
}
255
}
257
 
256
 
258
 
257
 
259
/* +--Fin du code ---------------------------------------------------------------------------------------+
258
/* +--Fin du code ---------------------------------------------------------------------------------------+
260
* $Log$
259
* $Log$
261
* Revision 1.1  2008-11-13 11:27:05  ddelon
260
* Revision 1.1  2008-11-13 11:27:05  ddelon
262
* Reecriture gwt-ext
261
* Reecriture gwt-ext
263
*
262
*
264
* Revision 1.1  2008-06-09 14:19:37  ddelon
263
* Revision 1.1  2008-06-09 14:19:37  ddelon
265
* Initialisation observation
264
* Initialisation observation
266
*
265
*
267
* Revision 1.2  2008-04-28 13:10:44  ddelon
266
* Revision 1.2  2008-04-28 13:10:44  ddelon
268
* Integration MyGwt
267
* Integration MyGwt
269
*
268
*
270
* Revision 1.1  2008-01-02 21:26:04  ddelon
269
* Revision 1.1  2008-01-02 21:26:04  ddelon
271
* mise en place mygwt
270
* mise en place mygwt
272
*
271
*
273
* Revision 1.6  2007-12-22 14:48:53  ddelon
272
* Revision 1.6  2007-12-22 14:48:53  ddelon
274
* Documentation et refactorisation
273
* Documentation et refactorisation
275
*
274
*
276
* Revision 1.5  2007-09-17 19:25:34  ddelon
275
* Revision 1.5  2007-09-17 19:25:34  ddelon
277
* Documentation
276
* Documentation
278
*
277
*
279
* 
278
* 
280
*/
279
*/