Subversion Repositories eFlore/Applications.del

Rev

Rev 479 | Rev 1101 | 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();
28
 
309 aurelien 29
	}
335 benjamin 30
 
309 aurelien 31
	private Vue vue;
436 benjamin 32
 
479 benjamin 33
	public MoteurRechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
309 aurelien 34
		this.vue = vue;
161 gduche 35
	}
36
 
37
	public void go(HasWidgets composite) {
436 benjamin 38
 
309 aurelien 39
		composite.add(vue.asWidget());
330 gduche 40
		ajouterMoteurRechercheAvancee();
455 benjamin 41
		gererEvenements();
161 gduche 42
	}
335 benjamin 43
 
330 gduche 44
	protected void ajouterMoteurRechercheAvancee() {
406 gduche 45
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
453 aurelien 46
		}, ModeRecherche.MODE_OBSERVATION) {
335 benjamin 47
 
330 gduche 48
			@Override
335 benjamin 49
			public void lancerRecherche() {
445 benjamin 50
				chercherObservations();
161 gduche 51
			}
330 gduche 52
		};
53
		presenteur.go(vue.getZoneRecherche());
161 gduche 54
	}
55
 
445 benjamin 56
	public void chercherObservations() {
57
		vue.getZoneResultats().clear();
58
		new ResultatsRechercheObservationsPresenteur(new ObservationServiceConcret(), new ResultatsRechercheObservationsVue()).go(vue.getZoneResultats());
166 gduche 59
	}
161 gduche 60
 
445 benjamin 61
	protected void gererEvenements() {
1010 aurelien 62
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {
63
			@Override
64
			public void onClick(ClickEvent event) {
65
				Config config = new Config();
66
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
67
			}
68
		});
359 benjamin 69
	}
335 benjamin 70
 
161 gduche 71
}