/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/LigneForumPresenteur.java |
---|
New file |
0,0 → 1,36 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.services.CalculVoteDeterminationService; |
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur; |
import com.google.gwt.user.client.ui.FlexTable; |
public class LigneForumPresenteur { |
private LigneForumVue ligneforumVue; |
private BarreRepartitionVotePresenteur barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(); |
private PropositionDetermination determination; |
public LigneForumPresenteur(PropositionDetermination propositionDetermination) { |
this.determination = propositionDetermination; |
} |
public void go(FlexTable tableParente) { |
ligneforumVue = new LigneForumVue(tableParente); |
chargerDetermination(); |
} |
private void chargerDetermination() { |
calculerEtAfficherVoteDetermination(); |
ligneforumVue.chargerDetermination(determination,barreRepartitionVotePresenteur.getBarreRepartitionVoteVueHTML()); |
} |
private void calculerEtAfficherVoteDetermination() { |
MoyenneVote votes = CalculVoteDeterminationService.calculerVoteDetermination(determination); |
barreRepartitionVotePresenteur.afficherVotes(votes.getScore(), votes.getIntituleAssocie()); |
} |
} |
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java |
---|
3,10 → 3,13 |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination; |
import org.tela_botanica.del.client.services.CalculVoteDeterminationService; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import com.google.gwt.user.client.ui.HasWidgets; |
26,7 → 29,12 |
private void chargerDeterminations() { |
determinations = CacheClient.getInstance().getCurrentObservation().getImageCelValidationDatas(); |
forumVue.chargerDeterminations(determinations); |
forumVue.initialiserEntetesTableau(); |
for (PropositionDetermination determination : determinations) { |
LigneForumPresenteur ligne = new LigneForumPresenteur(determination); |
ligne.go(forumVue.getTable()); |
} |
} |
private void gererEvenements() { |
34,7 → 42,8 |
@Override |
public void onAjoutDetermination(EvenementAjoutDetermination event) { |
forumVue.chargerDetermination(event.getPropositionDetermination()); |
LigneForumPresenteur ligne = new LigneForumPresenteur(event.getPropositionDetermination()); |
ligne.go(forumVue.getTable()); |
} |
}); |
} |
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/LigneForumVue.java |
---|
New file |
0,0 → 1,60 |
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.PropositionDetermination; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FlexTable; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.Tree; |
import com.google.gwt.user.client.ui.TreeItem; |
public class LigneForumVue extends Composite { |
FlexTable tableParente; |
HTML barreRepartition; |
public LigneForumVue(FlexTable flexTable) { |
tableParente = flexTable; |
} |
public void chargerDetermination(PropositionDetermination determination, HTML barreRepartition) { |
Tree arbreCommentaires = new Tree(); |
TreeItem racineArbreCommentaires = new TreeItem(); |
arbreCommentaires.addItem(racineArbreCommentaires); |
creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires()); |
int ligne = tableParente.getRowCount() + 1; |
tableParente.setHTML(ligne, 1, barreRepartition.getHTML()); |
tableParente.setHTML(ligne, 2, determination.getContributeur()); |
tableParente.setHTML(ligne, 3, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate())); |
tableParente.setWidget(ligne, 4, arbreCommentaires); |
} |
private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) { |
for (Commentaire commentaire : commentaires) { |
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate()); |
parentTreeItem.setHTML(commentaireHTML); |
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); |
} |
} |
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java |
---|
32,7 → 32,7 |
initWidget(uiBinder.createAndBindUi(this)); |
} |
public void chargerDeterminations(List<PropositionDetermination> determinations) { |
public void initialiserEntetesTableau() { |
htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom()); |
htmlTableau.setHTML(1, 2, I18n.getVocabulary().contributeur()); |
40,45 → 40,9 |
htmlTableau.setHTML(1, 4, I18n.getVocabulary().date()); |
htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire()); |
for (PropositionDetermination determination : determinations) { |
chargerDetermination(determination); |
} |
} |
public void chargerDetermination(PropositionDetermination determination) { |
Tree arbreCommentaires = new Tree(); |
TreeItem racineArbreCommentaires = new TreeItem(); |
arbreCommentaires.addItem(racineArbreCommentaires); |
creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires()); |
int ligne = htmlTableau.getRowCount() + 1; |
htmlTableau.setHTML(ligne, 1, determination.getEspece()); |
htmlTableau.setHTML(ligne, 2, determination.getContributeur()); |
htmlTableau.setHTML(ligne, 3, determination.getPourcentageConfiance()); |
htmlTableau.setHTML(ligne, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate())); |
htmlTableau.setWidget(ligne, 5, arbreCommentaires); |
public FlexTable getTable() { |
return htmlTableau; |
} |
private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) { |
for (Commentaire commentaire : commentaires) { |
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate()); |
parentTreeItem.setHTML(commentaireHTML); |
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); |
} |
} |