Subversion Repositories eFlore/Applications.del

Rev

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

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