Subversion Repositories eFlore/Applications.del

Rev

Rev 248 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
41 aurelien 1
package org.tela_botanica.del.client.vues.plateformedetermination;
2
 
170 aurelien 3
import java.util.List;
4
 
181 benjamin 5
import org.tela_botanica.del.client.cache.CacheClient;
262 aurelien 6
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
170 aurelien 7
import org.tela_botanica.del.client.modeles.MoyenneVote;
248 aurelien 8
import org.tela_botanica.del.client.modeles.VoteDetermination;
9
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
10
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
11
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination;
12
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.EvenementVoteDetermination;
13
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.GestionnaireEvenementVoteDetermination;
170 aurelien 14
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
46 aurelien 15
import org.tela_botanica.del.client.vues.plateformedetermination.detail.DetailImageObservationPresenteur;
16
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionPresenteur;
72 aurelien 17
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
46 aurelien 18
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur;
103 benjamin 19
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesPresenteur;
140 aurelien 20
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur;
41 aurelien 21
 
262 aurelien 22
import com.google.gwt.event.dom.client.ClickEvent;
23
import com.google.gwt.event.dom.client.ClickHandler;
41 aurelien 24
import com.google.gwt.user.client.ui.HasWidgets;
25
 
262 aurelien 26
public class DeterminationPresenteur extends Presenteur {
135 gduche 27
 
170 aurelien 28
	BarreRepartitionVotePresenteur barreRepartitionVotePresenteur;
183 gduche 29
 
46 aurelien 30
	public DeterminationPresenteur() {
262 aurelien 31
		super(new DeterminationVue());
41 aurelien 32
	}
135 gduche 33
 
41 aurelien 34
	public void go(HasWidgets composite) {
135 gduche 35
 
262 aurelien 36
		DeterminationVue determinationVue = (DeterminationVue)getVue();
37
 
46 aurelien 38
		new DetailImageObservationPresenteur().go(determinationVue.getDetailImageObservation());
103 benjamin 39
		new EnsembleVotesPresenteur().go(determinationVue.getVote());
46 aurelien 40
		new ForumPresenteur().go(determinationVue.getForum());
135 gduche 41
		new FormulaireRechercheEflorePresenteur().go(determinationVue.getFormulaireRechercheEflore());
183 gduche 42
 
170 aurelien 43
		barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur();
44
		barreRepartitionVotePresenteur.go(determinationVue.getBarreRepartition());
45
		calculerEtAfficherVoteDeterminationPlusPopulaire();
183 gduche 46
 
46 aurelien 47
		composite.add(determinationVue);
248 aurelien 48
 
49
		gererEvenements();
41 aurelien 50
	}
183 gduche 51
 
170 aurelien 52
	private void calculerEtAfficherVoteDeterminationPlusPopulaire() {
183 gduche 53
 
234 gduche 54
		List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(CacheClient.getInstance().getObservationCourante().getPropositionsDetermination());
183 gduche 55
		if (votesOrdonnes.size() > 0) {
188 aurelien 56
			barreRepartitionVotePresenteur.afficherVotes(votesOrdonnes.get(0));
170 aurelien 57
		}
58
	}
248 aurelien 59
 
60
	public void gererEvenements() {
61
		BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() {
62
			@Override
63
			public void onVoteDetermination(VoteDetermination event) {
64
				calculerEtAfficherVoteDeterminationPlusPopulaire();
65
			}
66
		});
262 aurelien 67
 
68
		((DeterminationVue)getVue()).getBoutonAjoutProposition().addClickHandler(new ClickHandler() {
69
			@Override
70
			public void onClick(ClickEvent event) {
71
 
72
				ouvrirFenetreModale(new FormulairePropositionPresenteur());
73
			}
74
		});
75
 
76
		BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() {
77
 
78
			@Override
79
			public void onAjoutDetermination(EvenementAjoutDetermination event) {
80
				if(fenetreModaleEstOuverte()) {
81
					fermerFenetreModale();
82
				}
83
			}
84
		});
248 aurelien 85
	}
41 aurelien 86
}