Subversion Repositories eFlore/Applications.del

Rev

Rev 922 | Rev 939 | 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.composants.commentaires;
2
 
3
import java.util.List;
4
 
5
import org.tela_botanica.del.client.i18n.I18n;
6
import org.tela_botanica.del.client.modeles.Commentaire;
7
import org.tela_botanica.del.client.modeles.PropositionDetermination;
8
 
9
import com.google.gwt.core.client.GWT;
10
import com.google.gwt.uibinder.client.UiBinder;
11
import com.google.gwt.uibinder.client.UiField;
12
import com.google.gwt.user.client.ui.Composite;
13
import com.google.gwt.user.client.ui.FlexTable;
14
import com.google.gwt.user.client.ui.HTMLPanel;
15
import com.google.gwt.user.client.ui.Panel;
16
import com.google.gwt.user.client.ui.Widget;
17
 
18
public class DetailCommentaireVue extends Composite implements DetailCommentairePresenteur.Vue {
19
 
20
	private static DetailListeVotesDeterminationVueUIiBinder uiBinder = GWT.create(DetailListeVotesDeterminationVueUIiBinder.class);
21
 
22
	interface DetailListeVotesDeterminationVueUIiBinder extends UiBinder<Widget, DetailCommentaireVue> {
23
	};
24
 
25
	@UiField
926 benjamin 26
	HTMLPanel titre, aucuneDonnees;
922 benjamin 27
 
28
	@UiField
29
	Panel panneauChargement;
30
 
31
	@UiField
32
	FlexTable htmlTableau;
33
 
34
	public DetailCommentaireVue() {
35
		initWidget(uiBinder.createAndBindUi(this));
36
	}
37
 
38
	@Override
39
	public void afficherCommentairesProposition(PropositionDetermination propositionDetermination) {
40
 
41
		htmlTableau.clear();
42
		creerEntetes();
43
 
44
		if (propositionDetermination.getCommentaire() != null && propositionDetermination.getCommentaire() != "") {
45
			htmlTableau.setHTML(2, 1, propositionDetermination.getAuteur());
46
			htmlTableau.setHTML(2, 2, propositionDetermination.getCommentaire());
47
			htmlTableau.setHTML(2, 3, propositionDetermination.getDate() + "");
48
		}
49
 
50
		creerListeCommentaireRecursive(propositionDetermination.getListeCommentaires());
51
	}
52
 
53
	private void creerListeCommentaireRecursive(List<Commentaire> commentaires) {
54
 
55
		for (Commentaire commentaire : commentaires) {
56
			chargerCommentaire(commentaire);
57
			if (commentaire.getListeCommentaires().size() > 0) {
58
				creerListeCommentaireRecursive(commentaire.getListeCommentaires());
59
			}
60
		}
61
	}
62
 
63
	private void chargerCommentaire(Commentaire commentaire) {
64
		int ligne = htmlTableau.getRowCount() + 1;
65
		htmlTableau.setHTML(ligne, 1, commentaire.getAuteur());
66
		htmlTableau.setHTML(ligne, 2, commentaire.getCommentaire());
67
		htmlTableau.setHTML(ligne, 3, commentaire.getDate() + "");
68
	}
69
 
70
	private void creerEntetes() {
71
		htmlTableau.setHTML(1, 1, I18n.getVocabulary().contributeur());
72
		htmlTableau.setHTML(1, 2, I18n.getVocabulary().commentaire());
73
		htmlTableau.setHTML(1, 3, I18n.getVocabulary().date());
74
	}
75
 
76
	@Override
77
	public void startChargement() {
78
		panneauChargement.setHeight((this.getOffsetHeight() / 2) + "px");
79
		panneauChargement.setWidth((this.getOffsetWidth() / 2) + "px");
80
		panneauChargement.setVisible(true);
81
	}
82
 
83
	@Override
84
	public void stopChargement() {
85
		panneauChargement.setVisible(false);
86
	}
926 benjamin 87
 
88
	@Override
89
	public void afficherAucuneDonnees() {
90
		aucuneDonnees.setVisible(true);
91
	}
922 benjamin 92
 
93
}