/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java |
---|
24,7 → 24,7 |
public interface Vue extends IsWidget { |
public abstract void initialiserEntetesTableau(); |
public abstract void ajouterLigne(PropositionDetermination determination, |
IsWidget barreRepartition); |
IsWidget barreRepartition, IsWidget arbreCommentaires); |
public abstract HasWidgets getTable(); |
} |
73,7 → 73,10 |
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) { |
BarreRepartitionVotePresenteur barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue()); |
calculerEtAfficherVoteDetermination(barreRepartitionVotePresenteur, propositionDetermination); |
vue.ajouterLigne(propositionDetermination, barreRepartitionVotePresenteur.getBarreRepartitionVoteVue()); |
ArbreCommentairePresenteur arbreCommentairePresenteur = new ArbreCommentairePresenteur(new ArbreCommentaireVue(), propositionDetermination); |
vue.ajouterLigne(propositionDetermination, barreRepartitionVotePresenteur.getBarreRepartitionVoteVue(), arbreCommentairePresenteur.getArbreCommentaireVue()); |
} |
private void calculerEtAfficherVoteDetermination(BarreRepartitionVotePresenteur barreRepartitionVotePresenteur, PropositionDetermination propositionDetermination) { |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java |
---|
9,12 → 9,16 |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur.Vue; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Button; |
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.HorizontalPanel; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Tree; |
import com.google.gwt.user.client.ui.TreeItem; |
29,6 → 33,8 |
@UiField |
FlexTable htmlTableau; |
public ForumVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
47,17 → 53,9 |
htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire()); |
} |
/* (non-Javadoc) |
* @see org.tela_botanica.del.client.vues.plateformedetermination.forum.Vue#ajouterLigne(org.tela_botanica.del.client.modeles.PropositionDetermination, com.google.gwt.user.client.ui.IsWidget) |
*/ |
@Override |
public void ajouterLigne(PropositionDetermination determination, IsWidget barreRepartition) { |
public void ajouterLigne(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires) { |
Tree arbreCommentaires = new Tree(); |
TreeItem racineArbreCommentaires = new TreeItem(); |
arbreCommentaires.addItem(racineArbreCommentaires); |
creerListeCommentaireRecursive(racineArbreCommentaires, determination.getListeCommentaires()); |
int ligne = htmlTableau.getRowCount() + 1; |
htmlTableau.setWidget(ligne, 1, barreRepartition); |
htmlTableau.setHTML(ligne, 2, determination.getContributeur()); |
65,30 → 63,8 |
htmlTableau.setWidget(ligne, 4, arbreCommentaires); |
} |
/* (non-Javadoc) |
* @see org.tela_botanica.del.client.vues.plateformedetermination.forum.Vue#getTable() |
*/ |
@Override |
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); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ArbreCommentairePresenteur.java |
---|
New file |
0,0 → 1,40 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum; |
import org.tela_botanica.del.client.modeles.PossesseurDeCommentaires; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class ArbreCommentairePresenteur { |
private PossesseurDeCommentaires possesseurDeCommentaires; |
public interface Vue extends IsWidget { |
public void creerArbreCommentaire(PossesseurDeCommentaires possesseurDeCommentaires); |
} |
private Vue vue; |
public ArbreCommentairePresenteur(Vue vue, PossesseurDeCommentaires possesseurDeCommentaires) { |
this.vue = vue; |
this.possesseurDeCommentaires = possesseurDeCommentaires; |
vue.creerArbreCommentaire(this.possesseurDeCommentaires); |
} |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
} |
public IsWidget getArbreCommentaireVue() { |
return vue; |
} |
public PossesseurDeCommentaires getPossesseurDeCommentaires() { |
return possesseurDeCommentaires; |
} |
public void gererEvenements() { |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ArbreCommentaireVue.java |
---|
New file |
0,0 → 1,48 |
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); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java |
---|
4,7 → 4,7 |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.formulaires.AutoCompletionComboBoxPresenteur; |
import org.tela_botanica.del.client.composants.formulaires.AutoCompletionComboBoxVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul; |
import org.tela_botanica.del.client.modeles.Commentaire; |
41,8 → 41,22 |
public FormulairePropositionPresenteur(Vue vue) { |
this.vue = vue; |
autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(urlServiceCompletionNom) { |
autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(urlServiceCompletionNom) { |
@Override |
protected String effectuerPreTraitementChaineRequete(String requete) { |
String[] parties = requete.split(" ", 2); |
if(parties.length == 2) { |
if(parties[1].trim().isEmpty()) { |
parties[1] = "*"; |
} |
} |
return parties[0]+"/"+parties[1]; |
} |
@Override |
protected String[] parserResultatRequete(Response response) { |
return convertirReponseVersListeNom(response); |
} |