Subversion Repositories eFlore/Applications.del

Rev

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

Rev 332 Rev 436
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.detail.DetailImageObservationVue;
16
import org.tela_botanica.del.client.vues.plateformedetermination.detail.DetailImageObservationVue;
17
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionPresenteur;
17
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionPresenteur;
18
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionVue;
18
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionVue;
19
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
19
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
20
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur;
20
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur;
21
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumVue;
21
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumVue;
22
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesPresenteur;
22
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesPresenteur;
23
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesVue;
23
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesVue;
24
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur;
24
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur;
25
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVoteVue;
25
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVoteVue;
-
 
26
import org.tela_botanica.del.client.vues.rechercheobservations.observationimages.ObservationImagesPresenteur;
-
 
27
import org.tela_botanica.del.client.vues.rechercheobservations.observationimages.ObservationImagesVue;
26
 
28
 
27
import com.google.gwt.event.dom.client.ClickEvent;
29
import com.google.gwt.event.dom.client.ClickEvent;
28
import com.google.gwt.event.dom.client.ClickHandler;
30
import com.google.gwt.event.dom.client.ClickHandler;
-
 
31
import com.google.gwt.user.client.Window;
29
import com.google.gwt.user.client.ui.Button;
32
import com.google.gwt.user.client.ui.Button;
30
import com.google.gwt.user.client.ui.HasWidgets;
33
import com.google.gwt.user.client.ui.HasWidgets;
31
import com.google.gwt.user.client.ui.IsWidget;
34
import com.google.gwt.user.client.ui.IsWidget;
32
import com.google.gwt.user.client.ui.VerticalPanel;
35
import com.google.gwt.user.client.ui.VerticalPanel;
33
 
36
 
34
public class DeterminationPresenteur extends Presenteur {
37
public class DeterminationPresenteur extends Presenteur {
35
 
38
 
36
	public abstract interface Vue extends IsWidget {
39
	public abstract interface Vue extends IsWidget {
37
		public VerticalPanel getForum();
40
		public VerticalPanel getForum();
-
 
41
 
38
		public VerticalPanel getDetailImageObservation();
42
		public VerticalPanel getDetailImageObservation();
-
 
43
 
39
		public VerticalPanel getFormulaireRechercheEflore();
44
		public VerticalPanel getFormulaireRechercheEflore();
-
 
45
 
40
		public VerticalPanel getVote();	
46
		public VerticalPanel getVote();
-
 
47
 
41
		public VerticalPanel getBarreRepartition();
48
		public VerticalPanel getBarreRepartition();
-
 
49
 
42
		public Button getBoutonAjoutProposition();
50
		public Button getBoutonAjoutProposition();
43
	}
51
	}
-
 
52
 
44
	private Vue vue;
53
	private Vue vue;
45
	
54
 
46
	BarreRepartitionVotePresenteur barreRepartitionVotePresenteur;
55
	BarreRepartitionVotePresenteur barreRepartitionVotePresenteur;
47
 
56
 
48
	public DeterminationPresenteur(Vue vue) {
57
	public DeterminationPresenteur(Vue vue) {
49
		this.vue = vue;
58
		this.vue = vue;
50
	}
59
	}
51
 
60
 
52
	public void go(HasWidgets composite) {
61
	public void go(HasWidgets composite) {
53
		
62
 
54
		if (CacheClient.getInstance().getImageCourante() != null) {
63
		if (CacheClient.getInstance().getImageCourante() != null) {
-
 
64
			// new DetailImageObservationPresenteur(new
55
			new DetailImageObservationPresenteur(new DetailImageObservationVue()).go(vue.getDetailImageObservation());
65
			// DetailImageObservationVue()).go(vue.getDetailImageObservation());
-
 
66
			new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation());
56
			new EnsembleVotesPresenteur(new EnsembleVotesVue()).go(vue.getVote());
67
			new EnsembleVotesPresenteur(new EnsembleVotesVue()).go(vue.getVote());
57
		}
68
		}
58
		new ForumPresenteur(new ForumVue()).go(vue.getForum());
69
		new ForumPresenteur(new ForumVue()).go(vue.getForum());
59
		new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore());
70
		new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore());
60
 
71
 
61
		barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue());
72
		barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue());
62
		barreRepartitionVotePresenteur.go(vue.getBarreRepartition());
73
		barreRepartitionVotePresenteur.go(vue.getBarreRepartition());
63
		calculerEtAfficherVoteDeterminationPlusPopulaire();
74
		calculerEtAfficherVoteDeterminationPlusPopulaire();
64
 
75
 
65
		composite.add(vue.asWidget());
76
		composite.add(vue.asWidget());
66
		
77
 
67
		gererEvenements();
78
		gererEvenements();
68
	}
79
	}
69
 
80
 
70
	private void calculerEtAfficherVoteDeterminationPlusPopulaire() {
81
	private void calculerEtAfficherVoteDeterminationPlusPopulaire() {
71
 
82
 
72
		List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(CacheClient.getInstance().getObservationCourante().getPropositionsDetermination());
83
		List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(CacheClient.getInstance().getObservationCourante().getPropositionsDetermination());
73
		if (votesOrdonnes.size() > 0) {
84
		if (votesOrdonnes.size() > 0) {
74
			barreRepartitionVotePresenteur.afficherVotes(votesOrdonnes.get(0));
85
			barreRepartitionVotePresenteur.afficherVotes(votesOrdonnes.get(0));
75
		}
86
		}
76
	}
87
	}
77
	
88
 
78
	public void gererEvenements() {
89
	public void gererEvenements() {
79
		BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() {
90
		BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() {
80
			@Override
91
			@Override
81
			public void onVoteDetermination(VoteDetermination event) {
92
			public void onVoteDetermination(VoteDetermination event) {
82
				calculerEtAfficherVoteDeterminationPlusPopulaire();
93
				calculerEtAfficherVoteDeterminationPlusPopulaire();
83
			}
94
			}
84
		});
95
		});
85
		
96
 
86
		vue.getBoutonAjoutProposition().addClickHandler(new ClickHandler() {		
97
		vue.getBoutonAjoutProposition().addClickHandler(new ClickHandler() {
87
			@Override
98
			@Override
88
			public void onClick(ClickEvent event) {
99
			public void onClick(ClickEvent event) {
89
				
100
 
90
				ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue()));
101
				ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue()));
91
			}
102
			}
92
		});
103
		});
93
		
104
 
94
		BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() {
105
		BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() {
95
			
106
 
96
			@Override
107
			@Override
97
			public void onAjoutDetermination(EvenementAjoutDetermination event) {
108
			public void onAjoutDetermination(EvenementAjoutDetermination event) {
98
				if(fenetreModaleEstOuverte()) {
109
				if (fenetreModaleEstOuverte()) {
99
					fermerFenetreModale();
110
					fermerFenetreModale();
100
				}
111
				}
101
			}
112
			}
102
		});
113
		});
103
	}
114
	}
104
}
115
}