Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 320 → Rev 321

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