Blame | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
import java.util.Date;
import java.util.List;
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.PossesseurDeCommentaires;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
public class ArbreCommentaireVue extends Tree implements ArbreCommentairePresenteur.Vue {
public ArbreCommentaireVue() {
super();
}
public void creerArbreCommentaire(PossesseurDeCommentaires possesseurDeCommentaires) {
TreeItem racineArbreCommentaires = new TreeItem();
addItem(racineArbreCommentaires);
creerListeCommentaireRecursive(racineArbreCommentaires, possesseurDeCommentaires.getListeCommentaires());
}
private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {
for (Commentaire commentaire : commentaires) {
HorizontalPanel p = new HorizontalPanel();
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());
HTML commentaireWidget = new HTML(commentaireHTML);
parentTreeItem.setWidget(commentaireWidget);
if (commentaire.getListeCommentaires().size() != 0) {
TreeItem childTreeItem = new TreeItem();
parentTreeItem.addItem(childTreeItem);
creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());
}
}
parentTreeItem.setState(true);
}
private String formaterDatePourForum(Date date) {
return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
}
}