Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 170 → Rev 171

/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);
}
 
}