Rev 1830 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.forum.interventions;
import org.tela_botanica.del.client.composants.forum.interventions.ForumInterventionPresenteur.Vue;
import org.tela_botanica.del.client.i18n.I18n;
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.HasMouseOutHandlers;
import com.google.gwt.event.dom.client.HasMouseOverHandlers;
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.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FocusPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Hyperlink;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;
public class ForumInterventionVue extends Composite implements Vue {
private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);
interface ForumUIiBinder extends UiBinder<Widget, ForumInterventionVue> {
};
@UiField
FocusPanel proposition;
@UiField
Label nom, nomTaxon, date, commentaire, repondre, labelDeterminationProposee;
@UiField
HTMLPanel conteneurIntermediaireProposition, voter, zoneVoter, zoneDetermination, zoneEnfants;
@UiField
Button boutonValidationTaxon;
@UiField
FocusPanel conteneurLienSuppression;
@UiField
HTML supprimer, nbVotesHtml;
@UiField
FocusPanel conteneurPanneauVotes;
public ForumInterventionVue() {
initWidget(uiBinder.createAndBindUi(this));
}
@Override
public HasClickHandlers getLienSuppression() {
return conteneurLienSuppression;
}
@Override
public void afficherLienSuppression() {
conteneurLienSuppression.removeStyleName("invisible");
}
@Override
public void cacherLienSuppression() {
conteneurLienSuppression.addStyleName("invisible");
}
@Override
public void ajouterInterventionDetermination(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires) {
nom.setText(determination.getAuteur());
nomTaxon.setText(determination.getEspece());
voter.add(barreRepartition);
date.setText(DateTimeFormat.getFormat("dd/MM/yyyy").format(determination.getDate()));
commentaire.setText(determination.getCommentaire());
if (determination.estFils()) {
proposition.setStyleName("enfant");
}
if(determination.estPropositionInitiale()) {
labelDeterminationProposee.setText(I18n.getVocabulary().determinationOriginalePar());
labelDeterminationProposee.addStyleName("indicationPropositionInitiale");
} else {
labelDeterminationProposee.setText(I18n.getVocabulary().determinationProposeePar());
}
if(determination.estPropositionRetenue()) {
proposition.setTitle(I18n.getVocabulary().indicationPropositionValidee());
proposition.setStyleName("propositionRetenue");
}
boutonValidationTaxon.setTitle(I18n.getVocabulary().indicationValiderProposition());
conteneurIntermediaireProposition.addStyleName("propositionValidable");
}
@Override
public void ajouterInterventionCommentaire(Commentaire nouveauCommentaire, IsWidget arbreCommentaires) {
zoneVoter.setVisible(false);
zoneDetermination.setVisible(false);
nom.setText(nouveauCommentaire.getAuteur());
date.setText(DateTimeFormat.getFormat("dd/MM/yyyy").format(nouveauCommentaire.getDate()));
commentaire.setText(nouveauCommentaire.getCommentaire());
if (nouveauCommentaire.estFils()) {
proposition.setStyleName("enfant");
}
boutonValidationTaxon.setVisible(false);
}
@Override
public HasClickHandlers getRepondre() {
return repondre;
}
@Override
public HasWidgets getEnfants() {
return zoneEnfants;
}
@Override
public HasMouseOverHandlers getConteneurInterventionMouseOver() {
return proposition;
}
@Override
public HasMouseOutHandlers getConteneurInterventionMouseOut() {
return proposition;
}
public HasClickHandlers getEspece() {
return nomTaxon;
}
public void ajouterLienEspece() {
nomTaxon.addStyleName("labelLien");
}
public HasClickHandlers getAuteur() {
return nom;
}
public void ajouterLienAuteur() {
nom.addStyleName("lien");
nom.setTitle("Voir le profil");
}
public void cacherDeterminationProposee() {
labelDeterminationProposee.setVisible(false);
}
@Override
public void ajouterLienVotes() {
conteneurPanneauVotes.addStyleName("nombreVotes");
}
public void masquerLienVotes() {
conteneurPanneauVotes.removeStyleName("nombreVotes");
nbVotesHtml.setVisible(false);
}
@Override
public void setNbVotes(int votes) {
nbVotesHtml.setText(String.valueOf(votes));
}
@Override
public HasClickHandlers getZoneNbVotes() {
return this.conteneurPanneauVotes;
}
@Override
public HasClickHandlers getBoutonValidationTaxon() {
return this.boutonValidationTaxon;
}
@Override
public void cacherBoutonValidationTaxon() {
boutonValidationTaxon.setVisible(false);
}
@Override
public void afficherBoutonValidationTaxon() {
boutonValidationTaxon.setVisible(true);
}
}