Subversion Repositories eFlore/Applications.del

Rev

Rev 933 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
922 benjamin 1
package org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations;
2
 
3
import org.tela_botanica.del.client.composants.commentaires.DetailCommentairePresenteur;
4
import org.tela_botanica.del.client.composants.commentaires.DetailCommentaireVue;
5
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue;
6
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur;
7
import org.tela_botanica.del.client.composants.votes.details.DetailListeVotesDeterminationPresenteur;
8
import org.tela_botanica.del.client.composants.votes.details.DetailListeVotesDeterminationVue;
9
import org.tela_botanica.del.client.modeles.PropositionDetermination;
959 benjamin 10
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret;
922 benjamin 11
 
12
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickHandler;
14
import com.google.gwt.event.dom.client.HasClickHandlers;
15
import com.google.gwt.user.client.ui.HasWidgets;
16
import com.google.gwt.user.client.ui.IsWidget;
17
 
18
public class LignePropositionPresenteur {
19
 
20
	public abstract interface Vue extends IsWidget {
21
		public HasClickHandlers getZoneNbVotes();
22
 
23
		public HasClickHandlers getZoneNbCommentaires();
24
 
25
		public void setNbVotes(int nbVotes);
26
 
27
		public void setNbCommentaires(int nbCommentaires);
28
	}
29
 
30
	private Vue vue;
31
 
32
	private PropositionDetermination propositionDetermination;
33
 
34
	public LignePropositionPresenteur(Vue vue, PropositionDetermination propositionDetermination) {
35
		this.vue = vue;
36
		this.propositionDetermination = propositionDetermination;
37
	}
38
 
39
	public void go(HasWidgets composite) {
40
		composite.add(vue.asWidget());
41
		gererEvenements();
42
		chargerPropositionDetermination();
43
	}
44
 
45
	public void chargerPropositionDetermination() {
46
		int nbCommentaires = propositionDetermination.getTotalCommentaires();
47
		int nbVotes = propositionDetermination.getVotesDeterminations().size();
48
		vue.setNbCommentaires(nbCommentaires);
49
		vue.setNbVotes(nbVotes);
50
	}
51
 
52
	public void gererEvenements() {
53
		vue.getZoneNbVotes().addClickHandler(new ClickHandler() {
54
			@Override
55
			public void onClick(ClickEvent event) {
926 benjamin 56
				FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
57
				DetailListeVotesDeterminationPresenteur detailListeVotesDeterminationPresenteur = new DetailListeVotesDeterminationPresenteur(new DetailListeVotesDeterminationVue());
58
				fenetreOverlaySimplePresenteur.ouvrirFenetreModale(detailListeVotesDeterminationPresenteur);
59
				detailListeVotesDeterminationPresenteur.afficherVotes(propositionDetermination);
922 benjamin 60
			}
61
		});
62
 
63
		vue.getZoneNbCommentaires().addClickHandler(new ClickHandler() {
64
			@Override
65
			public void onClick(ClickEvent event) {
926 benjamin 66
				FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
959 benjamin 67
				DetailCommentairePresenteur detailCommentairePresenteur = new DetailCommentairePresenteur(new DetailCommentaireVue(), new CommentaireServiceConcret(), propositionDetermination);
926 benjamin 68
				fenetreOverlaySimplePresenteur.ouvrirFenetreModale(detailCommentairePresenteur);
69
				detailCommentairePresenteur.afficherCommentaires();
922 benjamin 70
			}
71
		});
72
	}
73
 
74
}