Subversion Repositories eFlore/Applications.del

Rev

Rev 332 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 332 Rev 359
Line 7... Line 7...
7
import org.tela_botanica.del.client.modeles.Image;
7
import org.tela_botanica.del.client.modeles.Image;
8
import org.tela_botanica.del.client.modeles.Observation;
8
import org.tela_botanica.del.client.modeles.Observation;
9
import org.tela_botanica.del.client.modeles.Protocole;
9
import org.tela_botanica.del.client.modeles.Protocole;
10
import org.tela_botanica.del.client.modeles.VoteProtocole;
10
import org.tela_botanica.del.client.modeles.VoteProtocole;
11
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
11
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
-
 
12
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.EvenementVoirDetailsImage;
-
 
13
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.GestionnaireEvenementVoirDetailsImage;
12
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation;
14
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation;
13
import org.tela_botanica.del.client.utils.MockDatasource;
15
import org.tela_botanica.del.client.utils.MockDatasource;
14
import org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImagePresenteur;
-
 
15
import org.tela_botanica.del.client.vues.rechercheimages.vote.MoyenneVotePresenteur;
16
import org.tela_botanica.del.client.vues.rechercheimages.vote.MoyenneVotePresenteur;
16
import org.tela_botanica.del.client.vues.rechercheobservations.DetailImagePresenteur;
17
import org.tela_botanica.del.client.vues.rechercheobservations.DetailImagePresenteur;
17
import org.tela_botanica.del.client.vues.rechercheobservations.DetailImageVue;
18
import org.tela_botanica.del.client.vues.rechercheobservations.DetailImageVue;
Line 18... Line 19...
18
 
19
 
Line 23... Line 24...
23
import com.google.gwt.user.client.ui.IsWidget;
24
import com.google.gwt.user.client.ui.IsWidget;
Line 24... Line 25...
24
 
25
 
Line 25... Line 26...
25
public class ImagePresenteur extends Presenteur {
26
public class ImagePresenteur extends Presenteur {
26
 
27
 
27
	public interface Vue extends IsWidget {
28
	public interface Vue extends IsWidget {
-
 
29
 
28
		
30
		public abstract void loadImage(Image image);
-
 
31
 
29
		public abstract void loadImage(Image image);
32
		public abstract HasClickHandlers getImagePrincipale();
-
 
33
 
30
		public abstract HasClickHandlers getImagePrincipale();
34
		public void setUrlImagePrincipale(String url);
-
 
35
 
31
		public void setUrlImagePrincipale(String url);
36
		public void setTitreImagePrincipale(String titre);
-
 
37
 
32
		public void setTitreImagePrincipale(String titre);
38
		public void setAltTextImagePrincipale(String altText);
-
 
39
 
33
		public void setAltTextImagePrincipale(String altText);
40
		public String getUrlImagePrincipale();
-
 
41
 
34
		public String getUrlImagePrincipale();
42
		public String getTitreImagePrincipale();
-
 
43
 
35
		public String getTitreImagePrincipale();
44
		public String getAltTextImagePrincipale();
-
 
45
 
36
		public String getAltTextImagePrincipale();
46
		public abstract HasClickHandlers getEnSavoirPlus();
-
 
47
 
37
		public abstract HasClickHandlers getEnSavoirPlus();
48
		public abstract HasClickHandlers getAjoutValidation();
-
 
49
 
38
		public abstract HasClickHandlers getAjoutValidation();
50
		public abstract void cacherZoneCache();
-
 
51
 
39
		public abstract void cacherZoneCache();
52
		public abstract void afficherZoneCache();
40
		public abstract void afficherZoneCache();
53
 
41
		public abstract HasWidgets getZoneVoter();
54
		public abstract HasWidgets getZoneVoter();
42
		
55
 
43
	}
56
	}
44
	
57
 
45
	private Vue vue; 
58
	private Vue vue;
46
	
59
 
47
	private final MockDatasource validationService = MockDatasource.getInstance();
60
	private final MockDatasource validationService = MockDatasource.getInstance();
Line 48... Line 61...
48
	private final Image image;
61
	private final Image image;
Line 68... Line 81...
68
		new MoyenneVotePresenteur(observationValidationDatas).go(vue.getZoneVoter());
81
		new MoyenneVotePresenteur(observationValidationDatas).go(vue.getZoneVoter());
69
	}
82
	}
