Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1037 Rev 1062
Line 1... Line 1...
1
package org.tela_botanica.del.client.vues.comparaisoneflore;
1
package org.tela_botanica.del.client.vues.comparaisoneflore;
Line -... Line 2...
-
 
2
 
2
 
3
import java.util.ArrayList;
Line 3... Line 4...
3
import java.util.List;
4
import java.util.List;
4
 
5
 
5
import org.tela_botanica.del.client.cache.CacheClient;
6
import org.tela_botanica.del.client.cache.CacheClient;
6
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.ImageServiceResultat;
-
 
9
import org.tela_botanica.del.client.modeles.InformationsRecherche;
-
 
10
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
7
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
11
import org.tela_botanica.del.client.navigation.evenement.comparaisoneflore.EvenementComparaisonEflore;
8
import org.tela_botanica.del.client.modeles.InformationsRecherche;
12
import org.tela_botanica.del.client.navigation.evenement.comparaisoneflore.GestionnaireEvenementComparaisonEflore;
-
 
13
import org.tela_botanica.del.client.services.rest.ImageService;
Line 9... Line 14...
9
import org.tela_botanica.del.client.services.rest.ImageService;
14
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
10
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
15
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
11
 
16
 
12
import com.google.gwt.event.dom.client.ClickEvent;
17
import com.google.gwt.event.dom.client.ClickEvent;
-
 
18
import com.google.gwt.event.dom.client.ClickHandler;
13
import com.google.gwt.event.dom.client.ClickHandler;
19
import com.google.gwt.event.dom.client.HasClickHandlers;
14
import com.google.gwt.event.dom.client.HasClickHandlers;
20
import com.google.gwt.user.client.Window;
Line 15... Line 21...
15
import com.google.gwt.user.client.Window;
21
import com.google.gwt.user.client.ui.HTMLPanel;
Line 30... Line 36...
30
		public int getCurrentIndexImages();
36
		public int getCurrentIndexImages();
Line 31... Line 37...
31
 
37
 
Line 32... Line 38...
32
		public void startChargement();
38
		public void startChargement();
-
 
39
 
-
 
40
		public void stopChargement();
-
 
41
 
-
 
42
		public void afficherAucuneImageTrouvee();
-
 
43
 
-
 
44
		public HTMLPanel getFormulaireRecherche();
33
 
45
		
Line 34... Line 46...
34
		public void stopChargement();
46
		public void setCurrentIndexImages(int index);
35
	}
47
	}
Line 36... Line 48...
36
 
48
 
37
	private Vue vue;
49
	private Vue vue;
38
	private final ImageService imageService;
50
	private final ImageService imageService;
-
 
51
 
-
 
52
	private Image imagePrincipale;
Line 39... Line 53...
39
 
53
	private String nomTaxonComparaison;
40
	private Image imagePrincipale;
54
	private List<org.tela_botanica.del.client.modeles.Image> imagesEflore = new ArrayList<Image>();
41
	private String nomTaxonComparaison;
55
	private int page = 0;
42
	private List<org.tela_botanica.del.client.modeles.Image> imagesEflore;
56
	private int nbImagesPreFetch = 10;
Line 51... Line 65...
51
	public void go(HasWidgets composite) {
65
	public void go(HasWidgets composite) {
52
		composite.add(vue.asWidget());
66
		composite.add(vue.asWidget());
53
		vue.chargerImagePrincipale(imagePrincipale);
67
		vue.chargerImagePrincipale(imagePrincipale);
54
		chargerObservationsEflore();
68
		chargerObservationsEflore();
55
		gererEvenements();
69
		gererEvenements();
-
 
70
		new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRecherche());
56
	}
71
	}
Line 57... Line 72...
57
 
72
 
Line -... Line 73...
-
 
