Subversion Repositories eFlore/Applications.del

Rev

Rev 1704 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.del.client.composants.observations;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerRegistration;
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.HTML;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;

public class ObservationImagesVue extends Composite implements ObservationImagesPresenteur.Vue {

        // Gestion d'UiBinder
        interface Binder extends UiBinder<Widget, ObservationImagesVue> {
        }

        private static Binder binder = GWT.create(Binder.class);

        @UiField
        protected Image photoPrincipale;

        @UiField
        protected Panel photos;
        
        protected HTML lienPlateforme = new HTML(">>>");

        private HandlerRegistration imgPrincipaleClicGestionnaire;

        public ObservationImagesVue() {
                initWidget(binder.createAndBindUi(this));
        }

        public void chargerImagePrincipale(org.tela_botanica.del.client.modeles.Image image) {
                setUrlImagePrincipale(image.getUrlFormat("CRS"));
                setTitreImagePrincipale(image.getUrlFormat("L"));
                setAltTextImagePrincipale(image.getObservation().getAuteur() + " - " + image.getObservation().getNomRetenuFormateReferentiel());
        }

        @Override
        public void ajouterPhoto(org.tela_botanica.del.client.modeles.Image imageCourante, ClickHandler gestionnaireClic) {
                Image photo = new Image();
                photo.setUrl(imageCourante.getUrlFormat("CRX2S"));
                photo.setTitle(imageCourante.getUrlFormat("L"));
                photo.setAltText("");
                photo.addClickHandler(gestionnaireClic);
                getPhotos().add(photo);
        }
        
        public void afficherLienPlateformeValidation(){
                getPhotos().add(lienPlateforme);
                lienPlateforme.setStyleName("suiteImages");
        }

        public void setUrlImagePrincipale(String url) {
                photoPrincipale.setUrl(url);
        }

        public void setTitreImagePrincipale(String titre) {
                photoPrincipale.setTitle(titre);
        }

        public void setAltTextImagePrincipale(String altText) {
                photoPrincipale.setAltText(altText);
        }

        public String getUrlImagePrincipale() {
                return photoPrincipale.getUrl();
        }

        public String getTitreImagePrincipale() {
                return photoPrincipale.getTitle();
        }

        public String getAltTextImagePrincipale() {
                return photoPrincipale.getAltText();
        }

        public Image getPhotoPrincipale() {
                return photoPrincipale;
        }

        public Panel getPhotos() {
                return photos;
        }

        public HTML getLienPlateforme() {
                return lienPlateforme;
        }
        
        public HandlerRegistration setImgPrincipaleClicGestionnaire(ClickHandler gestionnaireClic) {
                if (imgPrincipaleClicGestionnaire != null) {
                        imgPrincipaleClicGestionnaire.removeHandler();
                }
                imgPrincipaleClicGestionnaire = photoPrincipale.addClickHandler(gestionnaireClic);
                return imgPrincipaleClicGestionnaire;
        }

}