Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1196 gduche 1
package org.tela_botanica.del.client.vues.identiplante.moteur;
161 gduche 2
 
1234 gduche 3
import org.tela_botanica.del.client.cache.CacheClient;
330 gduche 4
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;
5
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;
1183 gduche 6
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur;
7
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
161 gduche 8
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
1010 aurelien 9
import org.tela_botanica.del.client.config.Config;
453 aurelien 10
import org.tela_botanica.del.client.modeles.ModeRecherche;
392 aurelien 11
import org.tela_botanica.del.client.services.rest.ObservationService;
445 benjamin 12
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
1196 gduche 13
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur;
14
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplanteVue;
161 gduche 15
 
1010 aurelien 16
import com.google.gwt.event.dom.client.ClickEvent;
17
import com.google.gwt.event.dom.client.ClickHandler;
18
import com.google.gwt.event.dom.client.HasClickHandlers;
19
import com.google.gwt.user.client.Window;
161 gduche 20
import com.google.gwt.user.client.ui.HasWidgets;
309 aurelien 21
import com.google.gwt.user.client.ui.IsWidget;
1183 gduche 22
import com.google.gwt.user.client.ui.Panel;
161 gduche 23
 
1196 gduche 24
public class MoteurIdentiplantePresenteur extends Presenteur {
436 benjamin 25
 
479 benjamin 26
	public interface Vue extends IsWidget {
330 gduche 27
		public HasWidgets getZoneRecherche();
436 benjamin 28
 
445 benjamin 29
		public HasWidgets getZoneResultats();
455 benjamin 30
 
1234 gduche 31
		public HasClickHandlers getOngletEnDiscussion();
1109 gduche 32
 
1234 gduche 33
		public HasClickHandlers getOngletADeterminer();
1109 gduche 34
 
1234 gduche 35
		public HasClickHandlers getOngletTout();
1444 raphael 36
 
37
		public HasClickHandlers getOngletValidees();
1109 gduche 38
 
1234 gduche 39
		public void setOngletADeterminerActif();
40
 
41
		public void setOngletToutActif();
42
 
43
		public void setOngletEnDiscussionActif();
1444 raphael 44
 
45
		public void setOngletValideesActif();
1234 gduche 46
 
309 aurelien 47
	}
335 benjamin 48
 
309 aurelien 49
	private Vue vue;
436 benjamin 50
 
1196 gduche 51
	public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
309 aurelien 52
		this.vue = vue;
161 gduche 53
	}
54
 
55
	public void go(HasWidgets composite) {
436 benjamin 56
 
309 aurelien 57
		composite.add(vue.asWidget());
330 gduche 58
		ajouterMoteurRechercheAvancee();
455 benjamin 59
		gererEvenements();
1183 gduche 60
 
161 gduche 61
	}
335 benjamin 62
 
330 gduche 63
	protected void ajouterMoteurRechercheAvancee() {
406 gduche 64
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
453 aurelien 65
		}, ModeRecherche.MODE_OBSERVATION) {
335 benjamin 66
 
330 gduche 67
			@Override
335 benjamin 68
			public void lancerRecherche() {
445 benjamin 69
				chercherObservations();
161 gduche 70
			}
330 gduche 71
		};
72
		presenteur.go(vue.getZoneRecherche());
161 gduche 73
	}
74
 
445 benjamin 75
	public void chercherObservations() {
76
		vue.getZoneResultats().clear();
1234 gduche 77
		new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue()).go(vue.getZoneResultats());
166 gduche 78
	}
161 gduche 79
 
445 benjamin 80
	protected void gererEvenements() {
1234 gduche 81
		// Gestion du clic sur les onglets
82
		vue.getOngletTout().addClickHandler(new ClickHandler() {
83
 
84
			@Override
85
			public void onClick(ClickEvent event) {
86
				CacheClient.getInstance().supprimerFiltreStatut();
1237 gduche 87
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 88
				chercherObservations();
89
				vue.setOngletToutActif();
90
			}
91
		});
1109 gduche 92
 
1234 gduche 93
		vue.getOngletADeterminer().addClickHandler(new ClickHandler() {
1109 gduche 94
 
95
			@Override
96
			public void onClick(ClickEvent event) {
1234 gduche 97
				CacheClient.getInstance().setFiltreStatut("adeterminer");
1237 gduche 98
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 99
				chercherObservations();
100
				vue.setOngletADeterminerActif();
1109 gduche 101
			}
102
		});
103
 
1234 gduche 104
		vue.getOngletEnDiscussion().addClickHandler(new ClickHandler() {
1109 gduche 105
 
106
			@Override
107
			public void onClick(ClickEvent event) {
1234 gduche 108
				CacheClient.getInstance().setFiltreStatut("endiscussion");
1237 gduche 109
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 110
				chercherObservations();
111
				vue.setOngletEnDiscussionActif();
1109 gduche 112
			}
113
		});
1444 raphael 114
 
115
		vue.getOngletValidees().addClickHandler(new ClickHandler() {
116
 
117
			@Override
118
			public void onClick(ClickEvent event) {
119
				CacheClient.getInstance().setFiltreStatut("validees");
120
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
121
				chercherObservations();
122
				vue.setOngletValideesActif();
123
			}
124
		});
359 benjamin 125
	}
335 benjamin 126
 
161 gduche 127
}