Subversion Repositories eFlore/Applications.cel

Rev

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