Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1101 Rev 1109
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
		
28
		
29
		public String getValeurRadioStatut();
29
		public String getValeurRadioStatut();
-
 
30
		
-
 
31
		public HasClickHandlers getRadioADeterminer();
-
 
32
		
-
 
33
		public HasClickHandlers getRadioEnDiscussion();
-
 
34
		
-
 
35
		public HasClickHandlers getRadioAConfirmer();
-
 
36
		
-
 
37
		public void decocherRadioTout();
30
 
38
 
31
	}
39
	}
32
 
40
 
33
	private Vue vue;
41
	private Vue vue;
34
 
42
 
35
	public MoteurRechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
43
	public MoteurRechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
36
		this.vue = vue;
44
		this.vue = vue;
37
	}
45
	}
38
 
46
 
39
	public void go(HasWidgets composite) {
47
	public void go(HasWidgets composite) {
40
 
48
 
41
		composite.add(vue.asWidget());
49
		composite.add(vue.asWidget());
42
		ajouterMoteurRechercheAvancee();
50
		ajouterMoteurRechercheAvancee();
43
		gererEvenements();
51
		gererEvenements();
44
	}
52
	}
45
 
53
 
46
	protected void ajouterMoteurRechercheAvancee() {
54
	protected void ajouterMoteurRechercheAvancee() {
47
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
55
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
48
		}, ModeRecherche.MODE_OBSERVATION) {
56
		}, ModeRecherche.MODE_OBSERVATION) {
49
 
57
 
50
			@Override
58
			@Override
51
			public void lancerRecherche() {
59
			public void lancerRecherche() {
52
				chercherObservations();
60
				chercherObservations();
53
			}
61
			}
54
		};
62
		};
55
		presenteur.go(vue.getZoneRecherche());
63
		presenteur.go(vue.getZoneRecherche());
56
	}
64
	}
57
 
65
 
58
	public void chercherObservations() {
66
	public void chercherObservations() {
59
		vue.getZoneResultats().clear();
67
		vue.getZoneResultats().clear();
60
		new ResultatsRechercheObservationsPresenteur(new ObservationServiceConcret(), new ResultatsRechercheObservationsVue(), vue.getValeurRadioStatut()).go(vue.getZoneResultats());
68
		new ResultatsRechercheObservationsPresenteur(new ObservationServiceConcret(), new ResultatsRechercheObservationsVue(), vue.getValeurRadioStatut()).go(vue.getZoneResultats());
61
	}
69
	}
62
 
70
 
63
	protected void gererEvenements() {
71
	protected void gererEvenements() {
64
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {			
72
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {			
65
			@Override
73
			@Override
66
			public void onClick(ClickEvent event) {
74
			public void onClick(ClickEvent event) {
67
				Config config = new Config();
75
				Config config = new Config();
68
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
76
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
69
			}
77
			}
-
 
78
		});
-
 
79
		
-
 
80
		vue.getRadioAConfirmer().addClickHandler(new ClickHandler() {
-
 
81
			
-
 
82
			@Override
-
 
83
			public void onClick(ClickEvent event) {
-
 
84
				vue.decocherRadioTout();
-
 
85
			}
-
 
86
		});
-
 
87
		
-
 
88
		vue.getRadioADeterminer().addClickHandler(new ClickHandler() {
-
 
89
			
-
 
90
			@Override
-
 
91
			public void onClick(ClickEvent event) {
-
 
92
				vue.decocherRadioTout();
-
 
93
			}
-
 
94
		});
-
 
95
		
-
 
96
		vue.getRadioEnDiscussion().addClickHandler(new ClickHandler() {
-
 
97
			
-
 
98
			@Override
-
 
99
			public void onClick(ClickEvent event) {
-
 
100
				vue.decocherRadioTout();
-
 
101
			}
70
		});
102
		});
71
	}
103
	}
72
 
104
 
73
}
105
}