Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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() {
                
        }

}