Subversion Repositories eFlore/Applications.del

Rev

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

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

import java.util.ArrayList;
import java.util.List;

import org.tela_botanica.del.client.modeles.Protocole;

import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.NodeList;
import com.google.gwt.dom.client.OptionElement;
import com.google.gwt.dom.client.SelectElement;
import com.google.gwt.event.dom.client.HasChangeHandlers;
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.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;

public class ResultatPictofloraVue extends Composite implements ResultatPictofloraPresenteur.Vue {

        @UiField
        Panel panneauChargement;
        private final List<HasWidgets> panneauxImages = new ArrayList<HasWidgets>();
        private final int nbImagesPerPage = 10;
        private int numImage = 0;

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

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

        @UiField
        Panel panneauPagination, panneauPaginationHaut, zoneTri;

        @UiField
        HTMLPanel imageTable;

        @UiField
        Button triParNbVotesAscendant, triParNbVotesDescendant, triParDateAscendant, triParDateDescendant, triParNbTagsAscendant, triParNbTagsDescendant;

        @UiField
        Label aucunResultat;
        
        @UiField
        Label labelVote, labelDate, labelTag;
        
        
        // Constructeur
        public ResultatPictofloraVue() {
                initWidget(uiBinder.createAndBindUi(this));
        }

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

        public void creerPanneauxObservations(int taille) {

                panneauxImages.clear();
                for (int i = 0; i < taille; i++) {
                        Panel imagePanel = new HTMLPanel("");
                        panneauxImages.add(imagePanel);
                }
        }

        public void afficherElementsAucunResultatTrouve() {
                imageTable.clear();
                aucunResultat.setVisible(true);
                panneauPaginationHaut.setVisible(false);
                panneauPagination.setVisible(false);
                zoneTri.setVisible(false);
        }

        public void afficherElementsResultatsTrouve() {
                aucunResultat.setVisible(false);
                panneauPaginationHaut.setVisible(true);
                panneauPagination.setVisible(true);
                zoneTri.setVisible(true);
        }

        public void setNumImage(int numImage) {
                this.numImage = numImage;
        }

        public void startChargement() {
                panneauChargement.setHeight((this.getOffsetHeight() - (panneauPagination.getOffsetHeight() * 2)) + "px");
                panneauChargement.setVisible(true);
        }

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

        public HTMLPanel getImageTable() {
                return imageTable;
        }

        public int getNumImage() {
                return numImage;
        }

        public Panel getPanneauChargement() {
                return panneauChargement;
        }

        public Panel getPanneauPagination() {
                return panneauPagination;
        }

        public Panel getPanneauPaginationHaut() {
                return panneauPaginationHaut;
        }

        public int getNbImagesPerPage() {
                return nbImagesPerPage;
        }

        public List<HasWidgets> getPanneauxImages() {
                return panneauxImages;
        }

        public Button getTriParNbVotesAscendant() {
                return triParNbVotesAscendant;
        }

        public Button getTriParNbVotesDescendant() {
                return triParNbVotesDescendant;
        }

        public Button getTriParDateAscendant() {
                return triParDateAscendant;
        }

        public Button getTriParDateDescendant() {
                return triParDateDescendant;
        }
        

        @Override
        public Label getLabelVote() {
                return labelVote;
        }

        @Override
        public void masquerVoteAscendant() {
                triParNbVotesAscendant.setVisible(false);
        }
        
        @Override
        public void masquerVoteDescendant() {
                triParNbVotesDescendant.setVisible(false);
        }
        
        @Override
        public void afficherVoteAscendant() {
                triParNbVotesAscendant.setVisible(true);
        }
        
        @Override
        public void afficherVoteDescendant() {
                triParNbVotesDescendant.setVisible(true);
        }
        
        @Override
        public Label getLabelDate() {
                return labelDate;
        }
        
        @Override
        public Label getLabelTag() {
                return labelTag;
        }
        
        @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);
        }

        @Override
        public HasClickHandlers getTriParNbTagsAscendant() {
                return triParNbTagsAscendant;
        }

        @Override
        public HasClickHandlers getTriParNbTagsDescendant() {
                return triParNbTagsDescendant;
        }
        

        @Override
        public void afficherTagAscendant() {
                triParNbTagsAscendant.setVisible(true);
        }

        @Override
        public void masquerTagAscendant() {
                triParNbTagsAscendant.setVisible(false);
        }

        @Override
        public void afficherTagDescendant() {
                triParNbTagsDescendant.setVisible(true);
        }

        @Override
        public void masquerTagDescendant() {
                triParNbTagsDescendant.setVisible(false);
        }

}