Subversion Repositories eFlore/Applications.del

Rev

Rev 1206 | Rev 1237 | Go to most recent revision | 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();
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();
83
				chercherObservations();
84
				vue.setOngletToutActif();
85
			}
86
		});
1109 gduche 87
 
1234 gduche 88
		vue.getOngletADeterminer().addClickHandler(new ClickHandler() {
1109 gduche 89
 
90
			@Override
91
			public void onClick(ClickEvent event) {
1234 gduche 92
				CacheClient.getInstance().setFiltreStatut("adeterminer");
93
				chercherObservations();
94
				vue.setOngletADeterminerActif();
1109 gduche 95
			}
96
		});
97
 
1234 gduche 98
		vue.getOngletEnDiscussion().addClickHandler(new ClickHandler() {
1109 gduche 99
 
100
			@Override
101
			public void onClick(ClickEvent event) {
1234 gduche 102
				CacheClient.getInstance().setFiltreStatut("endiscussion");
103
				chercherObservations();
104
				vue.setOngletEnDiscussionActif();
1109 gduche 105
			}
106
		});
359 benjamin 107
	}
335 benjamin 108
 
161 gduche 109
}