Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
171 aurelien 1
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
2
 
3
import java.util.Date;
4
import java.util.List;
5
 
6
import org.tela_botanica.del.client.modeles.Commentaire;
7
import org.tela_botanica.del.client.modeles.PropositionDetermination;
8
 
9
import com.google.gwt.i18n.client.DateTimeFormat;
10
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
11
import com.google.gwt.user.client.ui.Composite;
12
import com.google.gwt.user.client.ui.FlexTable;
13
import com.google.gwt.user.client.ui.HTML;
187 aurelien 14
import com.google.gwt.user.client.ui.HTMLPanel;
15
import com.google.gwt.user.client.ui.IsWidget;
171 aurelien 16
import com.google.gwt.user.client.ui.Tree;
17
import com.google.gwt.user.client.ui.TreeItem;
18
 
19
public class LigneForumVue extends Composite {
20
 
21
	FlexTable tableParente;
187 aurelien 22
	HTMLPanel barreRepartition;
171 aurelien 23
 
24
	public LigneForumVue(FlexTable flexTable) {
25
		tableParente = flexTable;
26
	}
27
 
187 aurelien 28
	public void chargerDetermination(PropositionDetermination determination, IsWidget barreRepartition) {
171 aurelien 29
 
30
		Tree arbreCommentaires = new Tree();
31
		TreeItem racineArbreCommentaires = new TreeItem();
32
		arbreCommentaires.addItem(racineArbreCommentaires);
33
		creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires());
34
 
35
		int ligne = tableParente.getRowCount() + 1;
187 aurelien 36
		tableParente.setWidget(ligne, 1, barreRepartition);
171 aurelien 37
		tableParente.setHTML(ligne, 2, determination.getContributeur());
38
		tableParente.setHTML(ligne, 3, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate()));
39
		tableParente.setWidget(ligne, 4, arbreCommentaires);
40
 
41
	}
42
 
43
	private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {
44
 
45
		for (Commentaire commentaire : commentaires) {
46
			String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());
47
			parentTreeItem.setHTML(commentaireHTML);
48
			if (commentaire.getListeCommentaires().size() != 0) {
49
				TreeItem childTreeItem = new TreeItem();
50
				parentTreeItem.addItem(childTreeItem);
51
				creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());
52
			}
53
		}
54
		parentTreeItem.setState(true);
55
 
56
	}
57
 
58
	private String formaterDatePourForum(Date date) {
59
		return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
60
	}
61
 
62
}