Subversion Repositories eFlore/Applications.del

Rev

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

package org.tela_botanica.del.client.vues.comparaisoneflore;

import java.util.List;

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

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.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Image;
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 ComparaisonEfloreVue extends Composite implements ComparaisonEflorePresenteur.Vue {

        interface MyUiBinder extends UiBinder<Widget, ComparaisonEfloreVue> {
        }

        private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
        private int currentIndexImages=0;

        @UiField
        Label nomAuteur, dateObservation, famille, motsClefs, nomRetenu, nomCommun, localite, milieu, commentaires, nomEspeceEflore, nomAuteurEflore, localiteEflore, dateObservationEflore, texteEflore;

        @UiField
        Label nomAuteurTitre, dateObservationTitre, familleTitre, motsClefsTitre, nomRetenuTitre, nomCommunTitre, localiteTitre, milieuTitre, commentairesTitre;

        @UiField
        Image imagePrincipale, imageEflore, scrollLeftImage, scrollRightImage;

        @UiField
        Panel panneauChargement;

        @UiField
        HTMLPanel formulaireRecherche, metadonneesEflore;

        public ComparaisonEfloreVue() {
                initWidget(uiBinder.createAndBindUi(this));
        }

        public void chargerImagePrincipale(org.tela_botanica.del.client.modeles.Image image) {

                // mots clefs
                String motsClefsConcatenes = "";
                try {
                        for (String motClef : image.getObservation().getMotsClefs()) {
                                motsClefsConcatenes += motClef + ",";
                        }
                        motsClefsConcatenes = motsClefsConcatenes.subSequence(0, motsClefsConcatenes.lastIndexOf(",")).toString();
                } catch (Exception e) {
                        // TODO: handle exception
                }

                if (StringUtils.checkStringNotNull(motsClefsConcatenes)) {
                        motsClefs.setText(motsClefsConcatenes);
                } else {
                        motsClefs.setVisible(false);
                        motsClefsTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getAuteur())) {
                        nomAuteur.setText(image.getObservation().getAuteur());
                } else {
                        nomAuteur.setVisible(false);
                        nomAuteurTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getUrl())) {
                        imagePrincipale.setUrl(image.getUrl());
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getDateReleve())) {
                        dateObservation.setText(image.getObservation().getDateReleve());
                } else {
                        dateObservation.setVisible(false);
                        dateObservationTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getFamille())) {
                        famille.setText(image.getObservation().getFamille());
                } else {
                        famille.setVisible(false);
                        familleTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getNomRetenu())) {
                        nomRetenu.setText(image.getObservation().getNomRetenuFormateReferentiel());
                } else {
                        nomRetenu.setVisible(false);
                        nomRetenuTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getNomCommun())) {
                        nomCommun.setText(image.getObservation().getNomCommun());
                } else {
                        nomCommun.setVisible(false);
                        nomCommunTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getLocaliteAvecIdFormatee())) {
                        localite.setText(image.getObservation().getLocaliteAvecIdFormatee());
                } else {
                        localite.setVisible(false);
                        localiteTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getMilieu())) {
                        milieu.setText(image.getObservation().getMilieu());
                } else {
                        milieu.setVisible(false);
                        milieuTitre.setVisible(false);
                }
                if (StringUtils.checkStringNotNull(image.getObservation().getCommentaire())) {
                        commentaires.setText(image.getObservation().getCommentaire());
                } else {
                        commentaires.setVisible(false);
                        commentairesTitre.setVisible(false);
                }
                
                

        }

        public void chargerImagesEflore(List<org.tela_botanica.del.client.modeles.Image> observationsEflore, int indexImage) {

                texteEflore.setText(I18n.getVocabulary().imageEflore());

                if (indexImage >= 0 && indexImage < observationsEflore.size()) {
                        currentIndexImages = indexImage;
                }

                org.tela_botanica.del.client.modeles.Image observationEflore = observationsEflore.get(currentIndexImages);

                nomEspeceEflore.setText(observationEflore.getObservation().getNomRetenuFormateReferentiel());
                nomAuteurEflore.setText(observationEflore.getObservation().getAuteur());
                imageEflore.setUrl(observationEflore.getUrl());
                dateObservationEflore.setText(observationEflore.getObservation().getDateReleve());
                localiteEflore.setText(observationEflore.getObservation().getLocalite());
                metadonneesEflore.setVisible(true);
                imageEflore.setVisible(true);

                if (observationsEflore.size() > 1) {
                        scrollLeftImage.setVisible(true);
                        scrollRightImage.setVisible(true);
                }
        }

        public void setScrollLeftImage(Image scrollLeftImage) {
                this.scrollLeftImage = scrollLeftImage;
        }

        public int getCurrentIndexImages() {
                return currentIndexImages;
        }

        @Override
        public HasClickHandlers getScrollLeftImage() {
                return scrollLeftImage;
        }

        @Override
        public HasClickHandlers getScrollRightImage() {
                return scrollRightImage;
        }

        public void startChargement() {
                texteEflore.setText(I18n.getVocabulary().chargement());
                metadonneesEflore.setVisible(false);
                imageEflore.setVisible(false);
                scrollLeftImage.setVisible(false);
                scrollRightImage.setVisible(false);
                panneauChargement.setVisible(true);
        }

        public void stopChargement() {
                panneauChargement.setVisible(false);
        }

        public void afficherAucuneImageTrouvee() {
                texteEflore.setText(I18n.getVocabulary().aucunResultat());
                scrollLeftImage.setVisible(false);
                scrollRightImage.setVisible(false);
                panneauChargement.setVisible(false);
        }

        public Label getNomAuteur() {
                return nomAuteur;
        }

        public Image getImagePrincipale() {
                return imagePrincipale;
        }

        public HTMLPanel getFormulaireRecherche() {
                return formulaireRecherche;
        }

        public void setCurrentIndexImages(int index){
                currentIndexImages=index;
        }

        public Image getImageEflore() {
                return imageEflore;
        }
}