Rev 431 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/**David Delon david.delon@clapas.net 2007*//** EtatConnexionVue.java : affichage information portant sur le statut de la connexion utilisateur*** 1: Le programme affiche le statut connecte si l'utilisateur s'est connecte precedemment, sinon s'affiche le statut deconnecte* 2: Le programme arme les actions liees a la connection ou a la deconnection* - Connection : affichage de la boite de connexion* - Deconnexion : appel du service de deconnexion, et appel de la re-initialisation de l'affichage pour le nouvel identifiant utilisateur obtenu (identifiant de session)*/package org.tela_botanica.client.vues;import org.tela_botanica.client.CarnetEnLigneMediateur;import org.tela_botanica.client.modeles.Configuration;import com.google.gwt.user.client.Window;import com.gwtext.client.core.EventCallback;import com.gwtext.client.core.EventObject;import com.gwtext.client.core.Ext;import com.gwtext.client.core.ExtElement;import com.gwtext.client.widgets.Container;import com.gwtext.client.widgets.Panel;import com.gwtext.client.widgets.event.ContainerListenerAdapter;/*** Un indicateur d'etat de connexion** @author David Delon**/public class EtatConnexionVue extends Panel {/*** Médiateur associé à la vue*/private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;/*** Texte lié à la connexion.**/private String labelEtatConnexion = null;private String liens = "<div id=\"liensExt\"><a href=\"#\" id=\"lienAide\">Aide</a> <a href=\"#\" id=\"lienBugs\">Bugs</a> <a href=\"mailto:"+Configuration.getEmailContact()+"\" id=\"nousContacter\"> Nous contacter</a></div>" ;/*** Booleen indiquant si utilisateur connecte**/public EtatConnexionVue(CarnetEnLigneMediateur cm) {carnetEnLigneMediateur=cm;this.setBodyBorder(false) ;this.setBorder(false) ;this.setId("panneau_etat_connexion");// Pas de word wraplabelEtatConnexion="";this.setHtml(labelEtatConnexion+liens);ajouterListeners();}public void ajouterListeners() {ExtElement lienAide = Ext.get("lienAide");if(lienAide != null){lienAide.removeAllListeners();lienAide.addListener("click", new EventCallback() {public void execute(EventObject e) {String aideUrl = Configuration.getAideBaseUrl() ;Window.open(aideUrl, "", "") ;}});}else{addListener(new ContainerListenerAdapter() {public void onAfterLayout(Container c) {ExtElement lienAide = Ext.get("lienAide");if(lienAide != null){lienAide.removeAllListeners();lienAide.addListener("click", new EventCallback() {public void execute(EventObject e) {String aideUrl = Configuration.getAideBaseUrl() ;Window.open(aideUrl, "", "") ;}});}}});}ExtElement lienBugs = Ext.get("lienBugs");if(lienBugs != null){lienBugs.removeAllListeners();lienBugs.addListener("click", new EventCallback() {public void execute(EventObject e) {String bugsURL = Configuration.getSuiviBugUrl() ;Window.open(bugsURL, "", "") ;}});}else{addListener(new ContainerListenerAdapter() {public void onAfterLayout(Container c) {ExtElement lienBugs = Ext.get("lienBugs");if(lienBugs != null){lienBugs.removeAllListeners();lienBugs.addListener("click", new EventCallback() {public void execute(EventObject e) {String bugsURL = Configuration.getSuiviBugUrl() ;Window.open(bugsURL, "", "") ;}});}}});}}/*** Affichage de l'etat de connexion* @param text* @param connecte*/public void setEtat(String identifiant, boolean connecte) {if(connecte) {labelEtatConnexion = "<div id=\"etatConnexion\">Connecté en tant que "+identifiant+" <a id=\"lienDeconnexion\" href=\"#\">(deconnexion)</a>" ;labelEtatConnexion += "</div>" ;labelEtatConnexion += liens ;setHtml(labelEtatConnexion);ExtElement lienDeco = Ext.get("etatConnexion");if(lienDeco != null){lienDeco.addListener("click", new EventCallback() {public void execute(EventObject e) {carnetEnLigneMediateur.deconnecterUtilisateur();}});}else{addListener(new ContainerListenerAdapter(){public void onAfterLayout(Container c){ExtElement lienDeco = Ext.get("etatConnexion");lienDeco.addListener("click", new EventCallback() {public void execute(EventObject e) {carnetEnLigneMediateur.deconnecterUtilisateur();setEtat(null, false);}});}});}}else{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>";labelEtatConnexion += liens ;setHtml(labelEtatConnexion);ExtElement lienCo = Ext.get("etatConnexion");if(lienCo != null) {lienCo.addListener("click", new EventCallback() {public void execute(EventObject e) {carnetEnLigneMediateur.afficherDialogueConnexion();}});}else{addListener(new ContainerListenerAdapter() {public void onAfterLayout(Container c) {ExtElement lienCo = Ext.get("etatConnexion");lienCo.addListener("click", new EventCallback() {public void execute(EventObject e) {carnetEnLigneMediateur.afficherDialogueConnexion();}});}});}}ExtElement lienBugs = Ext.get("lienBugs");if(lienBugs != null){lienBugs.removeAllListeners();lienBugs.addListener("click", new EventCallback() {public void execute(EventObject e) {String bugsURL = Configuration.getSuiviBugUrl() ;Window.open(bugsURL, "", "") ;}});}else{addListener(new ContainerListenerAdapter() {public void onAfterLayout(Container c) {ExtElement lienBugs = Ext.get("lienBugs");if(lienBugs != null){lienBugs.removeAllListeners();lienBugs.addListener("click", new EventCallback() {public void execute(EventObject e) {String bugsURL = Configuration.getSuiviBugUrl() ;Window.open(bugsURL, "", "") ;}});}}});}ExtElement lienAide = Ext.get("lienAide");if(lienAide != null){lienAide.removeAllListeners();lienAide.addListener("click", new EventCallback() {public void execute(EventObject e) {String aideUrl = Configuration.getAideBaseUrl() ;Window.open(aideUrl, "", "") ;}});}else{addListener(new ContainerListenerAdapter() {public void onAfterLayout(Container c) {ExtElement lienAide = Ext.get("lienAide");if(lienAide != null){lienAide.removeAllListeners();lienAide.addListener("click", new EventCallback() {public void execute(EventObject e) {String aideUrl = Configuration.getAideBaseUrl() ;Window.open(aideUrl, "", "") ;}});}}});}}}/* +--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.2 2008-04-28 13:10:44 ddelon* Integration MyGwt** Revision 1.1 2008-01-02 21:26:04 ddelon* mise en place mygwt** Revision 1.6 2007-12-22 14:48:53 ddelon* Documentation et refactorisation** Revision 1.5 2007-09-17 19:25:34 ddelon* Documentation***/