Subversion Repositories eFlore/Applications.del

Rev

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

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

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.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.Hyperlink;
import com.google.gwt.user.client.ui.InlineLabel;
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 MetadonneesEnLigneVue extends Composite implements MetadonneesPresenteur.Vue {
        // Gestion d'UiBinder
        interface Binder extends UiBinder<Widget, MetadonneesEnLigneVue> {
        }

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

        @UiField
        Label nomRetenu, famille, auteur, pays, localite, motsClefs, numNomenclatural, nomCommun, commentaire, milieu, station, referentiel;
        
        @UiField
        Anchor courrielAuteur;
        
        @UiField
        HTML lieuDit;
        
        @UiField
        InlineLabel dateReleve, dateTransmission;


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

        public HasText getNomRetenu() {
                return this.nomRetenu;
        }

        public HasText getFamille() {
                return this.famille;
        }

        public HasText getAuteur() {
                return this.auteur;
        }
        
        public HasText getCourrielAuteur() {
                return courrielAuteur;
        }

        public void setCourrielAuteurHref(String courriel) {
                this.courrielAuteur.setHref("mailto:"+courriel);
        }

        public HasText getDateTransmission() {
                return this.dateTransmission;
        }

        public HasText getDateReleve() {
                return this.dateReleve;
        }

        public HasText getLocalite() {
                return this.localite;
        }

        public HasText getMotsClefs() {
                return this.motsClefs;
        }

        public HasText getNumNomenclatural() {
                return this.numNomenclatural;
        }

        public HasText getNomCommun() {
                return nomCommun;
        }

        public HasText getLieuDit() {
                return lieuDit;
        }

        public HasText getMilieu() {
                return milieu;
        }

        public HasText getCommentaire() {
                return commentaire;
        }
        
        public HasText getPays() {
                return pays;
        }

        @Override
        public HasClickHandlers getLienNomRetenu() {
                return nomRetenu;
        }
        
        public HasClickHandlers getLienPays() {
                return this.pays;
        }

        public HasClickHandlers getLienFamille() {
                return this.famille;
        }

        public HasClickHandlers getLienAuteur() {
                return this.auteur;
        }
        
        public HasClickHandlers getLienCourrielAuteur() {
                return this.courrielAuteur;
        }

        public HasClickHandlers getLienDateTransmission() {
                return this.dateTransmission;
        }

        public HasClickHandlers getLienDateReleve() {
                return this.dateReleve;
        }

        public HasClickHandlers getLienLocalite() {
                return this.localite;
        }

        public HasClickHandlers getLienMotsClefs() {
                return this.motsClefs;
        }

        public HasClickHandlers getLienNumNomenclatural() {
                return this.numNomenclatural;
        }

        public HasClickHandlers getLienNomCommun() {
                return nomCommun;
        }

        public HasClickHandlers getLienMilieu() {
                return milieu;
        }

        public HasClickHandlers getLienCommentaire() {
                return commentaire;
        }

        @Override
        public void masquerChampsVides() {
                HasText[] champs = {nomRetenu, referentiel, nomCommun, famille, localite, auteur, courrielAuteur, motsClefs, commentaire, lieuDit, station, milieu, dateReleve, dateTransmission};
                for (int i = 0; i < champs.length; i ++) {
                        HasText champ = champs[i];
                        if ("".equals(champ.getText().trim())) {
                                Widget widget = (Widget) champ;
                                widget.getParent().setVisible(false);
                        }
                }
        }

        @Override
        public void setStation(String station) {
                if (station.equals("")) {
                        this.station.setVisible(false);
                } else {
                        this.station.setText(station);
                }
                
        }
        
        @Override
        public void activerLiens() {
        }

        @Override
        public void activerLienAuteur() {
                auteur.addStyleName("labelLien");
        }

        @Override
        public void activerLienNomRetenu() {
                nomRetenu.addStyleName("labelLien");
        }

        @Override
        public void desactiverLienAuteur() {
                auteur.removeStyleName("labelLien");
        }

        public void setLienIdentiplante(String id) {}

        @Override
        public HasText getReferentiel() {
                return referentiel;
        }
        
        public void afficherCourrielAuteur() {
                courrielAuteur.getParent().setVisible(true);
                courrielAuteur.setVisible(true);
        }
        public void cacherCourrielAuteur() {
                courrielAuteur.getParent().setVisible(false);
                courrielAuteur.setVisible(false);
        }
}