Subversion Repositories eFlore/Applications.del

Rev

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

package org.tela_botanica.del.client.vues.pictoflora.resultats.images;

import org.tela_botanica.del.client.i18n.I18n;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
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.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
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.PushButton;
import com.google.gwt.user.client.ui.Widget;

public class ImageVue extends Composite implements ImagePresenteur.Vue {

        // Annotation can be used to change the name of the associated xml file
        // @UiTemplate("ObservationVue.ui.xml")
        interface MyUiBinder extends UiBinder<Widget, ImageVue> {
        }

        private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
        
        @UiField
        protected HTML nomEspece, nomAuteur;
        
        @UiField
        protected HTMLPanel zoneVoter, zonePlus, zoneActionsImage;

        @UiField
        protected HorizontalPanel voter;

        @UiField
        protected Panel zoneCache, zoneMotsCles;

        @UiField
        Image imagePrincipale;
        
        @UiField
        PushButton btnSupprImg, btnVoirTags, btnVoirInfoObs;
        
        @UiField
        Button boutonFermer;
        
        @UiField Panel metadonnees;

        public ImageVue() {
                // sets listBox
                initWidget(uiBinder.createAndBindUi(this));
        }

        public HasWidgets getZoneVoter() {
                return voter;
        }

        public void cacherZoneCache() {
                zoneCache.setVisible(false);
        }

        public void afficherZoneCache() {
                zoneCache.setVisible(true);
        }

        public void loadImage(org.tela_botanica.del.client.modeles.Image image) {
                zoneCache.setVisible(false);
                zoneMotsCles.setVisible(false);
                nomEspece.setHTML("<p>"+image.getObservation().getNomRetenu()+"</p>");

                nomAuteur.setHTML("<p>"+image.getObservation().getAuteur()+"</p>");
                
                imagePrincipale.setUrl(image.getUrl());
                imagePrincipale.setPixelSize(250, 250);
                imagePrincipale.setTitle(I18n.getVocabulary().indicationActionClicImage());
                imagePrincipale.setAltText(image.getObservation().getAuteur() + " - " + image.getObservation().getNomRetenu());
                
                btnVoirTags.setTitle(I18n.getVocabulary().voirMotsCles());
                btnVoirInfoObs.setTitle(I18n.getVocabulary().voirMetadonnees());
                zoneActionsImage.setTitle(I18n.getVocabulary().supprimerImage());
        }

        @Override
        public HasClickHandlers getImagePrincipale() {
                return imagePrincipale;
        }

        @Override
        public IsWidget getImagePrincipaleWidget() {
                return imagePrincipale;
        }
        
        @Override
        public HasClickHandlers getEnSavoirPlus() {
                return btnVoirInfoObs;
        }
        
        @Override
        public HasClickHandlers getVoirMotsCles() {
                return btnVoirTags;
        }

        @Override
        public void setUrlImagePrincipale(String url) {
                imagePrincipale.setUrl(url);
        }

        @Override
        public void setTitreImagePrincipale(String titre) {
                imagePrincipale.setTitle(titre);
        }

        @Override
        public void setAltTextImagePrincipale(String altText) {
                imagePrincipale.setAltText(altText);
        }

        @Override
        public String getUrlImagePrincipale() {
                return imagePrincipale.getUrl();
        }

        @Override
        public String getTitreImagePrincipale() {
                return imagePrincipale.getTitle();
        }

        @Override
        public String getAltTextImagePrincipale() {
                return imagePrincipale.getAltText();
        }

        @Override
        public HasClickHandlers getNomAuteur() {
                return nomAuteur;
        }
        
        @Override
        public HasClickHandlers getNomEspece() {
                return nomEspece;
        }
        
        public HasWidgets getMetadonnees() {
                return metadonnees;
        }

        @Override
        public void cacherZoneMotsCles() {
                zoneMotsCles.setVisible(false);
        }

        @Override
        public void afficherZoneMotsCles() {
                zoneMotsCles.setVisible(true);
        }

        @Override
        public HasWidgets getZoneMotsCles() {
                return zoneMotsCles;
        }

        @Override
        public HasClickHandlers getBoutonFermer() {
                return boutonFermer;
        }

        @Override
        public void ajouterStyleLienAuteur() {
                nomAuteur.addStyleName("lien");
        }
        
        @Override
        public HasClickHandlers getBoutonSupprimerImage() {
                return btnSupprImg;
        }
        
        @Override
        public void cacherZoneActionsImage() {
                zoneActionsImage.setVisible(false);
        }
        
        @Override
        public void afficherZoneActionsImage() {
                zoneActionsImage.setVisible(true);
        }
}