/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:", "; |
} |