Subversion Repositories eFlore/Applications.del

Rev

Rev 276 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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