Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
480 benjamin 1
package org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations;
436 benjamin 2
 
3
import java.util.List;
4
 
5
import org.tela_botanica.del.client.i18n.I18n;
6
import org.tela_botanica.del.client.modeles.PropositionDetermination;
480 benjamin 7
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.votes.DetailVoteObservationPresenteur;
8
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.votes.DetailVoteObservationVue;
436 benjamin 9
 
10
import com.google.gwt.user.client.ui.HTMLPanel;
11
import com.google.gwt.user.client.ui.HasWidgets;
12
import com.google.gwt.user.client.ui.IsWidget;
13
 
14
public class ObservationDeterminationPresenteur {
15
 
16
	public abstract interface Vue extends IsWidget {
652 aurelien 17
		public void viderTableau();
18
		public void ajouterElementAuTableauProposition(IsWidget Element, String texte);
436 benjamin 19
	}
20
 
21
	private Vue vue;
22
 
23
	private List<PropositionDetermination> propositions;
24
 
25
	public ObservationDeterminationPresenteur(Vue vue, List<PropositionDetermination> propositions) {
26
		this.propositions = propositions;
27
		this.vue = vue;
28
	}
29
 
30
	public void chargerPropositions() {
652 aurelien 31
		vue.viderTableau();
436 benjamin 32
		for (PropositionDetermination proposition : propositions) {
866 aurelien 33
			//TODO: afficher nombre de votes total et mettre à jour en cas de vote
436 benjamin 34
			HTMLPanel panneau = new HTMLPanel("");
35
			DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition);
36
			presenteurVote.go(panneau);
652 aurelien 37
			vue.ajouterElementAuTableauProposition(panneau, String.valueOf(proposition.getListeCommentaires().size()));
436 benjamin 38
		}
39
	}
602 aurelien 40
 
41
	public void setPropositions(List<PropositionDetermination> propositions) {
42
		this.propositions = propositions;
43
		chargerPropositions();
44
	}
436 benjamin 45
 
46
	public void go(HasWidgets composite) {
47
		composite.add(vue.asWidget());
48
		chargerPropositions();
49
	}
50
 
51
}