New file |
0,0 → 1,88 |
package org.tela_botanica.del.client.vues.rechercheimages.resultats; |
|
import java.util.ArrayList; |
import java.util.Iterator; |
import java.util.List; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.pagination.PaginationPresenteur; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur; |
|
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Panel; |
|
public class ResultatRechercheImagePresenteur { |
|
private final ResultatRechercheImageVue vue = new ResultatRechercheImageVue(); |
private static ResultatRechercheImagePresenteur instance; |
private List<ImagePresenteur> observationPresenteurs = new ArrayList<ImagePresenteur>(); |
|
public ResultatRechercheImagePresenteur() { |
instance = this; |
} |
|
public void go(HasWidgets composite) { |
composite.add(vue); |
afficherImagesEtMoyenneVoteProtocole(); |
|
} |
|
private void afficherImagesEtMoyenneVoteProtocole() { |
|
// Remise à zéro du panneau d'affichage et des composants |
vue.nettoyer(); |
|
// TODO : créer une méthode globale pour l'application ? voir |
// superclasse présenteur ? |
// FIXME : ne s'affiche pas |
vue.startChargement(); |
vue.creerPanneauxObservation(CacheClient.getInstance().getImages()); |
|
Iterator<Panel> panelIterator = vue.getPanneauxImages().iterator(); |
for (Image image : CacheClient.getInstance().getImages()) { |
Panel imagePanel = panelIterator.next(); |
ImagePresenteur imagePresenteur = new ImagePresenteur(image, CacheClient.getInstance().getProtocoleCourant()); |
imagePresenteur.go(imagePanel); |
observationPresenteurs.add(imagePresenteur); |
} |
|
vue.afficherPanneauxImage(0, vue.getNbImagesPerPage()); |
createPaginationWidget(CacheClient.getInstance().getImages().size()); |
|
vue.stopChargement(); |
|
} |
|
public void fermerTousPanneauxDetailsObservations() { |
for (ImagePresenteur observationPresenteur : observationPresenteurs) { |
if (observationPresenteur.isDetailsOpen()) { |
observationPresenteur.cacherDetails(); |
} |
} |
} |
|
private void createPaginationWidget(int nbImages) { |
|
new PaginationPresenteur(nbImages) { |
|
@Override |
public void changerPage(int debut, int fin) { |
showImagePanels(debut, fin); |
} |
}.go(vue.getPanneauPagination()); |
} |
|
public void showImagePanels(int first, int last) { |
vue.afficherPanneauxImage(first, last); |
} |
|
public ResultatRechercheImageVue getView() { |
return vue; |
} |
|
public static ResultatRechercheImagePresenteur getInstance() { |
return instance; |
} |
|
} |