1,436 → 1,436 |
package org.tela_botanica.del.client.vues.pictoflora.resultats; |
|
import java.util.List; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur; |
import org.tela_botanica.del.client.composants.pagination.PaginationVue; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ImageServiceResultat; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
import org.tela_botanica.del.client.modeles.ModeTri; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole; |
import org.tela_botanica.del.client.services.rest.ImageService; |
import org.tela_botanica.del.client.services.rest.ProtocoleService; |
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback; |
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback; |
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImagePresenteur; |
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImageVue; |
|
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.dom.client.NodeList; |
import com.google.gwt.dom.client.OptionElement; |
import com.google.gwt.dom.client.SelectElement; |
import com.google.gwt.event.dom.client.ChangeEvent; |
import com.google.gwt.event.dom.client.ChangeHandler; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasChangeHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.ListBox; |
|
public class ResultatPictofloraPresenteur { |
public interface Vue extends IsWidget { |
|
|
public void startChargement(); |
|
public void nettoyer(); |
|
public void creerPanneauxObservations(int size); |
|
public void stopChargement(); |
|
public List<HasWidgets> getPanneauxImages(); |
|
public HasWidgets getPanneauPagination(); |
|
public HasWidgets getPanneauPaginationHaut(); |
|
public HasClickHandlers getTriParMoyenneArithmetiqueAscendant(); |
|
public HasClickHandlers getTriParMoyenneArithmetiqueDescendant(); |
|
public HasClickHandlers getTriParPointsAscendant(); |
|
public HasClickHandlers getTriParPointsDescendant(); |
|
public HasClickHandlers getTriParDateAscendant(); |
|
public HasClickHandlers getTriParDateDescendant(); |
|
public HasClickHandlers getTriParNbTagsAscendant(); |
|
public HasClickHandlers getTriParNbTagsDescendant(); |
|
public void afficherElementsAucunResultatTrouve(); |
|
public void afficherElementsResultatsTrouve(); |
|
public HTMLPanel getImageTable(); |
|
public HasClickHandlers getLabelMoyenneArithmetique(); |
|
public void masquerMoyenneArithmetiqueAscendant(); |
|
public void masquerMoyenneArithmetiqueDescendant(); |
|
public void afficherMoyenneArithmetiqueAscendant(); |
|
public void afficherMoyenneArithmetiqueDescendant(); |
|
public HasClickHandlers getLabelDate(); |
|
public void masquerDateAscendant(); |
|
public void masquerDateDescendant(); |
|
public void afficherDateAscendant(); |
|
public void afficherDateDescendant(); |
|
public HasClickHandlers getLabelTag(); |
|
public void masquerTagAscendant(); |
|
public void afficherTagDescendant(); |
|
public void masquerTagDescendant(); |
|
public void afficherTagAscendant(); |
|
public HasClickHandlers getLabelPoints(); |
|
public void afficherPointsAscendant(); |
|
public void afficherPointsDescendant(); |
|
public void masquerPointsAscendant(); |
|
public void masquerPointsDescendant(); |
|
} |
|
private Vue vue; |
private ImageService imageService; |
private final ProtocoleService protocoleService; |
private ModeTri triCourantMoyenneArithmetique = ModeTri.TRI_ASCENDANT; |
private ModeTri triCourantPoints = ModeTri.TRI_ASCENDANT; |
private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT; |
private ModeTri triCourantTag = ModeTri.TRI_DESCENDANT; |
|
public ResultatPictofloraPresenteur(ImageService imageService, ProtocoleService protocoleService, Vue vue) { |
this.vue = vue; |
this.imageService = imageService; |
this.protocoleService=protocoleService; |
} |
|
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
vue.startChargement(); |
rechercherImagesEtCreerWidgetPagination(); |
gererEvenements(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
|
initialiserAPartirInfosCache(); |
} |
|
private void initialiserAPartirInfosCache() { |
InformationsRecherche infos = CacheClient.getInstance().getInformationsRechercheImage(); |
if (infos.getTriParDate() != ModeTri.PAS_DE_TRI) { |
triCourantDate = infos.getTriParDate(); |
mettreAJourAffichageTriDate(); |
} |
|
if (infos.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) { |
triCourantMoyenneArithmetique = infos.getTriParMoyenneArithmetique(); |
mettreAJourAffichageTriMoyenneArithmetique(); |
} |
|
if (infos.getTriParNbPoints() != ModeTri.PAS_DE_TRI) { |
triCourantPoints = infos.getTriParNbPoints(); |
mettreAJourAffichageTriPoints(); |
} |
|
if (infos.getTriParNbTags() != ModeTri.PAS_DE_TRI) { |
triCourantTag = infos.getTriParNbTags(); |
mettreAjourAffichageTriTag(); |
} |
} |
|
public void gererEvenements() { |
ClickHandler surClicTriMoyenneArithmetique = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriMoyenneArithmetique(); |
} |
}; |
|
vue.getLabelMoyenneArithmetique().addClickHandler(surClicTriMoyenneArithmetique); |
vue.getTriParMoyenneArithmetiqueAscendant().addClickHandler(surClicTriMoyenneArithmetique); |
vue.getTriParMoyenneArithmetiqueDescendant().addClickHandler(surClicTriMoyenneArithmetique); |
|
ClickHandler surClicTriPoints = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriPoints(); |
} |
}; |
|
vue.getLabelPoints().addClickHandler(surClicTriPoints); |
vue.getTriParPointsAscendant().addClickHandler(surClicTriPoints); |
vue.getTriParPointsDescendant().addClickHandler(surClicTriPoints); |
|
ClickHandler surClicTriDate = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriDate(); |
} |
}; |
|
vue.getLabelDate().addClickHandler(surClicTriDate); |
vue.getTriParDateAscendant().addClickHandler(surClicTriDate); |
vue.getTriParDateDescendant().addClickHandler(surClicTriDate); |
|
ClickHandler surClicTriTag = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriTag(); |
} |
}; |
|
vue.getLabelTag().addClickHandler(surClicTriTag); |
vue.getTriParNbTagsAscendant().addClickHandler(surClicTriTag); |
vue.getTriParNbTagsDescendant().addClickHandler(surClicTriTag); |
|
BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() { |
@Override |
public void onChangementProtocole(EvenementChangementProtocole event) { |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
if (informationsRechercheImages.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) { |
informationsRechercheImages.setIdProtocoleSelectionne(event.getProtocole().getId() + ""); |
chargerEtAfficherImagesPageEnCours(); |
} |
} |
}); |
} |
|
protected void surClicTriTag() { |
triCourantTag = (triCourantTag == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAjourAffichageTriTag(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
informationsRechercheImages.setTriParNbTags(triCourantTag); |
informationsRechercheImages.setTriParDate(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAjourAffichageTriTag() { |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
if (triCourantTag == ModeTri.TRI_ASCENDANT) { |
vue.masquerTagDescendant(); |
vue.afficherTagAscendant(); |
} else { |
vue.masquerTagAscendant(); |
vue.afficherTagDescendant(); |
} |
} |
|
public void surClicTriMoyenneArithmetique() { |
triCourantMoyenneArithmetique = (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAJourAffichageTriMoyenneArithmetique(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId(); |
informationsRechercheImages.setTriParMoyenneArithmetique(triCourantMoyenneArithmetique); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + ""); |
informationsRechercheImages.setTriParDate(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAJourAffichageTriMoyenneArithmetique() { |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
if (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) { |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.afficherMoyenneArithmetiqueAscendant(); |
} else { |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.afficherMoyenneArithmetiqueDescendant(); |
} |
} |
|
public void surClicTriPoints() { |
triCourantPoints = (triCourantPoints == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAJourAffichageTriPoints(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId(); |
informationsRechercheImages.setTriParNbPoints(triCourantPoints); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + ""); |
informationsRechercheImages.setTriParDate(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAJourAffichageTriPoints() { |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
if (triCourantPoints == ModeTri.TRI_ASCENDANT) { |
vue.masquerPointsDescendant(); |
vue.afficherPointsAscendant(); |
} else { |
vue.masquerPointsAscendant(); |
vue.afficherPointsDescendant(); |
} |
} |
|
public void surClicTriDate() { |
triCourantDate = (triCourantDate == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAJourAffichageTriDate(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
informationsRechercheImages.setTriParDate(triCourantDate); |
informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAJourAffichageTriDate() { |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
if (triCourantDate == ModeTri.TRI_ASCENDANT) { |
vue.masquerDateDescendant(); |
vue.afficherDateAscendant(); |
} else { |
vue.masquerDateAscendant(); |
vue.afficherDateDescendant(); |
} |
} |
|
public void rechercherImagesEtCreerWidgetPagination() { |
// appel du service d'image pour avoir le nb total d'elements pour la |
// pagination |
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() { |
|
@Override |
public void surRetour(ImageServiceResultat imagesRecues) { |
creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche()); |
afficherImages(imagesRecues); |
|
} |
|
@Override |
public void surErreur(String messageErreur) { |
Window.alert(messageErreur); |
|
} |
}; |
final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination(); |
final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination(); |
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), debut, fin, callback); |
} |
|
private void chargerEtAfficherImages(final int premier, final int dernier) { |
vue.startChargement(); |
vue.nettoyer(); |
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() { |
|
@Override |
public void surRetour(ImageServiceResultat imagesRecues) { |
afficherImages(imagesRecues); |
} |
|
@Override |
public void surErreur(String messageErreur) { |
Window.alert(messageErreur); |
} |
|
}; |
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback); |
} |
|
public void afficherImages(ImageServiceResultat imageServiceResult) { |
List<Image> images = imageServiceResult.getImages(); |
if (images == null || images.size() == 0) { |
vue.afficherElementsAucunResultatTrouve(); |
} else { |
vue.afficherElementsResultatsTrouve(); |
for (Image image : images) { |
ImagePresenteur imagePresenteur = new ImagePresenteur(image, imageService, CacheClient.getInstance().getProtocoleCourant(), new ImageVue()); |
imagePresenteur.go(vue.getImageTable()); |
} |
} |
CacheClient.getInstance().mettreAjourUrlCourante(); |
vue.stopChargement(); |
} |
|
private void creerWidgetPagination(int nbImages) { |
PaginationPresenteur imagesPaginationPresenteurHaut = creerPresenteurPagination(nbImages); |
PaginationPresenteur imagesPaginationPresenteurBas = creerPresenteurPagination(nbImages); |
imagesPaginationPresenteurHaut.setGroupePagination("pagination_images"); |
imagesPaginationPresenteurBas.setGroupePagination("pagination_images"); |
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 chargerElements(int debut, int fin) { |
chargerEtAfficherImages(debut, fin); |
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante()); |
} |
|
@Override |
public void actualiserPasCache(int pas) { |
CacheClient.getInstance().setPasPagination(pas); |
} |
}; |
return imagesPaginationPresenteur; |
} |
|
public void chargerEtAfficherImagesPageEnCours() { |
final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination(); |
final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination(); |
chargerEtAfficherImages(debut, fin); |
} |
|
public Vue getVue() { |
return vue; |
} |
} |
package org.tela_botanica.del.client.vues.pictoflora.resultats; |
|
import java.util.List; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur; |
import org.tela_botanica.del.client.composants.pagination.PaginationVue; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ImageServiceResultat; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
import org.tela_botanica.del.client.modeles.ModeTri; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole; |
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole; |
import org.tela_botanica.del.client.services.rest.ImageService; |
import org.tela_botanica.del.client.services.rest.ProtocoleService; |
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback; |
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback; |
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImagePresenteur; |
import org.tela_botanica.del.client.vues.pictoflora.resultats.images.ImageVue; |
|
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.dom.client.NodeList; |
import com.google.gwt.dom.client.OptionElement; |
import com.google.gwt.dom.client.SelectElement; |
import com.google.gwt.event.dom.client.ChangeEvent; |
import com.google.gwt.event.dom.client.ChangeHandler; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasChangeHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.ListBox; |
|
public class ResultatPictofloraPresenteur { |
public interface Vue extends IsWidget { |
|
|
public void startChargement(); |
|
public void nettoyer(); |
|
public void creerPanneauxObservations(int size); |
|
public void stopChargement(); |
|
public List<HasWidgets> getPanneauxImages(); |
|
public HasWidgets getPanneauPagination(); |
|
public HasWidgets getPanneauPaginationHaut(); |
|
public HasClickHandlers getTriParMoyenneArithmetiqueAscendant(); |
|
public HasClickHandlers getTriParMoyenneArithmetiqueDescendant(); |
|
public HasClickHandlers getTriParPointsAscendant(); |
|
public HasClickHandlers getTriParPointsDescendant(); |
|
public HasClickHandlers getTriParDateAscendant(); |
|
public HasClickHandlers getTriParDateDescendant(); |
|
public HasClickHandlers getTriParNbTagsAscendant(); |
|
public HasClickHandlers getTriParNbTagsDescendant(); |
|
public void afficherElementsAucunResultatTrouve(); |
|
public void afficherElementsResultatsTrouve(); |
|
public HTMLPanel getImageTable(); |
|
public HasClickHandlers getLabelMoyenneArithmetique(); |
|
public void masquerMoyenneArithmetiqueAscendant(); |
|
public void masquerMoyenneArithmetiqueDescendant(); |
|
public void afficherMoyenneArithmetiqueAscendant(); |
|
public void afficherMoyenneArithmetiqueDescendant(); |
|
public HasClickHandlers getLabelDate(); |
|
public void masquerDateAscendant(); |
|
public void masquerDateDescendant(); |
|
public void afficherDateAscendant(); |
|
public void afficherDateDescendant(); |
|
public HasClickHandlers getLabelTag(); |
|
public void masquerTagAscendant(); |
|
public void afficherTagDescendant(); |
|
public void masquerTagDescendant(); |
|
public void afficherTagAscendant(); |
|
public HasClickHandlers getLabelPoints(); |
|
public void afficherPointsAscendant(); |
|
public void afficherPointsDescendant(); |
|
public void masquerPointsAscendant(); |
|
public void masquerPointsDescendant(); |
|
} |
|
private Vue vue; |
private ImageService imageService; |
private final ProtocoleService protocoleService; |
private ModeTri triCourantMoyenneArithmetique = ModeTri.TRI_ASCENDANT; |
private ModeTri triCourantPoints = ModeTri.TRI_ASCENDANT; |
private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT; |
private ModeTri triCourantTag = ModeTri.TRI_DESCENDANT; |
|
public ResultatPictofloraPresenteur(ImageService imageService, ProtocoleService protocoleService, Vue vue) { |
this.vue = vue; |
this.imageService = imageService; |
this.protocoleService=protocoleService; |
} |
|
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
vue.startChargement(); |
rechercherImagesEtCreerWidgetPagination(); |
gererEvenements(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
|
initialiserAPartirInfosCache(); |
} |
|
private void initialiserAPartirInfosCache() { |
InformationsRecherche infos = CacheClient.getInstance().getInformationsRechercheImage(); |
if (infos.getTriParDatePublication() != ModeTri.PAS_DE_TRI) { |
triCourantDate = infos.getTriParDatePublication(); |
mettreAJourAffichageTriDate(); |
} |
|
if (infos.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) { |
triCourantMoyenneArithmetique = infos.getTriParMoyenneArithmetique(); |
mettreAJourAffichageTriMoyenneArithmetique(); |
} |
|
if (infos.getTriParNbPoints() != ModeTri.PAS_DE_TRI) { |
triCourantPoints = infos.getTriParNbPoints(); |
mettreAJourAffichageTriPoints(); |
} |
|
if (infos.getTriParNbTags() != ModeTri.PAS_DE_TRI) { |
triCourantTag = infos.getTriParNbTags(); |
mettreAjourAffichageTriTag(); |
} |
} |
|
public void gererEvenements() { |
ClickHandler surClicTriMoyenneArithmetique = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriMoyenneArithmetique(); |
} |
}; |
|
vue.getLabelMoyenneArithmetique().addClickHandler(surClicTriMoyenneArithmetique); |
vue.getTriParMoyenneArithmetiqueAscendant().addClickHandler(surClicTriMoyenneArithmetique); |
vue.getTriParMoyenneArithmetiqueDescendant().addClickHandler(surClicTriMoyenneArithmetique); |
|
ClickHandler surClicTriPoints = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriPoints(); |
} |
}; |
|
vue.getLabelPoints().addClickHandler(surClicTriPoints); |
vue.getTriParPointsAscendant().addClickHandler(surClicTriPoints); |
vue.getTriParPointsDescendant().addClickHandler(surClicTriPoints); |
|
ClickHandler surClicTriDate = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriDate(); |
} |
}; |
|
vue.getLabelDate().addClickHandler(surClicTriDate); |
vue.getTriParDateAscendant().addClickHandler(surClicTriDate); |
vue.getTriParDateDescendant().addClickHandler(surClicTriDate); |
|
ClickHandler surClicTriTag = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
surClicTriTag(); |
} |
}; |
|
vue.getLabelTag().addClickHandler(surClicTriTag); |
vue.getTriParNbTagsAscendant().addClickHandler(surClicTriTag); |
vue.getTriParNbTagsDescendant().addClickHandler(surClicTriTag); |
|
BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() { |
@Override |
public void onChangementProtocole(EvenementChangementProtocole event) { |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
if (informationsRechercheImages.getTriParMoyenneArithmetique() != ModeTri.PAS_DE_TRI) { |
informationsRechercheImages.setIdProtocoleSelectionne(event.getProtocole().getId() + ""); |
chargerEtAfficherImagesPageEnCours(); |
} |
} |
}); |
} |
|
protected void surClicTriTag() { |
triCourantTag = (triCourantTag == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAjourAffichageTriTag(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
informationsRechercheImages.setTriParNbTags(triCourantTag); |
informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAjourAffichageTriTag() { |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
if (triCourantTag == ModeTri.TRI_ASCENDANT) { |
vue.masquerTagDescendant(); |
vue.afficherTagAscendant(); |
} else { |
vue.masquerTagAscendant(); |
vue.afficherTagDescendant(); |
} |
} |
|
public void surClicTriMoyenneArithmetique() { |
triCourantMoyenneArithmetique = (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAJourAffichageTriMoyenneArithmetique(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId(); |
informationsRechercheImages.setTriParMoyenneArithmetique(triCourantMoyenneArithmetique); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + ""); |
informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAJourAffichageTriMoyenneArithmetique() { |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
if (triCourantMoyenneArithmetique == ModeTri.TRI_ASCENDANT) { |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.afficherMoyenneArithmetiqueAscendant(); |
} else { |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.afficherMoyenneArithmetiqueDescendant(); |
} |
} |
|
public void surClicTriPoints() { |
triCourantPoints = (triCourantPoints == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAJourAffichageTriPoints(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId(); |
informationsRechercheImages.setTriParNbPoints(triCourantPoints); |
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole + ""); |
informationsRechercheImages.setTriParDatePublication(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAJourAffichageTriPoints() { |
vue.masquerDateDescendant(); |
vue.masquerDateAscendant(); |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
if (triCourantPoints == ModeTri.TRI_ASCENDANT) { |
vue.masquerPointsDescendant(); |
vue.afficherPointsAscendant(); |
} else { |
vue.masquerPointsAscendant(); |
vue.afficherPointsDescendant(); |
} |
} |
|
public void surClicTriDate() { |
triCourantDate = (triCourantDate == ModeTri.TRI_ASCENDANT) ? ModeTri.TRI_DESCENDANT : ModeTri.TRI_ASCENDANT; |
mettreAJourAffichageTriDate(); |
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage(); |
informationsRechercheImages.setTriParDatePublication(triCourantDate); |
informationsRechercheImages.setTriParMoyenneArithmetique(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbTags(ModeTri.PAS_DE_TRI); |
informationsRechercheImages.setTriParNbPoints(ModeTri.PAS_DE_TRI); |
chargerEtAfficherImagesPageEnCours(); |
} |
|
private void mettreAJourAffichageTriDate() { |
vue.masquerTagAscendant(); |
vue.masquerTagDescendant(); |
vue.masquerMoyenneArithmetiqueDescendant(); |
vue.masquerMoyenneArithmetiqueAscendant(); |
vue.masquerPointsAscendant(); |
vue.masquerPointsDescendant(); |
if (triCourantDate == ModeTri.TRI_ASCENDANT) { |
vue.masquerDateDescendant(); |
vue.afficherDateAscendant(); |
} else { |
vue.masquerDateAscendant(); |
vue.afficherDateDescendant(); |
} |
} |
|
public void rechercherImagesEtCreerWidgetPagination() { |
// appel du service d'image pour avoir le nb total d'elements pour la |
// pagination |
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() { |
|
@Override |
public void surRetour(ImageServiceResultat imagesRecues) { |
creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche()); |
afficherImages(imagesRecues); |
|
} |
|
@Override |
public void surErreur(String messageErreur) { |
Window.alert(messageErreur); |
|
} |
}; |
final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination(); |
final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination(); |
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), debut, fin, callback); |
} |
|
private void chargerEtAfficherImages(final int premier, final int dernier) { |
vue.startChargement(); |
vue.nettoyer(); |
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() { |
|
@Override |
public void surRetour(ImageServiceResultat imagesRecues) { |
afficherImages(imagesRecues); |
} |
|
@Override |
public void surErreur(String messageErreur) { |
Window.alert(messageErreur); |
} |
|
}; |
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback); |
} |
|
public void afficherImages(ImageServiceResultat imageServiceResult) { |
List<Image> images = imageServiceResult.getImages(); |
if (images == null || images.size() == 0) { |
vue.afficherElementsAucunResultatTrouve(); |
} else { |
vue.afficherElementsResultatsTrouve(); |
for (Image image : images) { |
ImagePresenteur imagePresenteur = new ImagePresenteur(image, imageService, CacheClient.getInstance().getProtocoleCourant(), new ImageVue()); |
imagePresenteur.go(vue.getImageTable()); |
} |
} |
CacheClient.getInstance().mettreAjourUrlCourante(); |
vue.stopChargement(); |
} |
|
private void creerWidgetPagination(int nbImages) { |
PaginationPresenteur imagesPaginationPresenteurHaut = creerPresenteurPagination(nbImages); |
PaginationPresenteur imagesPaginationPresenteurBas = creerPresenteurPagination(nbImages); |
imagesPaginationPresenteurHaut.setGroupePagination("pagination_images"); |
imagesPaginationPresenteurBas.setGroupePagination("pagination_images"); |
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 chargerElements(int debut, int fin) { |
chargerEtAfficherImages(debut, fin); |
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante()); |
} |
|
@Override |
public void actualiserPasCache(int pas) { |
CacheClient.getInstance().setPasPagination(pas); |
} |
}; |
return imagesPaginationPresenteur; |
} |
|
public void chargerEtAfficherImagesPageEnCours() { |
final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination(); |
final int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination(); |
chargerEtAfficherImages(debut, fin); |
} |
|
public Vue getVue() { |
return vue; |
} |
} |