Subversion Repositories eFlore/Applications.del

Rev

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

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