Subversion Repositories eFlore/Applications.del

Rev

Rev 1010 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
479 benjamin 1
package org.tela_botanica.del.client.vues.rechercheobservations.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;
161 gduche 5
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
1010 aurelien 6
import org.tela_botanica.del.client.config.Config;
453 aurelien 7
import org.tela_botanica.del.client.modeles.ModeRecherche;
392 aurelien 8
import org.tela_botanica.del.client.services.rest.ObservationService;
445 benjamin 9
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
10
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.ResultatsRechercheObservationsPresenteur;
11
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.ResultatsRechercheObservationsVue;
161 gduche 12
 
1010 aurelien 13
import com.google.gwt.event.dom.client.ClickEvent;
14
import com.google.gwt.event.dom.client.ClickHandler;
15
import com.google.gwt.event.dom.client.HasClickHandlers;
16
import com.google.gwt.user.client.Window;
161 gduche 17
import com.google.gwt.user.client.ui.HasWidgets;
309 aurelien 18
import com.google.gwt.user.client.ui.IsWidget;
161 gduche 19
 
479 benjamin 20
public class MoteurRechercheObservationsPresenteur extends Presenteur {
436 benjamin 21
 
479 benjamin 22
	public interface Vue extends IsWidget {
330 gduche 23
		public HasWidgets getZoneRecherche();
436 benjamin 24
 
445 benjamin 25
		public HasWidgets getZoneResultats();
455 benjamin 26
 
1010 aurelien 27
		HasClickHandlers getLienAjoutObservation();
1101 gduche 28
 
29
		public String getValeurRadioStatut();
1010 aurelien 30
 
309 aurelien 31
	}
335 benjamin 32
 
309 aurelien 33
	private Vue vue;
436 benjamin 34
 
479 benjamin 35
	public MoteurRechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
309 aurelien 36
		this.vue = vue;
161 gduche 37
	}
38
 
39
	public void go(HasWidgets composite) {
436 benjamin 40
 
309 aurelien 41
		composite.add(vue.asWidget());
330 gduche 42
		ajouterMoteurRechercheAvancee();
455 benjamin 43
		gererEvenements();
161 gduche 44
	}
335 benjamin 45
 
330 gduche 46
	protected void ajouterMoteurRechercheAvancee() {
406 gduche 47
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
453 aurelien 48
		}, ModeRecherche.MODE_OBSERVATION) {
335 benjamin 49
 
330 gduche 50
			@Override
335 benjamin 51
			public void lancerRecherche() {
445 benjamin 52
				chercherObservations();
161 gduche 53
			}
330 gduche 54
		};
55
		presenteur.go(vue.getZoneRecherche());
161 gduche 56
	}
57
 
445 benjamin 58
	public void chercherObservations() {
59
		vue.getZoneResultats().clear();
1101 gduche 60
		new ResultatsRechercheObservationsPresenteur(new ObservationServiceConcret(), new ResultatsRechercheObservationsVue(), vue.getValeurRadioStatut()).go(vue.getZoneResultats());
166 gduche 61
	}
161 gduche 62
 
445 benjamin 63
	protected void gererEvenements() {
1010 aurelien 64
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {
65
			@Override
66
			public void onClick(ClickEvent event) {
67
				Config config = new Config();
68
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
69
			}
70
		});
359 benjamin 71
	}
335 benjamin 72
 
161 gduche 73
}