Line 70... Line 83...
70
 
83
 
71
	protected void gererEvenements() {
84
	protected void gererEvenements() {
72
		vue.getImagePrincipale().addClickHandler(new ClickHandler() {
85
		vue.getImagePrincipale().addClickHandler(new ClickHandler() {
73
			
86
 
74
			@Override
87
			@Override
75
			public void onClick(ClickEvent event) {
88
			public void onClick(ClickEvent event) {
76
				IsWidget photo = (IsWidget)event.getSource();
89
				IsWidget photo = (IsWidget) event.getSource();
77
				ouvrirFenetreModale(new DetailImagePresenteur(photo , new DetailImageVue()));
90
				ouvrirFenetreModale(new DetailImagePresenteur(photo, new DetailImageVue()));
78
			}
91
			}
-
 
92
		});
79
		});
93
 
Line 80... Line 94...
80
		vue.getEnSavoirPlus().addClickHandler(new ClickHandler() {
94
		vue.getEnSavoirPlus().addClickHandler(new ClickHandler() {
81
 
95
 
82
			@Override
-
 
83
			public void onClick(ClickEvent event) {
-
 
84
 
96
			@Override
85
				if (!detailsOpen) {
-
 
86
					afficherDetails();
-
 
87
				} else {
-
 
88
					cacherDetails();
97
			public void onClick(ClickEvent event) {
89
				}
98
				BusEvenementiel.getInstance().fireEvent(new EvenementVoirDetailsImage(image));
Line 90... Line 99...
90
			}
99
			}
Line 97... Line 106...
97
				CacheClient.getInstance().setImageCourante(image);
106
				CacheClient.getInstance().setImageCourante(image);
98
				Observation obs = image.getObservation();
107
				Observation obs = image.getObservation();
99
				BusEvenementiel.getInstance().fireEvent(new EvenementValidation(obs));
108
				BusEvenementiel.getInstance().fireEvent(new EvenementValidation(obs));
100
			}
109
			}
101
		});
110
		});
-
 
111
 
-
 
112
		BusEvenementiel.getInstance().addHandler(EvenementVoirDetailsImage.TYPE, new GestionnaireEvenementVoirDetailsImage() {
-
 
113
 
-
 
114
			@Override
-
 
115
			public void onVoirDetailsImage(EvenementVoirDetailsImage event) {
-
 
116
				if (image.getIdImage().equals(event.getImage().getIdImage())) {
-
 
117
 
-
 
118
					if (!detailsOpen) {
-
 
119
						afficherDetails();
-
 
120
					} else {
-
 
121
						cacherDetails();
-
 
122
					}
-
 
123
				} else {
-
 
124
					cacherDetails();
-
 
125
				}
-
 
126
			}
-
 
127
		});
102
	}
128
	}
Line 103... Line 129...
103
 
129
 
104
	public void cacherDetails() {
130
	public void cacherDetails() {
105
		vue.cacherZoneCache();
131
		vue.cacherZoneCache();
106
		detailsOpen = false;
132
		detailsOpen = false;
Line 107... Line 133...
107
	}
133
	}
108
 
-
 
109
	public void afficherDetails() {
134
 
110
		ResultatRechercheImagePresenteur.getInstance().fermerTousPanneauxDetailsObservations();
-
 
111
		vue.afficherZoneCache();
135
	public void afficherDetails() {
112
 
136
		vue.afficherZoneCache();
Line 113... Line 137...
113
		detailsOpen = true;
137
		detailsOpen = true;
114
	}
138
	}