Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 381 → Rev 382

/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java
13,6 → 13,7
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
 
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Panel;
37,6 → 38,12
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;
54,8 → 61,10
public void surImagesRecues(ImageServiceResultat imagesRecues) {
creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
requeteEnCours = false;
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
 
}
68,10 → 77,11
 
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
 
afficherImages(imagesRecues, premier, dernier);
requeteEnCours = false;
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
 
}
80,13 → 90,6
 
List<Image> images = imageServiceResult.getImages();
 
// verifie si le nb d'images renvoyes par le service est correct sinon
// coupe la liste d'images
int taille = dernier - premier;
if (images.size() > taille) {
images = imageServiceResult.getImages().subList(0, taille);
}
 
List<Panel> panneauxImagesAffichees = new ArrayList<Panel>();
vue.creerPanneauxObservations(imageServiceResult.getImages().size());
 
108,7 → 111,9
this.paginationBasPresenteur = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
@Override
public void changerPage(int debut, int fin) {
chargerEtAfficherImages(debut, fin);
if(!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}
 
129,7 → 134,9
 
@Override
public void changerPage(int debut, int fin) {
chargerEtAfficherImages(debut, fin);
if(!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}