Subversion Repositories eFlore/Applications.del

Rev

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

Rev 436 Rev 445
Line 40... Line 40...
40
 
40
 
41
	// new ResultatRechercheImageVue();
41
	// new ResultatRechercheImageVue();
42
	private Vue vue;
42
	private Vue vue;
43
	private List<ImagePresenteur> ImagePresenteurs = new ArrayList<ImagePresenteur>();
43
	private List<ImagePresenteur> ImagePresenteurs = new ArrayList<ImagePresenteur>();
44
	private ImageService imageService;
-
 
45
	private PaginationPresenteur paginationHautPresenteur, paginationBasPresenteur;
-
 
46
 
-
 
47
	/**
-
 
48
	 * Ceci sert à éviter que les deux présenteurs paginations fassent deux
-
 
49
	 * requêtes par changement de page En attendant d'en discuter avec les
-
 
50
	 * autres
-
 
51
	 */
-
 
Line 52... Line 44...
52
	private boolean requeteEnCours = false;
44
	private ImageService imageService;
53
 
45
 
54
	public ResultatRechercheImagePresenteur(ImageService imageService, Vue vue) {
46
	public ResultatRechercheImagePresenteur(ImageService imageService, Vue vue) {
55
		this.vue = vue;
47
		this.vue = vue;
Line 56... Line 48...
56
		this.imageService = imageService;
48
		this.imageService = imageService;
57
	}
49
	}
58
 
50
 
Line -... Line 51...
-
 
51
	public void go(HasWidgets composite) {
-
 
52
		composite.add(vue.asWidget());
-
 
53
		vue.startChargement();
-
 
54
 
-
 
55
		rechercherImagesEtCreerWidgetPagination();
59
	public void go(HasWidgets composite) {
56
 
60
		composite.add(vue.asWidget());
57
	}
61
		vue.startChargement();
58
 
62
 
59
	public void rechercherImagesEtCreerWidgetPagination() {
63
		// appel du service d'image pour avoir le nb total d'elements pour la
60
		// appel du service d'image pour avoir le nb total d'elements pour la
64
		// pagination
61
		// pagination
-
 
62
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
65
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
63
			@Override
66
			@Override
64
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
67
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
65
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
68
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
66
				int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
69
				afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
-
 
70
				requeteEnCours = false;
67
				int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination();
71
			}
-
 
72
		};
68
				afficherImages(imagesRecues, debut, fin);
Line 73... Line 69...
73
		requeteEnCours = true;
69
			}
74
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
70
		};
75
 
71
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
Line 76... Line 72...
76
	}
72
	}
77
 
73
 
78
	private void chargerEtAfficherImages(final int premier, final int dernier) {
74
	private void chargerEtAfficherImages(final int premier, final int dernier) {
79
		vue.startChargement();
75
		vue.startChargement();
80
		vue.nettoyer();
-
 
81
 
76
		vue.nettoyer();
82
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
77
 
83
			@Override
-
 
84
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
78
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
Line 85... Line 79...
85
				afficherImages(imagesRecues, premier, dernier);
79
			@Override
Line 86... Line 80...
86
				requeteEnCours = false;
80
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
Line 111... Line 105...
111
		vue.stopChargement();
105
		vue.stopChargement();
112
	}
106
	}
Line 113... Line 107...
113
 
107
 
Line 114... Line 108...
114
	private void creerWidgetPagination(int nbImages) {
108
	private void creerWidgetPagination(int nbImages) {
115
 
-
 
116
		this.paginationBasPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination()) {
109
 
117
			@Override
-
 
118
			public void changerPage(int debut, int fin) {
110
		PaginationPresenteur imagesPaginationPresenteurHaut = creerPresenteurPagination(nbImages);
119
				if (!requeteEnCours) {
-
 
120
					chargerEtAfficherImages(debut, fin);
111
		PaginationPresenteur imagesPaginationPresenteurBas = creerPresenteurPagination(nbImages);
121
				}
112
		imagesPaginationPresenteurHaut.go(vue.getPanneauPaginationHaut());
Line -... Line 113...
-
 
113
		imagesPaginationPresenteurBas.go(vue.getPanneauPagination());
-
 
114
	}
122
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
115
 
123
			}
116
	public PaginationPresenteur creerPresenteurPagination(int nbImages) {
124
 
-
 
125
			@Override
-
 
126
			public void actualiserPasCache(int pas) {
-
 
127
				CacheClient.getInstance().setPasPagination(pas);
-
 
128
			}
-
 
Line 129... Line -...
129
		};
-
 
130
 
-
 
131
		this.paginationHautPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination()) {
-
 
132
 
117
		PaginationPresenteur imagesPaginationPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination(), CacheClient.getInstance().getPageCouranteRechercheImage()) {
133
			@Override
-
 
134
			public void changerPage(int debut, int fin) {
118
			@Override
135
				if (!requeteEnCours) {
119
			public void chargerElements(int debut, int fin) {
Line 136... Line 120...
136
					chargerEtAfficherImages(debut, fin);
120
 
137
				}
121
				chargerEtAfficherImages(debut, fin);
138
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
122
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
139
			}
123
			}
140
 
-
 
141
			@Override
124
 
142
			public void actualiserPasCache(int pas) {
125
			@Override
143
				CacheClient.getInstance().setPasPagination(pas);
-
 
144
			}
126
			public void actualiserPasCache(int pas) {
145
 
127
				CacheClient.getInstance().setPasPagination(pas);