73
	public void chargerObservationsEflore() {
-
 
74
 
-
 
75
		int debut = (page * nbImagesPreFetch) + 1;
58
	public void chargerObservationsEflore() {
76
		int fin = (page + 1) * nbImagesPreFetch;
Line 59... Line 77...
59
 
77
 
60
		vue.startChargement();
78
		vue.startChargement();
Line 61... Line 79...
61
 
79
 
Line 62... Line 80...
62
		InformationsRecherche informationsRecherche = new InformationsRecherche();
80
		InformationsRecherche informationsRecherche = new InformationsRecherche();
63
		informationsRecherche.setTaxon(nomTaxonComparaison);
81
		informationsRecherche.setTaxon(nomTaxonComparaison);
64
 
82
 
65
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
83
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
66
 
84
 
67
			@Override
85
			@Override
68
			public void surRetour(ImageServiceResultat imagesRecues) {
-
 
69
				if (imagesRecues == null||imagesRecues.getImages()==null||imagesRecues.getImages().size()==0) {
86
			public void surRetour(ImageServiceResultat imagesRecues) {
-
 
87
				if (imagesRecues == null || imagesRecues.getImages() == null || imagesRecues.getImages().size() == 0) {
70
					vue.stopChargement();
88
					vue.afficherAucuneImageTrouvee();
71
				} else {
89
				} else {
Line 72... Line 90...
72
					setImagesEflore(imagesRecues.getImages());
90
					addImagesEflore(imagesRecues.getImages());
73
					vue.chargerImagesEflore(imagesRecues.getImages(), 0);
91
					vue.stopChargement();
-
 
92
					vue.chargerImagesEflore(imagesEflore, vue.getCurrentIndexImages());
74
					vue.stopChargement();
93
				}
75
				}
-
 
76
			}
94
			}
Line 77... Line 95...
77
 
95
 
Line 78... Line 96...
78
			@Override
96
			@Override
Line 79... Line 97...
79
			public void surErreur(String messageErreur) {
97
			public void surErreur(String messageErreur) {
Line 80... Line 98...
80
				Window.alert(messageErreur);
98
				vue.afficherAucuneImageTrouvee();
81
 
99
				Window.alert(messageErreur);
Line 98... Line 116...
98
 
116
 
Line 99... Line 117...
99
		vue.getScrollRightImage().addClickHandler(new ClickHandler() {
117
		vue.getScrollRightImage().addClickHandler(new ClickHandler() {
100
 
118
 
-
 
119
			@Override
-
 
120
			public void onClick(ClickEvent event) {
-
 
121
 
-
 
122
				if (vue.getCurrentIndexImages() == imagesEflore.size() - 1) {
-
 
123
					page += 1;
-
 
124
					vue.setCurrentIndexImages(vue.getCurrentIndexImages()+1);
101
			@Override
125
					chargerObservationsEflore();
-
 
126
				} else {
-
 
127
					vue.chargerImagesEflore(imagesEflore, vue.getCurrentIndexImages() + 1);
-
 
128
				}
-
 
129
			}
-
 
130
		});
-
 
131
 
-
 
132
		BusEvenementiel.getInstance().addHandler(EvenementComparaisonEflore.TYPE, new GestionnaireEvenementComparaisonEflore() {
-
 
133
 
-
 
134
			@Override
-
 
135
			public void onComparaisonEflore(EvenementComparaisonEflore event) {
102
			public void onClick(ClickEvent event) {
136
				nomTaxonComparaison = event.getTaxonDemande();
103
				vue.chargerImagesEflore(imagesEflore, vue.getCurrentIndexImages() + 1);
137
				chargerObservationsEflore();
104
			}
138
			}
Line 105... Line 139...
105
		});
139
		});
106
	}
140
	}
107
 
141
 
Line 108... Line 142...
108
	public List<org.tela_botanica.del.client.modeles.Image> getImagesEflore() {
142
	public List<org.tela_botanica.del.client.modeles.Image> getImagesEflore() {
109
		return imagesEflore;
143
		return imagesEflore;
110
	}
144
	}
Line 111... Line 145...
111
 
145