Subversion Repositories eFlore/Applications.del

Rev

Rev 1467 | Details | Compare with Previous | 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();
1467 aurelien 77
		CacheClient.getInstance().mettreAjourUrlCourante();
1234 gduche 78
		new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue()).go(vue.getZoneResultats());
166 gduche 79
	}
161 gduche 80
 
445 benjamin 81
	protected void gererEvenements() {
1234 gduche 82
		// Gestion du clic sur les onglets
83
		vue.getOngletTout().addClickHandler(new ClickHandler() {
84
 
85
			@Override
86
			public void onClick(ClickEvent event) {
1467 aurelien 87
				CacheClient.getInstance().setFiltreStatut("tous");
1237 gduche 88
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 89
				chercherObservations();
90
				vue.setOngletToutActif();
91
			}
92
		});
1109 gduche 93
 
1234 gduche 94
		vue.getOngletADeterminer().addClickHandler(new ClickHandler() {
1109 gduche 95
 
96
			@Override
97
			public void onClick(ClickEvent event) {
1234 gduche 98
				CacheClient.getInstance().setFiltreStatut("adeterminer");
1237 gduche 99
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 100
				chercherObservations();
101
				vue.setOngletADeterminerActif();
1109 gduche 102
			}
103
		});
104
 
1234 gduche 105
		vue.getOngletEnDiscussion().addClickHandler(new ClickHandler() {
1109 gduche 106
 
107
			@Override
108
			public void onClick(ClickEvent event) {
1234 gduche 109
				CacheClient.getInstance().setFiltreStatut("endiscussion");
1237 gduche 110
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 111
				chercherObservations();
112
				vue.setOngletEnDiscussionActif();
1109 gduche 113
			}
114
		});
1444 raphael 115
 
116
		vue.getOngletValidees().addClickHandler(new ClickHandler() {
117
 
118
			@Override
119
			public void onClick(ClickEvent event) {
120
				CacheClient.getInstance().setFiltreStatut("validees");
121
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
122
				chercherObservations();
123
				vue.setOngletValideesActif();
124
			}
125
		});
359 benjamin 126
	}
335 benjamin 127
 
161 gduche 128
}