Subversion Repositories eFlore/Applications.del

Rev

Rev 568 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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

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

import com.google.gwt.core.client.GWT;
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.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;

public class PaginationVue extends Composite implements PaginationPresenteur.Vue {

        @UiField
        TextBox saisiePageCourante;

        @UiField
        TextBox selecteurPas;

        @UiField
        Button boutonPrecedent, boutonSuivant, boutonPremierePage, boutonDernierePage;

        @UiField
        Label nbTotalPages, nbTotalResultats;

        interface MyUiBinder extends UiBinder<Widget, PaginationVue> {
        }

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

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

        public void afficherPas(int pas) {
                selecteurPas.setText(String.valueOf(pas));
        }

        public void mettreNbTotalPages(int nbPages) {
                nbTotalPages.setText((I18n.getMessages().parmi_nb_pages(nbPages)));
        }

        public void mettreNbTotalResultats(int nbResultats) {
                nbTotalResultats.setText("" + nbResultats);
        }

        public void masquerBoutonPrecedent() {
                boutonPremierePage.setVisible(false);
                boutonPrecedent.setVisible(false);
        }

        public void afficherBoutonPrecedent() {
                boutonPremierePage.setVisible(true);
                boutonPrecedent.setVisible(true);
        }

        public void masquerBoutonSuivant() {
                boutonDernierePage.setVisible(false);
                boutonSuivant.setVisible(false);
        }

        public void afficherBoutonSuivant() {
                boutonDernierePage.setVisible(true);
                boutonSuivant.setVisible(true);
        }

        public TextBox getSelecteurPas() {
                return selecteurPas;
        }

        @Override
        public HasChangeHandlers getSaisiePageCourante() {
                return saisiePageCourante;
        }

        @Override
        public HasClickHandlers getBoutonSuivant() {
                return boutonSuivant;
        }

        @Override
        public HasClickHandlers getBoutonPrecedent() {
                return boutonPrecedent;
        }

        @Override
        public HasClickHandlers getBoutonPremierePage() {
                return boutonPremierePage;
        }

        @Override
        public HasClickHandlers getBoutonDernierePage() {
                return boutonDernierePage;
        }

        @Override
        public int getPasSelectionne() throws NumberFormatException {
                return Integer.parseInt(selecteurPas.getText());
        }

        @Override
        public boolean boutonPrecedentEstAffiche() {
                return boutonPrecedent.isVisible() && boutonPremierePage.isVisible();
        }

        @Override
        public boolean boutonSuivantEstAffiche() {
                return boutonSuivant.isVisible() && boutonDernierePage.isVisible();
        }

        public Label getNbTotalPages() {
                return nbTotalPages;
        }

        public Label getNbTotalResultats() {
                return nbTotalResultats;
        }

        @Override
        public int getPageSaisie() throws NumberFormatException {
                return Integer.parseInt(saisiePageCourante.getText());
        }
        
        @Override
        public void setPageCourante(int pageCourante) {
                saisiePageCourante.setText(String.valueOf(pageCourante));
        }

}