Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 960 → Rev 966

/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java
17,6 → 17,7
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.ObservationServiceResultat;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
51,58 → 52,52
 
public class DeterminationPresenteur extends Presenteur {
 
/**
* Vue de l'interface de détermination
* */
public interface Vue extends IsWidget {
public Panel getForum();
 
public Panel getDetailImageObservation();
 
public Panel getFormulaireRechercheEflore();
 
public Panel getVoteProtocole();
 
public Button getBoutonAjoutProposition();
 
public Button getBoutonAjoutCommentaire();
 
public Button getBoutonAjoutPropositionBas();
 
public Button getBoutonAjoutCommentaireBas();
 
public HasWidgets getMetadonnees();
 
// public void ajouterLigneVoteProtocole(IsWidget vue);
// public void ajouterLigneVoteProtocole(String nom, IsWidget vue);
public HasWidgets getNouvelleLigneProtocole();
 
public void afficherNomTaxonProbable(String nomTaxon);
}
 
private Vue vue;
private FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur;
 
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur;
 
// Déclaration des services à utiliser
private ProtocoleService protocoleService;
private ObservationService observationService;
 
private CacheClient cache = CacheClient.getInstance();
public DeterminationPresenteur(Vue vue, ObservationService observationService, ProtocoleService protocoleService) {
this.vue = vue;
this.protocoleService = protocoleService;
this.observationService = observationService;
this.protocoleService = protocoleService;
}
 
public void go(final HasWidgets composite) {
 
// TODO afficher une icone de chargement si le chargement devient trop
// long
// TODO afficher une icone de chargement si le chargement devient trop long
// car tout l'écran est asynchrone ici
observationService.getObservation(CacheClient.getInstance().getObservationCourante().getId(), new ObservationsCallback() {
final Observation observationCourante = cache.getObservationCourante();
observationService.getObservation(observationCourante.getId(), new ObservationsCallback() {
 
@Override
public void surRetour(ObservationServiceResultat objetRetour) {
CacheClient.getInstance().setImageCourante(CacheClient.getInstance().getObservationCourante().getImages().get(0));
cache.setImageCourante(observationCourante.getImages().get(0));
 
new MetadonneesPresenteur(new MetadonneesEnLigneVue(), CacheClient.getInstance().getObservationCourante(), ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees());
new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation());
new MetadonneesPresenteur(new MetadonneesEnLigneVue(), observationCourante, ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees());
new ObservationImagesPresenteur(new ObservationImagesVue(), observationCourante).go(vue.getDetailImageObservation());
 
chargerEtAjouterLignesVotesProtocole();
new ForumPresenteur(new ForumVue()).go(vue.getForum());
122,7 → 117,7
}
 
private void chargerEtAjouterLignesVotesProtocole() {
if (CacheClient.getInstance().getListeProtocoles() == null) {
if (cache.getListeProtocoles() == null) {
protocoleService.getProtocoles(new ProtocolesCallback() {
 
@Override
132,7 → 127,7
}
});
} else {
List<Protocole> listeProtocoles = CacheClient.getInstance().getListeProtocoles();
List<Protocole> listeProtocoles = cache.getListeProtocoles();
ajouterLignesVotesProtocole(listeProtocoles);
}
}
146,12 → 141,16
}
 
private void calculerEtAfficherVoteDeterminationPlusPopulaire() {
 
List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(CacheClient.getInstance().getObservationCourante().getPropositionDeterminations());
Observation observation = cache.getObservationCourante();
String nomTaxon = observation.getNomRetenu();
List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(cache.getObservationCourante().getPropositionDeterminations());
if (votesOrdonnes.size() > 0) {
String nomTaxon = votesOrdonnes.get(0).getIntituleAssocie();
vue.afficherNomTaxonProbable(nomTaxon);
nomTaxon = votesOrdonnes.get(0).getIntituleAssocie();
}
vue.afficherNomTaxonProbable(nomTaxon);
}
 
public void gererEvenements() {
171,11 → 170,11
};
vue.getBoutonAjoutProposition().addClickHandler(clicAjoutProposition);
vue.getBoutonAjoutPropositionBas().addClickHandler(clicAjoutProposition);
 
ClickHandler clicAjoutCommentaire = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(CacheClient.getInstance().getObservationCourante(), new CommentaireServiceConcret(), new FormulaireCommentaireVue());
FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(cache.getObservationCourante(), new CommentaireServiceConcret(), new FormulaireCommentaireVue());
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(commentairePresenteur);
}