Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 444 → Rev 445

/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java
42,15 → 42,7
private Vue vue;
private List<ImagePresenteur> ImagePresenteurs = new ArrayList<ImagePresenteur>();
private ImageService imageService;
private PaginationPresenteur paginationHautPresenteur, paginationBasPresenteur;
 
/**
* Ceci sert à éviter que les deux présenteurs paginations fassent deux
* requêtes par changement de page En attendant d'en discuter avec les
* autres
*/
private boolean requeteEnCours = false;
 
public ResultatRechercheImagePresenteur(ImageService imageService, Vue vue) {
this.vue = vue;
this.imageService = imageService;
60,6 → 52,11
composite.add(vue.asWidget());
vue.startChargement();
 
rechercherImagesEtCreerWidgetPagination();
 
}
 
public void rechercherImagesEtCreerWidgetPagination() {
// appel du service d'image pour avoir le nb total d'elements pour la
// pagination
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
66,13 → 63,12
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
requeteEnCours = false;
int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination();
afficherImages(imagesRecues, debut, fin);
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
 
}
 
private void chargerEtAfficherImages(final int premier, final int dernier) {
83,10 → 79,8
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
afficherImages(imagesRecues, premier, dernier);
requeteEnCours = false;
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
 
}
113,28 → 107,18
 
private void creerWidgetPagination(int nbImages) {
 
this.paginationBasPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination()) {
@Override
public void changerPage(int debut, int fin) {
if (!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}
PaginationPresenteur imagesPaginationPresenteurHaut = creerPresenteurPagination(nbImages);
PaginationPresenteur imagesPaginationPresenteurBas = creerPresenteurPagination(nbImages);
imagesPaginationPresenteurHaut.go(vue.getPanneauPaginationHaut());
imagesPaginationPresenteurBas.go(vue.getPanneauPagination());
}
 
public PaginationPresenteur creerPresenteurPagination(int nbImages) {
PaginationPresenteur imagesPaginationPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination(), CacheClient.getInstance().getPageCouranteRechercheImage()) {
@Override
public void actualiserPasCache(int pas) {
CacheClient.getInstance().setPasPagination(pas);
}
};
public void chargerElements(int debut, int fin) {
 
this.paginationHautPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination()) {
 
@Override
public void changerPage(int debut, int fin) {
if (!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
chargerEtAfficherImages(debut, fin);
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}
 
142,9 → 126,7
public void actualiserPasCache(int pas) {
CacheClient.getInstance().setPasPagination(pas);
}
 
};
this.paginationBasPresenteur.go(vue.getPanneauPagination());
this.paginationHautPresenteur.go(vue.getPanneauPaginationHaut());
return imagesPaginationPresenteur;
}
}