Subversion Repositories eFlore/Applications.del

Rev

Rev 1010 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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