Subversion Repositories eFlore/Applications.del

Rev

Details | 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;
276 aurelien 21
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVoteVue;
41 aurelien 22
 
262 aurelien 23
import com.google.gwt.event.dom.client.ClickEvent;
24
import com.google.gwt.event.dom.client.ClickHandler;
41 aurelien 25
import com.google.gwt.user.client.ui.HasWidgets;
26
 
262 aurelien 27
public class DeterminationPresenteur extends Presenteur {
135 gduche 28
 
170 aurelien 29
	BarreRepartitionVotePresenteur barreRepartitionVotePresenteur;
183 gduche 30
 
46 aurelien 31
	public DeterminationPresenteur() {
262 aurelien 32
		super(new DeterminationVue());
41 aurelien 33
	}
135 gduche 34
 
41 aurelien 35
	public void go(HasWidgets composite) {
135 gduche 36
 
262 aurelien 37
		DeterminationVue determinationVue = (DeterminationVue)getVue();
38
 
46 aurelien 39
		new DetailImageObservationPresenteur().go(determinationVue.getDetailImageObservation());
103 benjamin 40
		new EnsembleVotesPresenteur().go(determinationVue.getVote());
46 aurelien 41
		new ForumPresenteur().go(determinationVue.getForum());
135 gduche 42
		new FormulaireRechercheEflorePresenteur().go(determinationVue.getFormulaireRechercheEflore());
183 gduche 43
 
276 aurelien 44
		barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue());
170 aurelien 45
		barreRepartitionVotePresenteur.go(determinationVue.getBarreRepartition());
46
		calculerEtAfficherVoteDeterminationPlusPopulaire();
183 gduche 47
 
46 aurelien 48
		composite.add(determinationVue);
248 aurelien 49
 
50
		gererEvenements();
41 aurelien 51
	}
183 gduche 52
 
170 aurelien 53
	private void calculerEtAfficherVoteDeterminationPlusPopulaire() {
183 gduche 54
 
234 gduche 55
		List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(CacheClient.getInstance().getObservationCourante().getPropositionsDetermination());
183 gduche 56
		if (votesOrdonnes.size() > 0) {
188 aurelien 57
			barreRepartitionVotePresenteur.afficherVotes(votesOrdonnes.get(0));
170 aurelien 58
		}
59
	}
248 aurelien 60
 
61
	public void gererEvenements() {
62
		BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() {
63
			@Override
64
			public void onVoteDetermination(VoteDetermination event) {
65
				calculerEtAfficherVoteDeterminationPlusPopulaire();
66
			}
67
		});
262 aurelien 68
 
69
		((DeterminationVue)getVue()).getBoutonAjoutProposition().addClickHandler(new ClickHandler() {
70
			@Override
71
			public void onClick(ClickEvent event) {
72
 
73
				ouvrirFenetreModale(new FormulairePropositionPresenteur());
74
			}
75
		});
76
 
77
		BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() {
78
 
79
			@Override
80
			public void onAjoutDetermination(EvenementAjoutDetermination event) {
81
				if(fenetreModaleEstOuverte()) {
82
					fermerFenetreModale();
83
				}
84
			}
85
		});
248 aurelien 86
	}
41 aurelien 87
}