Subversion Repositories eFlore/Applications.del

Rev

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

package org.tela_botanica.del.client.vues.rechercheobservations.resultats;

import com.google.gwt.core.client.GWT;
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.HasWidgets;
import com.google.gwt.user.client.ui.Hyperlink;
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 ResultatsRechercheObservationsVue extends Composite implements ResultatsRechercheObservationsPresenteur.Vue {

        @UiField
        Panel panneauChargement;

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

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

        @UiField
        Panel zoneObservations, zonePaginationHaut, zonePaginationBas, zoneTri;

        @UiField
        Button triParDateAscendant, triParDateDescendant;

        @UiField
        Label aucunResultat;
        
        @UiField
        Hyperlink labelDate;

        // Constructeur de la vue
        public ResultatsRechercheObservationsVue() {
                initWidget(binder.createAndBindUi(this));
        }

        @Override
        public HasWidgets getZoneObservations() {
                return zoneObservations;
        }

        @Override
        public HasWidgets getZonePaginationHaut() {
                return zonePaginationHaut;
        }

        @Override
        public HasWidgets getZonePaginationBas() {
                return zonePaginationBas;
        }

        /**
         * Nettoie et remet à zéro les composants du panneau qui doivent l'être
         * */
        @Override
        public void nettoyer() {
                zoneObservations.clear();
        }

        @Override
        public void startChargement() {
                panneauChargement.setHeight(zoneObservations.getOffsetHeight() + "px");
                panneauChargement.setVisible(true);
        }

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

        public void afficherElementsAucunResultatTrouve() {
                nettoyer();
                aucunResultat.setVisible(true);
                zonePaginationHaut.setVisible(false);
                zonePaginationBas.setVisible(false);
                zoneTri.setVisible(false);
        }

        public void afficherElementsResultatsTrouves() {
                aucunResultat.setVisible(false);
                zonePaginationHaut.setVisible(true);
                zonePaginationBas.setVisible(true);
                zoneTri.setVisible(true);
        }

        public Button getTriParDateAscendant() {
                return triParDateAscendant;
        }

        public Button getTriParDateDescendant() {
                return triParDateDescendant;
        }
        
        @Override
        public Hyperlink getLabelDate() {
                return labelDate;
        }
        
        @Override
        public void masquerDateAscendant() {
                triParDateAscendant.setVisible(false);
        }
        
        @Override
        public void masquerDateDescendant() {
                triParDateDescendant.setVisible(false);
        }
        
        @Override
        public void afficherDateAscendant() {
                triParDateAscendant.setVisible(true);
        }
        
        @Override
        public void afficherDateDescendant() {
                triParDateDescendant.setVisible(true);
        }
}