Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
2 aperonnet 1
package org.tela_botanica.client;
2
 
2615 aurelien 3
import org.tela_botanica.client.i18n.Msg;
1958 aurelien 4
import org.tela_botanica.client.modeles.objets.Configuration;
2649 aurelien 5
import org.tela_botanica.client.util.Util;
2846 mathias 6
import org.tela_botanica.client.util.Analytics;
1958 aurelien 7
 
8
import com.google.gwt.ajaxloader.client.AjaxLoader;
9
import com.google.gwt.ajaxloader.client.AjaxLoader.AjaxLoaderOptions;
2 aperonnet 10
import com.google.gwt.core.client.EntryPoint;
2649 aurelien 11
import com.google.gwt.dom.client.Element;
12
import com.google.gwt.user.client.DOM;
326 aurelien 13
import com.google.gwt.user.client.Timer;
2617 mathias 14
import com.google.gwt.user.client.Window.Location;
326 aurelien 15
import com.gwtext.client.core.Ext;
2 aperonnet 16
import com.gwtext.client.widgets.Viewport;
17
 
18
/**
19
 * Entry point classes define <code>onModuleLoad()</code>.
20
 */
21
public class cel2 implements EntryPoint {
22
 
7 aperonnet 23
	/**
24
	 * This is the entry point method.
25
	 */
1287 aurelien 26
	@Override
1542 aurelien 27
	public void onModuleLoad() {
12 david 28
 
2392 aurelien 29
		/*
1958 aurelien 30
		// A décommenter + compiler en detailed dans le cas d'une erreur
31
		// survernant uniquement sur le serveur
2392 aurelien 32
		GWT.setUncaughtExceptionHandler(null);
2033 aurelien 33
		GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() {
34
			@Override
35
			public void onUncaughtException(Throwable e) {
36
					Window.alert("uncaught: " + e.getMessage());
37
					String s = buildStackTrace(e, "RuntimeException:\n");
38
					Window.alert(s);
39
					e.printStackTrace();
1958 aurelien 40
			}
2392 aurelien 41
		});
42
		*/
2649 aurelien 43
 
2033 aurelien 44
		// TODO: config devrait être un singleton
2614 aurelien 45
		Configuration config = new Configuration();
2649 aurelien 46
 
2653 aurelien 47
		initialiserLangue();
2846 mathias 48
 
49
		// stats
50
		Analytics.pageVisitee();
2653 aurelien 51
 
2649 aurelien 52
		Element elem = DOM.getElementById("texte_chargement");
53
		elem.setInnerText(Msg.get("chargement"));
2617 mathias 54
 
2033 aurelien 55
		// Chargement de l'api google maps v3 avant l'initialisation pour
56
		// éviter des "complications"
57
		// TODO: fabriquer une classe qui cherche dans la config une liste d'api
58
		// à charger, les instancie et ensuite lance l'application
1958 aurelien 59
		AjaxLoaderOptions optAj = AjaxLoaderOptions.newInstance();
60
		optAj.setOtherParms("key="+Configuration.getCleGoogleMaps()+"&sensor=false");
61
 
62
		Runnable callback = new Runnable() {
63
			public void run() {
64
				initialiserCel();
65
			};
66
		};
67
		AjaxLoader.loadApi("maps", "3", callback, optAj);
68
	}
69
 
70
	private void initialiserCel() {
71
		CarnetEnLigneMediateur carnetEnLigneMediateur= CarnetEnLigneMediateur.Instance();
72
		new Viewport(carnetEnLigneMediateur.getPanneauPrincipalCarnetEnLigne()) ;
1542 aurelien 73
		carnetEnLigneMediateur.getEtatUtilisateur() ;
74
 
75
		Timer t = new Timer() {
76
			@Override
77
			public void run() {
2649 aurelien 78
				Ext.get("loading").hide();
343 aurelien 79
			}
1542 aurelien 80
		};
81
 
2649 aurelien 82
		t.schedule(1500);
7 aperonnet 83
	}
2653 aurelien 84
 
85
	private void initialiserLangue() {
86
		// Si la langue est précisée dans l'url on la prend,
87
		// Sinon on tente de prendre celle du systeme si elle est supportée
88
		// Sinon on prend celle par défaut
89
		// @TODO: avertissement si la langue indiquée dans l'url n'est pas la bonne
90
		String langueURL = Location.getParameter("lang");
91
		String langueSysteme = Util.obtenirCodeLangueSysteme();
92
 
93
		if (! Msg.init()) {
94
			Util.LogVersFirebug("La langue par défaut \"" + Msg.getLangueDefaut() + "\" n'a pas pu être chargée");
95
		}
96
 
97
		if(langueSysteme != null && !langueSysteme.equals("")) {
98
			if(Msg.langueEstDisponible(langueSysteme)) {
99
				Msg.setLangue(langueSysteme);
100
			}
101
		}
102
 
103
		if (langueURL != null && ! langueURL.equals("")) {
104
			Util.LogVersFirebug("Langue passée dans l'URL: " + langueURL);
105
			if (! Msg.setLangue(langueURL)) {
106
				Util.LogVersFirebug("La langue demandée \"" + langueURL + "\" n'a pas pu être chargée");
107
			}
108
		}
109
	}
2 aperonnet 110
}