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();
1109 gduche 36
 
1234 gduche 37
		public void setOngletADeterminerActif();
38
 
39
		public void setOngletToutActif();
40
 
41
		public void setOngletEnDiscussionActif();
42
 
309 aurelien 43
	}
335 benjamin 44
 
309 aurelien 45
	private Vue vue;
436 benjamin 46
 
1196 gduche 47
	public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
309 aurelien 48
		this.vue = vue;
161 gduche 49
	}
50
 
51
	public void go(HasWidgets composite) {
436 benjamin 52
 
309 aurelien 53
		composite.add(vue.asWidget());
330 gduche 54
		ajouterMoteurRechercheAvancee();
455 benjamin 55
		gererEvenements();
1183 gduche 56
 
161 gduche 57
	}
335 benjamin 58
 
330 gduche 59
	protected void ajouterMoteurRechercheAvancee() {
406 gduche 60
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
453 aurelien 61
		}, ModeRecherche.MODE_OBSERVATION) {
335 benjamin 62
 
330 gduche 63
			@Override
335 benjamin 64
			public void lancerRecherche() {
445 benjamin 65
				chercherObservations();
161 gduche 66
			}
330 gduche 67
		};
68
		presenteur.go(vue.getZoneRecherche());
161 gduche 69
	}
70
 
445 benjamin 71
	public void chercherObservations() {
72
		vue.getZoneResultats().clear();
1234 gduche 73
		new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue()).go(vue.getZoneResultats());
166 gduche 74
	}
161 gduche 75
 
445 benjamin 76
	protected void gererEvenements() {
1234 gduche 77
		// Gestion du clic sur les onglets
78
		vue.getOngletTout().addClickHandler(new ClickHandler() {
79
 
80
			@Override
81
			public void onClick(ClickEvent event) {
82
				CacheClient.getInstance().supprimerFiltreStatut();
1237 gduche 83
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 84
				chercherObservations();
85
				vue.setOngletToutActif();
86
			}
87
		});
1109 gduche 88
 
1234 gduche 89
		vue.getOngletADeterminer().addClickHandler(new ClickHandler() {
1109 gduche 90
 
91
			@Override
92
			public void onClick(ClickEvent event) {
1234 gduche 93
				CacheClient.getInstance().setFiltreStatut("adeterminer");
1237 gduche 94
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 95
				chercherObservations();
96
				vue.setOngletADeterminerActif();
1109 gduche 97
			}
98
		});
99
 
1234 gduche 100
		vue.getOngletEnDiscussion().addClickHandler(new ClickHandler() {
1109 gduche 101
 
102
			@Override
103
			public void onClick(ClickEvent event) {
1234 gduche 104
				CacheClient.getInstance().setFiltreStatut("endiscussion");
1237 gduche 105
				CacheClient.getInstance().setPageCouranteRechercheObservations(1);
1234 gduche 106
				chercherObservations();
107
				vue.setOngletEnDiscussionActif();
1109 gduche 108
			}
109
		});
359 benjamin 110
	}
335 benjamin 111
 
161 gduche 112
}