Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1101 → Rev 1102

/trunk/src/org/tela_botanica/del/client/composants/commentaires/LigneCommentaireVue.ui.xml
New file
0,0 → 1,17
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:vues="urn:import:org.tela_botanica.del.client.vues.plateformedetermination.forum">
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<ui:style src="ligneCommentaire.css" />
<g:HTMLPanel>
<g:HorizontalPanel ui:field="zoneAuteur">
<g:Label ui:field="auteur" styleName="{style.auteur}"/>
<g:Label ui:field="date" styleName="{style.date}"/>
</g:HorizontalPanel>
<g:HTMLPanel>
<g:Label ui:field="commentaire" styleName="commentaire {style.commentaire}"/>
</g:HTMLPanel>
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/composants/commentaires/detailCommentaireVue.css
34,3 → 34,8
.boutonAjouterCommentaire {
margin:30px 0;
}
 
.zoneCommentaires {
max-height: 400px;
overflow:auto;
}
/trunk/src/org/tela_botanica/del/client/composants/commentaires/LigneCommentairePresenteur.java
New file
0,0 → 1,70
package org.tela_botanica.del.client.composants.commentaires;
 
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
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.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class LigneCommentairePresenteur extends Presenteur {
 
public interface Vue extends IsWidget {
public void setCommentaire(String commentaire);
public void setAuteur(String auteur);
public void setDate(String date);
}
 
private Vue vue;
private PropositionDetermination proposition;
private Commentaire commentaire;
public LigneCommentairePresenteur(Vue vue, PropositionDetermination proposition) {
this.vue = vue;
this.proposition = proposition;
afficherCommentaire();
}
public LigneCommentairePresenteur(Vue vue, Commentaire commentaire) {
this.vue = vue;
this.commentaire = commentaire;
afficherCommentaire();
}
 
public void afficherCommentaire() {
if (proposition != null) {
String commentaire = proposition.getCommentaire();
vue.setCommentaire(commentaire);
String date = DateTimeFormat.getFormat("dd/MM/yyyy").format(proposition.getDate());
vue.setDate(date);
String auteur = proposition.getAuteur();
vue.setAuteur(auteur);
} else if (commentaire != null) {
String commentaire = this.commentaire.getCommentaire();
vue.setCommentaire(commentaire);
String date = DateTimeFormat.getFormat("dd/MM/yyyy").format(this.commentaire.getDate());
vue.setDate(date);
String auteur = this.commentaire.getAuteur();
vue.setAuteur(auteur);
}
}
/**
* Declenchement du présenteur
*/
public void go(HasWidgets container) {
container.add(vue.asWidget());
gererEvenements();
}
 
protected void gererEvenements() {
}
 
}
/trunk/src/org/tela_botanica/del/client/composants/commentaires/DetailCommentaireVue.ui.xml
8,7 → 8,7
<g:HTMLPanel styleName="{style.conteneurTableauVotes}">
<g:HTMLPanel ui:field='titre' styleName="titre" />
<g:HTMLPanel ui:field='auteur' styleName="{style.auteur}" />
<g:FlexTable ui:field='htmlTableau' styleName="{style.table}" />
<g:HTMLPanel ui:field="ligneCommentaire" styleName="{style.zoneCommentaires}"></g:HTMLPanel>
<g:HTMLPanel ui:field="panneauChargement" styleName="{style.chargement}">
<g:Image url="./img/wait.gif"></g:Image>
</g:HTMLPanel>
/trunk/src/org/tela_botanica/del/client/composants/commentaires/LigneCommentaireVue.java
New file
0,0 → 1,38
package org.tela_botanica.del.client.composants.commentaires;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
 
public class LigneCommentaireVue extends Composite implements LigneCommentairePresenteur.Vue {
 
interface LigneCommentaireVueUiBinder extends UiBinder<Widget, LigneCommentaireVue> {};
private static LigneCommentaireVueUiBinder uiBinder = GWT.create(LigneCommentaireVueUiBinder.class);
//Composants
@UiField
Label commentaire, auteur, date;
public LigneCommentaireVue() {
initWidget(uiBinder.createAndBindUi(this));
}
@Override
public void setCommentaire(String commentaire) {
this.commentaire.setText(commentaire);
}
@Override
public void setAuteur(String auteur) {
this.auteur.setText(auteur);
}
@Override
public void setDate(String date) {
this.date.setText(date);
}
}
/trunk/src/org/tela_botanica/del/client/composants/commentaires/DetailCommentaireVue.java
7,12 → 7,10
import org.tela_botanica.del.client.modeles.PropositionDetermination;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
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.HTMLPanel;
import com.google.gwt.user.client.ui.Panel;
36,12 → 34,9
HTMLPanel titre, auteur, aucuneDonnees;
 
@UiField
Panel panneauChargement;
Panel panneauChargement, ligneCommentaire;
 
@UiField
FlexTable htmlTableau;
 
@UiField
Button boutonAjoutCommentaire;
@Override
65,15 → 60,9
HTML htmlAuteur = new HTML(I18n.getVocabulary().proposePar()+propositionDetermination.getAuteur());
auteur.add(htmlAuteur);
 
htmlTableau.clear();
creerEntetes();
LigneCommentairePresenteur presenteurCommentaire = new LigneCommentairePresenteur(new LigneCommentaireVue(), propositionDetermination);
presenteurCommentaire.go(ligneCommentaire);
 
if (propositionDetermination.getCommentaire() != null && propositionDetermination.getCommentaire() != "") {
htmlTableau.setHTML(2, 1, propositionDetermination.getAuteur());
htmlTableau.setHTML(2, 2, propositionDetermination.getCommentaire());
htmlTableau.setHTML(2, 3, DateTimeFormat.getFormat("dd/MM/yyyy").format(propositionDetermination.getDate()));
}
 
creerListeCommentaireRecursive(propositionDetermination.getListeCommentaires());
}
 
96,22 → 85,11
* @param commentaire
*/
private void chargerCommentaire(Commentaire commentaire) {
int ligne = htmlTableau.getRowCount() + 1;
htmlTableau.setHTML(ligne, 1, commentaire.getAuteur());
htmlTableau.setHTML(ligne, 2, commentaire.getCommentaire());
htmlTableau.setHTML(ligne, 3, DateTimeFormat.getFormat("dd/MM/yyyy").format(commentaire.getDate()));
LigneCommentairePresenteur presenteurCommentaire = new LigneCommentairePresenteur(new LigneCommentaireVue(), commentaire);
presenteurCommentaire.go(ligneCommentaire);
}
 
/**
* Affiche les en-têtes du tableau de commentaires
*/
private void creerEntetes() {
htmlTableau.setHTML(1, 1, I18n.getVocabulary().contributeur());
htmlTableau.setHTML(1, 2, I18n.getVocabulary().commentaire());
htmlTableau.setHTML(1, 3, I18n.getVocabulary().date());
}
 
/**
* Affiche un icone de début de chargement
*/
@Override
/trunk/src/org/tela_botanica/del/client/composants/commentaires/ligneCommentaire.css
New file
0,0 → 1,25
.commentaire {
font-size: 11px;
background: #DDD;
padding: 3px;
margin-bottom:5px;
}
 
.auteur {
padding-left:3px;
float: left;
font-size:11px;
color:#AAA;
font-style:italic;
}
 
.date {
float: left;
font-size:11px;
color:#DDD;
font-style:italic;
}
 
.date:before {
content:", ";
}