Subversion Repositories eFlore/Applications.del

Rev

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

Rev 379 Rev 382
Line 11... Line 11...
11
import org.tela_botanica.del.client.services.rest.ImageService;
11
import org.tela_botanica.del.client.services.rest.ImageService;
12
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
12
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
13
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
13
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
14
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
14
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
Line -... Line 15...
-
 
15
 
15
 
16
import com.google.gwt.user.client.Window;
16
import com.google.gwt.user.client.ui.HasWidgets;
17
import com.google.gwt.user.client.ui.HasWidgets;
17
import com.google.gwt.user.client.ui.IsWidget;
18
import com.google.gwt.user.client.ui.IsWidget;
Line 18... Line 19...
18
import com.google.gwt.user.client.ui.Panel;
19
import com.google.gwt.user.client.ui.Panel;
Line 35... Line 36...
35
	private Vue vue;
36
	private Vue vue;
36
	private List<ImagePresenteur> observationPresenteurs = new ArrayList<ImagePresenteur>();
37
	private List<ImagePresenteur> observationPresenteurs = new ArrayList<ImagePresenteur>();
37
	private ImageService imageService;
38
	private ImageService imageService;
38
	private PaginationPresenteur paginationHautPresenteur, paginationBasPresenteur;
39
	private PaginationPresenteur paginationHautPresenteur, paginationBasPresenteur;
Line -... Line 40...
-
 
40
	
-
 
41
	/**
-
 
42
	 * Ceci sert à éviter que les deux présenteurs paginations fassent deux requêtes par changement de page
-
 
43
	 * En attendant d'en discuter avec les autres
-
 
44
	 */
-
 
45
	private boolean requeteEnCours = false;
39
	
46
	
40
	public ResultatRechercheImagePresenteur(ImageService imageService, Vue vue) {
47
	public ResultatRechercheImagePresenteur(ImageService imageService, Vue vue) {
41
		this.vue = vue;
48
		this.vue = vue;
42
		this.imageService = imageService;
49
		this.imageService = imageService;
Line 52... Line 59...
52
 
59
 
53
			@Override
60
			@Override
54
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
61
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
55
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
62
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
-
 
63
				afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
56
				afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
64
				requeteEnCours = false;
57
			}
65
			}
-
 
66
		};
58
		};
67
		requeteEnCours = true;
Line 59... Line 68...
59
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
68
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
Line 60... Line 69...
60
 
69
 
Line 66... Line 75...
66
 
75
 
Line 67... Line 76...
67
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
76
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
68
 
77
 
69
			@Override
-
 
70
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
78
			@Override
-
 
79
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
71
 
80
				afficherImages(imagesRecues, premier, dernier);
72
				afficherImages(imagesRecues, premier, dernier);
81
				requeteEnCours = false;
-
 
82
			}
73
			}
83
		};
Line 74... Line 84...
74
		};
84
		requeteEnCours = true;
Line 75... Line 85...
75
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
85
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
Line 76... Line 86...
76
 
86
 
Line 77... Line -...
77
	}
-
 
78
 
-
 
79
	private void afficherImages(ImageServiceResultat imageServiceResult, int premier, int dernier) {
-
 
80
 
-
 
81
		List<Image> images = imageServiceResult.getImages();
-
 
82
 
-
 
83
		// verifie si le nb d'images renvoyes par le service est correct sinon
-
 
84
		// coupe la liste d'images
87
	}
85
		int taille = dernier - premier;
88
 
Line 86... Line 89...
86
		if (images.size() > taille) {
89
	private void afficherImages(ImageServiceResultat imageServiceResult, int premier, int dernier) {
87
			images = imageServiceResult.getImages().subList(0, taille);
90
 
Line 106... Line 109...
106
	private void creerWidgetPagination(int nbImages) {
109
	private void creerWidgetPagination(int nbImages) {
Line 107... Line 110...
107
 
110
 
108
		this.paginationBasPresenteur = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
111
		this.paginationBasPresenteur = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
109
			@Override
112
			@Override
-
 
113
			public void changerPage(int debut, int fin) {
110
			public void changerPage(int debut, int fin) {
114
				if(!requeteEnCours) {
-
 
115
					chargerEtAfficherImages(debut, fin);
111
				chargerEtAfficherImages(debut, fin);
116
				}
112
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
117
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
Line 113... Line 118...
113
			}
118
			}
114
 
119
 
Line 127... Line 132...
127
				
132
				
Line 128... Line 133...
128
		this.paginationHautPresenteur = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
133
		this.paginationHautPresenteur = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
129
 
134
 
-
 
135
			@Override
130
			@Override
136
			public void changerPage(int debut, int fin) {
-
 
137
				if(!requeteEnCours) {
131
			public void changerPage(int debut, int fin) {
138
					chargerEtAfficherImages(debut, fin);
Line 132... Line 139...
132
				chargerEtAfficherImages(debut, fin);
139
				}
Line 133... Line 140...
133
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
140
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());