Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1195 Rev 1196
1
package org.tela_botanica.del.client.vues.rechercheobservations.moteur;
1
package org.tela_botanica.del.client.vues.identiplante.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.partageurl.PartageUrlPresenteur;
5
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur;
6
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
6
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
7
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
7
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
8
import org.tela_botanica.del.client.config.Config;
8
import org.tela_botanica.del.client.config.Config;
9
import org.tela_botanica.del.client.modeles.ModeRecherche;
9
import org.tela_botanica.del.client.modeles.ModeRecherche;
10
import org.tela_botanica.del.client.services.rest.ObservationService;
10
import org.tela_botanica.del.client.services.rest.ObservationService;
11
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
11
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
12
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.ResultatsRechercheObservationsPresenteur;
12
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur;
13
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.ResultatsRechercheObservationsVue;
13
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplanteVue;
14
 
14
 
15
import com.google.gwt.event.dom.client.ClickEvent;
15
import com.google.gwt.event.dom.client.ClickEvent;
16
import com.google.gwt.event.dom.client.ClickHandler;
16
import com.google.gwt.event.dom.client.ClickHandler;
17
import com.google.gwt.event.dom.client.HasClickHandlers;
17
import com.google.gwt.event.dom.client.HasClickHandlers;
18
import com.google.gwt.user.client.Window;
18
import com.google.gwt.user.client.Window;
19
import com.google.gwt.user.client.ui.HasWidgets;
19
import com.google.gwt.user.client.ui.HasWidgets;
20
import com.google.gwt.user.client.ui.IsWidget;
20
import com.google.gwt.user.client.ui.IsWidget;
21
import com.google.gwt.user.client.ui.Panel;
21
import com.google.gwt.user.client.ui.Panel;
22
 
22
 
23
public class MoteurRechercheObservationsPresenteur extends Presenteur {
23
public class MoteurIdentiplantePresenteur extends Presenteur {
24
 
24
 
25
	public interface Vue extends IsWidget {
25
	public interface Vue extends IsWidget {
26
		public HasWidgets getZoneRecherche();
26
		public HasWidgets getZoneRecherche();
27
 
27
 
28
		public HasWidgets getZoneResultats();
28
		public HasWidgets getZoneResultats();
29
 
29
 
30
		HasClickHandlers getLienAjoutObservation();
30
		HasClickHandlers getLienAjoutObservation();
31
		
31
		
32
		public String getValeurRadioStatut();
32
		public String getValeurRadioStatut();
33
		
33
		
34
		public HasClickHandlers getRadioADeterminer();
34
		public HasClickHandlers getRadioADeterminer();
35
		
35
		
36
		public HasClickHandlers getRadioEnDiscussion();
36
		public HasClickHandlers getRadioEnDiscussion();
37
		
37
		
38
		public void decocherRadioTout();
38
		public void decocherRadioTout();
39
		
39
		
40
		public Panel getZonePartageUrl();
40
		public Panel getZonePartageUrl();
41
 
41
 
42
	}
42
	}
43
 
43
 
44
	private Vue vue;
44
	private Vue vue;
45
 
45
 
46
	public MoteurRechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
46
	public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
47
		this.vue = vue;
47
		this.vue = vue;
48
	}
48
	}
49
 
49
 
50
	public void go(HasWidgets composite) {
50
	public void go(HasWidgets composite) {
51
 
51
 
52
		composite.add(vue.asWidget());
52
		composite.add(vue.asWidget());
53
		ajouterMoteurRechercheAvancee();
53
		ajouterMoteurRechercheAvancee();
54
		PartageUrlPresenteur presenteurPartageUrl = new PartageUrlPresenteur(new PartageUrlVue());
54
		PartageUrlPresenteur presenteurPartageUrl = new PartageUrlPresenteur(new PartageUrlVue());
55
		presenteurPartageUrl.go(vue.getZonePartageUrl());
55
		presenteurPartageUrl.go(vue.getZonePartageUrl());
56
		gererEvenements();
56
		gererEvenements();
57
		
57
		
58
	}
58
	}
59
 
59
 
60
	protected void ajouterMoteurRechercheAvancee() {
60
	protected void ajouterMoteurRechercheAvancee() {
61
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
61
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
62
		}, ModeRecherche.MODE_OBSERVATION) {
62
		}, ModeRecherche.MODE_OBSERVATION) {
63
 
63
 
64
			@Override
64
			@Override
65
			public void lancerRecherche() {
65
			public void lancerRecherche() {
66
				chercherObservations();
66
				chercherObservations();
67
			}
67
			}
68
		};
68
		};
69
		presenteur.go(vue.getZoneRecherche());
69
		presenteur.go(vue.getZoneRecherche());
70
	}
70
	}
71
 
71
 
72
	public void chercherObservations() {
72
	public void chercherObservations() {
73
		vue.getZoneResultats().clear();
73
		vue.getZoneResultats().clear();
74
		new ResultatsRechercheObservationsPresenteur(new ObservationServiceConcret(), new ResultatsRechercheObservationsVue(), vue.getValeurRadioStatut()).go(vue.getZoneResultats());
74
		new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue(), vue.getValeurRadioStatut()).go(vue.getZoneResultats());
75
	}
75
	}
76
 
76
 
77
	protected void gererEvenements() {
77
	protected void gererEvenements() {
78
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {			
78
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {			
79
			@Override
79
			@Override
80
			public void onClick(ClickEvent event) {
80
			public void onClick(ClickEvent event) {
81
				Config config = new Config();
81
				Config config = new Config();
82
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
82
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
83
			}
83
			}
84
		});
84
		});
85
		
85
		
86
		
86
		
87
		vue.getRadioADeterminer().addClickHandler(new ClickHandler() {
87
		vue.getRadioADeterminer().addClickHandler(new ClickHandler() {
88
			
88
			
89
			@Override
89
			@Override
90
			public void onClick(ClickEvent event) {
90
			public void onClick(ClickEvent event) {
91
				vue.decocherRadioTout();
91
				vue.decocherRadioTout();
92
			}
92
			}
93
		});
93
		});
94
		
94
		
95
		vue.getRadioEnDiscussion().addClickHandler(new ClickHandler() {
95
		vue.getRadioEnDiscussion().addClickHandler(new ClickHandler() {
96
			
96
			
97
			@Override
97
			@Override
98
			public void onClick(ClickEvent event) {
98
			public void onClick(ClickEvent event) {
99
				vue.decocherRadioTout();
99
				vue.decocherRadioTout();
100
			}
100
			}
101
		});
101
		});
102
	}
102
	}
103
 
103
 
104
}
104
}