Subversion Repositories eFlore/Applications.del

Rev

Rev 1196 | Rev 1234 | 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
 
330 gduche 3
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;
4
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;
1183 gduche 5
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur;
6
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
161 gduche 7
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
1010 aurelien 8
import org.tela_botanica.del.client.config.Config;
453 aurelien 9
import org.tela_botanica.del.client.modeles.ModeRecherche;
392 aurelien 10
import org.tela_botanica.del.client.services.rest.ObservationService;
445 benjamin 11
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
1196 gduche 12
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur;
13
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplanteVue;
161 gduche 14
 
1010 aurelien 15
import com.google.gwt.event.dom.client.ClickEvent;
16
import com.google.gwt.event.dom.client.ClickHandler;
17
import com.google.gwt.event.dom.client.HasClickHandlers;
18
import com.google.gwt.user.client.Window;
161 gduche 19
import com.google.gwt.user.client.ui.HasWidgets;
309 aurelien 20
import com.google.gwt.user.client.ui.IsWidget;
1183 gduche 21
import com.google.gwt.user.client.ui.Panel;
161 gduche 22
 
1196 gduche 23
public class MoteurIdentiplantePresenteur extends Presenteur {
436 benjamin 24
 
479 benjamin 25
	public interface Vue extends IsWidget {
330 gduche 26
		public HasWidgets getZoneRecherche();
436 benjamin 27
 
445 benjamin 28
		public HasWidgets getZoneResultats();
455 benjamin 29
 
1101 gduche 30
		public String getValeurRadioStatut();
1109 gduche 31
 
32
		public HasClickHandlers getRadioADeterminer();
33
 
34
		public HasClickHandlers getRadioEnDiscussion();
35
 
36
		public void decocherRadioTout();
1010 aurelien 37
 
309 aurelien 38
	}
335 benjamin 39
 
309 aurelien 40
	private Vue vue;
436 benjamin 41
 
1196 gduche 42
	public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
309 aurelien 43
		this.vue = vue;
161 gduche 44
	}
45
 
46
	public void go(HasWidgets composite) {
436 benjamin 47
 
309 aurelien 48
		composite.add(vue.asWidget());
330 gduche 49
		ajouterMoteurRechercheAvancee();
455 benjamin 50
		gererEvenements();
1183 gduche 51
 
161 gduche 52
	}
335 benjamin 53
 
330 gduche 54
	protected void ajouterMoteurRechercheAvancee() {
406 gduche 55
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
453 aurelien 56
		}, ModeRecherche.MODE_OBSERVATION) {
335 benjamin 57
 
330 gduche 58
			@Override
335 benjamin 59
			public void lancerRecherche() {
445 benjamin 60
				chercherObservations();
161 gduche 61
			}
330 gduche 62
		};
63
		presenteur.go(vue.getZoneRecherche());
161 gduche 64
	}
65
 
445 benjamin 66
	public void chercherObservations() {
67
		vue.getZoneResultats().clear();
1196 gduche 68
		new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue(), vue.getValeurRadioStatut()).go(vue.getZoneResultats());
166 gduche 69
	}
161 gduche 70
 
445 benjamin 71
	protected void gererEvenements() {
1109 gduche 72
 
73
		vue.getRadioADeterminer().addClickHandler(new ClickHandler() {
74
 
75
			@Override
76
			public void onClick(ClickEvent event) {
77
				vue.decocherRadioTout();
78
			}
79
		});
80
 
81
		vue.getRadioEnDiscussion().addClickHandler(new ClickHandler() {
82
 
83
			@Override
84
			public void onClick(ClickEvent event) {
85
				vue.decocherRadioTout();
86
			}
87
		});
359 benjamin 88
	}
335 benjamin 89
 
161 gduche 90
}