Subversion Repositories eFlore/Applications.del

Rev

Rev 650 | Blame | Last modification | View Log | RSS feed

package org.tela_botanica.del.client.vues.plateformedetermination.ligneProtocole;


import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVotePresenteur;
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVoteVue;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.Protocole;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;

public class LigneProtocolePresenteur {

        public interface Vue extends IsWidget {

                void setNom(String nom);
                HasWidgets getZoneVote();
        }

        private Vue vue;
        private Protocole protocole;

        public LigneProtocolePresenteur(Protocole protocole, Vue vue) {
                this.vue = vue;
                this.protocole = protocole;
                setNom(protocole.getNom());
                Image imageCourante = CacheClient.getInstance().getImageCourante();
                if(imageCourante == null) {
                        // on suppose qu'il y a toujours au moins une image associée à l'observation en cours
                        imageCourante = CacheClient.getInstance().getObservationCourante().getImages().get(0);
                }
                
                MoyenneVotePresenteur votePresenteur = new MoyenneVotePresenteur(imageCourante, protocole, new MoyenneVoteVue());
                votePresenteur.go(vue.getZoneVote());
        }

        public void setNom(String nom) {
                vue.setNom(nom);
        }
        
        public Vue getVue() {
                return vue;
        }
        
        public void go(HasWidgets composite) {
                composite.add(vue.asWidget());
        }
}