Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
21 aurelien 1
package org.tela_botanica.del.client.gestionhistorique;
2
 
1092 gduche 3
import org.tela_botanica.del.client.cache.CacheClient;
347 aurelien 4
import org.tela_botanica.del.client.services.rest.ImageServiceConcret;
392 aurelien 5
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
959 benjamin 6
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
73 benjamin 7
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEflorePresenteur;
285 benjamin 8
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEfloreVue;
1206 gduche 9
import org.tela_botanica.del.client.vues.entete.EntetePresenteur;
10
import org.tela_botanica.del.client.vues.entete.EnteteVue;
1196 gduche 11
import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplantePresenteur;
12
import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplanteVue;
13
import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationPresenteur;
14
import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationVue;
15
import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraPresenteur;
16
import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraVue;
17
import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationPresenteur;
18
import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationVue;
21 aurelien 19
 
20
import com.google.gwt.event.logical.shared.ValueChangeEvent;
21
import com.google.gwt.event.logical.shared.ValueChangeHandler;
1188 gduche 22
import com.google.gwt.user.client.ui.HTML;
23
import com.google.gwt.user.client.ui.Label;
1183 gduche 24
import com.google.gwt.user.client.ui.Panel;
21 aurelien 25
import com.google.gwt.user.client.ui.RootPanel;
26
 
27
/**
28
 * @author Benjamin
25 gduche 29
 *
21 aurelien 30
 */
25 gduche 31
public class GestionnaireHistorique implements ValueChangeHandler<String> {
21 aurelien 32
 
25 gduche 33
	/**
34
	 * Évènement lorsque l'historique change. L'action par défaut affiche la
35
	 * page d'accueil.
36
	 * */
37
	public void onValueChange(ValueChangeEvent<String> event) {
21 aurelien 38
 
1196 gduche 39
 
40
		//1. définition des variables
1183 gduche 41
		String eventValue = event.getValue();
42
		Panel contenu = RootPanel.get("contenu");
1206 gduche 43
		Panel zoneEntete = RootPanel.get("zoneEntete");
1183 gduche 44
		CacheClient cache = CacheClient.getInstance();
1206 gduche 45
		cache.setPageCourante(eventValue);
1183 gduche 46
 
47
		//2. nettoyer le contenu
48
		contenu.clear();
1206 gduche 49
		zoneEntete.clear();
1183 gduche 50
 
51
 
1188 gduche 52
		//3. Gérer le titre
1206 gduche 53
		String titre = "IdentiPlante";
1222 gduche 54
		if (eventValue.startsWith(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
1206 gduche 55
			titre = "PictoFlora";
1188 gduche 56
		}
1206 gduche 57
 
1222 gduche 58
		if (eventValue.startsWith(ConstantesNavigation.HOME)) {
1189 gduche 59
			String home = cache.getHome();
1222 gduche 60
			if (home.startsWith(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
1206 gduche 61
				titre = "PictoFlora";
62
			}
1189 gduche 63
		}
1206 gduche 64
 
65
		if (eventValue.startsWith(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) {
66
			titre = "PictoFlora";
67
		}
68
 
69
		//3. gérer l'entete
70
		EntetePresenteur entetePresenteur = new EntetePresenteur(new EnteteVue(titre));
71
		entetePresenteur.go(zoneEntete);
72
 
73
 
1183 gduche 74
		//Actions en fonction de la valeur de l'évènement
1222 gduche 75
		if (eventValue.startsWith(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
1183 gduche 76
			cache.setHome(ConstantesNavigation.PAGE_RECHERCHE_IMAGES);
77
			lancerMoteurRechercheImages(contenu);
1196 gduche 78
		} else if (eventValue.startsWith(ConstantesNavigation.PAGE_VALIDATION)) {
79
			IdentiplanteDeterminationPresenteur presenteur = new IdentiplanteDeterminationPresenteur(new IdentiplanteDeterminationVue(), new ObservationServiceConcret());
1183 gduche 80
			presenteur.go(contenu);
1196 gduche 81
		} else if (eventValue.startsWith(ConstantesNavigation.PAGE_VALIDATION_PICTOFLORA)) {
82
			PictofloraDeterminationPresenteur presenteur = new PictofloraDeterminationPresenteur(new PictofloraDeterminationVue(), new ObservationServiceConcret(), new ProtocoleServiceConcret());
83
			presenteur.go(contenu);
1222 gduche 84
		} else if (eventValue.startsWith(ConstantesNavigation.PAGE_COMPARAISON_EFLORE)) {
1183 gduche 85
			ComparaisonEflorePresenteur presenteur = new ComparaisonEflorePresenteur(new ComparaisonEfloreVue(), new ImageServiceConcret());
86
			presenteur.go(contenu);
1222 gduche 87
		} else if (eventValue.startsWith(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS)) {
1183 gduche 88
			cache.setHome(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS);
89
			lancerMoteurRechercheObservation(contenu);
1222 gduche 90
		} else if (eventValue.startsWith(ConstantesNavigation.HOME)) {
1183 gduche 91
			String home = cache.getHome();
1222 gduche 92
			if (home.startsWith(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
1183 gduche 93
				lancerMoteurRechercheImages(contenu);
1092 gduche 94
			} else {
1183 gduche 95
				lancerMoteurRechercheObservation(contenu);
1092 gduche 96
			}
25 gduche 97
		}
1035 benjamin 98
		else{
1183 gduche 99
			lancerMoteurRechercheObservation(contenu);
1035 benjamin 100
		}
25 gduche 101
	}
1183 gduche 102
 
1189 gduche 103
 
1183 gduche 104
	/**
1189 gduche 105
	 * Afficher ler titre Identiplance
106
	 * */
107
	public void afficherTitreIdp(Panel titre) {
108
		titre.clear();
109
		HTML html = new HTML("<h1>IdentiPlante</h1>");
110
		titre.add(html);
111
	}
112
 
113
	/**
114
	 * Afficher ler titre Identiplance
115
	 * */
116
	public void afficherTitrePictoFlora(Panel titre) {
117
		titre.clear();
1194 gduche 118
		HTML html = new HTML("<h1>PictoFlora</h1>");
1189 gduche 119
		titre.add(html);
120
	}
121
 
122
	/**
1183 gduche 123
	 * Générer la page de recherche observation et l'afficher dans panneau
124
	 * @param Panel panneau le panneau pour afficher le résultat
125
	 * */
126
	public void lancerMoteurRechercheObservation(Panel panneau) {
1196 gduche 127
		MoteurIdentiplantePresenteur presenteur = new MoteurIdentiplantePresenteur(new ObservationServiceConcret(), new MoteurIdentiplanteVue());
1183 gduche 128
		presenteur.go(panneau);
129
	}
130
 
131
	/**
132
	 * Générer la page de recherche images et l'afficher dans panneau
133
	 * @param Panel panneau le panneau pour afficher le résultat
134
	 * */
135
	public void lancerMoteurRechercheImages(Panel panneau) {
1196 gduche 136
		MoteurPictofloraPresenteur presenteur = new MoteurPictofloraPresenteur(new MoteurPictofloraVue(), new ProtocoleServiceConcret());
1183 gduche 137
		presenteur.go(panneau);
138
	}
21 aurelien 139
}