Subversion Repositories eFlore/Applications.del

Rev

Rev 953 | Rev 1039 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 953 Rev 1006
Line 1... Line 1...
1
package org.tela_botanica.del.client.composants.observations;
1
package org.tela_botanica.del.client.composants.observations;
Line 2... Line 2...
2
 
2
 
Line -... Line 3...
-
 
3
import java.util.List;
3
import java.util.List;
4
 
4
 
5
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilantePresenteur;
6
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilantePresenteur;
6
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue;
7
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue;
7
import org.tela_botanica.del.client.composants.images.DetailImagePresenteur;
8
import org.tela_botanica.del.client.composants.images.DetailImagePresenteur;
8
import org.tela_botanica.del.client.composants.images.DetailImageVue;
9
import org.tela_botanica.del.client.composants.images.DetailImageVue;
9
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
10
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
-
 
11
import org.tela_botanica.del.client.modeles.Image;
-
 
12
import org.tela_botanica.del.client.modeles.Observation;
Line 10... Line 13...
10
import org.tela_botanica.del.client.modeles.Image;
13
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
11
import org.tela_botanica.del.client.modeles.Observation;
14
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.EvenementChangementImageValidation;
12
 
15
 
13
import com.google.gwt.event.dom.client.ClickEvent;
16
import com.google.gwt.event.dom.client.ClickEvent;
Line 18... Line 21...
18
 
21
 
Line 19... Line 22...
19
public class ObservationImagesPresenteur extends Presenteur {
22
public class ObservationImagesPresenteur extends Presenteur {
20
 
23
 
-
 
24
	public abstract interface Vue extends IsWidget {
21
	public abstract interface Vue extends IsWidget {
25
		public HasClickHandlers getPhotoPrincipale();
-
 
26
 
22
		public HasClickHandlers getPhotoPrincipale();
27
		public HasWidgets getPhotos();
-
 
28
 
23
		public HasWidgets getPhotos();
29
		public void chargerImagePrincipale(org.tela_botanica.del.client.modeles.Image image);
24
		public void chargerImagePrincipale(org.tela_botanica.del.client.modeles.Image image);
30
 
Line 25... Line 31...
25
		public void ajouterPhoto(Image image, ClickHandler gestionnaireClic);
31
		public void ajouterPhoto(Image image, ClickHandler gestionnaireClic);
Line 26... Line 32...
26
	}
32
	}
Line 27... Line 33...
27
 
33
 
28
	private Vue vue;
34
	private Vue vue;
29
 
35
 
Line 30... Line 36...
30
	private Observation observation;
36
	private Observation observation;
31
 
37
 
32
	private Image imagePrincipale;
38
	private Image imagePrincipale;
-
 
39
 
33
	
40
	private List<Image> listeImages;
Line 34... Line 41...
34
	private List<Image> listeImages;
41
 
Line 35... Line 42...
35
 
42
	public ObservationImagesPresenteur(Vue vue, Observation observation, Image imagePrincipale) {
36
	public ObservationImagesPresenteur(Vue vue, Observation observation) {
-
 
37
		this.observation = observation;
43
		this.observation = observation;
38
		this.vue = vue;
-
 
39
	}
44
		this.vue = vue;
40
 
45
		this.imagePrincipale=imagePrincipale;
41
	public void chargerImagesObservation() {
46
	}
Line 42... Line 47...
42
 
47
 
43
		listeImages = observation.getImages();
48
	public void chargerImagesObservation() {
44
		
49
 
45
		if (listeImages.size() > 0){
-
 
46
			imagePrincipale = listeImages.get(0);
50
		listeImages = observation.getImages();
47
			vue.chargerImagePrincipale(imagePrincipale);
51
		if (imagePrincipale!=null) {
48
			vue.getPhotoPrincipale().addClickHandler(creerGestionnaireClic(0, imagePrincipale));
52
			vue.chargerImagePrincipale(imagePrincipale);
49
		}
53
			vue.getPhotoPrincipale().addClickHandler(creerGestionnaireClicGalerieImages(0, imagePrincipale));
50
 
54
		}
Line 62... Line 66...
62
		composite.add(vue.asWidget());
66
		composite.add(vue.asWidget());
63
		chargerImagesObservation();
67
		chargerImagesObservation();
64
	}
68
	}
Line 65... Line 69...
65
 
69
 
66
	protected void gererEvenements() {
70
	protected void gererEvenements() {
67
		
71
 
68
	}
72
	}
69
	
73
 
70
	protected ClickHandler creerGestionnaireClic(final int indexImage, final Image imageCourante) {
74
	protected ClickHandler creerGestionnaireClicGalerieImages(final int indexImage, final Image imageCourante) {
71
		ClickHandler gestionnaireClic = new ClickHandler() {
75
		ClickHandler gestionnaireClic = new ClickHandler() {
72
			public void onClick(ClickEvent event) {
76
			public void onClick(ClickEvent event) {
73
				FenetreOverlayDefilantePresenteur presenteurGalerie = new FenetreOverlayDefilantePresenteur(indexImage, new FenetreOverlayDefilanteVue()) {
77
				FenetreOverlayDefilantePresenteur presenteurGalerie = new FenetreOverlayDefilantePresenteur(indexImage, new FenetreOverlayDefilanteVue()) {
74
					
78
 
75
					@Override
79
					@Override
76
					public void surClicBoutonSuivant() {
80
					public void surClicBoutonSuivant() {
77
						int index = getIndexElementAffiche() + 1;
81
						int index = getIndexElementAffiche() + 1;
78
						if(index >= listeImages.size()) {
82
						if (index >= listeImages.size()) {
79
							index = 0;
83
							index = 0;
80
						}
84
						}
81
						setContenuFenetreModale(index, new DetailImagePresenteur(listeImages.get(index), new DetailImageVue()));
85
						setContenuFenetreModale(index, new DetailImagePresenteur(listeImages.get(index), new DetailImageVue()));
82
					}
86
					}
83
					
87
 
84
					@Override
88
					@Override
85
					public void surClicBoutonPrecedent() {
89
					public void surClicBoutonPrecedent() {
86
						int index = getIndexElementAffiche() - 1;
90
						int index = getIndexElementAffiche() - 1;
87
						if(index < 0) {
91
						if (index < 0) {
88
							index = listeImages.size() - 1;
92
							index = listeImages.size() - 1;
89
						}
93
						}
90
						setContenuFenetreModale(index, new DetailImagePresenteur(listeImages.get(index), new DetailImageVue()));
94
						setContenuFenetreModale(index, new DetailImagePresenteur(listeImages.get(index), new DetailImageVue()));
91
					}
95
					}
Line 94... Line 98...
94
				presenteurGalerie.afficherBoutonsSuivantsPrecedents((listeImages.size() > 1));
98
				presenteurGalerie.afficherBoutonsSuivantsPrecedents((listeImages.size() > 1));
95
			}
99
			}
96
		};
100
		};
97
		return gestionnaireClic;
101
		return gestionnaireClic;
98
	}
102
	}
-
 
103
 
-
 
104
	protected ClickHandler creerGestionnaireClicChangementImagePrincipale(final Image imageCourante) {
-
 
105
		ClickHandler gestionnaireClic = new ClickHandler() {
-
 
106
			public void onClick(ClickEvent event) {
-
 
107
				CacheClient.getInstance().setImageCourante(imageCourante);
-
 
108
				BusEvenementiel.getInstance().fireEvent(new EvenementChangementImageValidation());
-
 
109
			}
-
 
110
		};
-
 
111
		return gestionnaireClic;
-
 
112
	}
99
}
113
}