Rev 488 | 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.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 {@UiFieldHorizontalPanel zoneLiens;@UiFieldTextBox selecteurPas;@UiFieldButton boutonPrecedent, boutonSuivant, boutonPremierePage, boutonDernierePage;@UiFieldLabel nbTotalPages;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 mettreEnValeurPageActive(int pageActive) {int nbLiens = getNbWidgetsZoneLiens();for (int i = 0; i < nbLiens; i++) {Button boutonCourant = (Button) zoneLiens.getWidget(i);if (nbLiens - i > 5 && i < pageActive - 1 || i > pageActive + 3) {boutonCourant.setVisible(false);} else {if (boutonCourant.getText().equals(String.valueOf(pageActive))) {changerStyleBoutonZoneLiens(i, "actif");} else {changerStyleBoutonZoneLiens(i, "inactif");}boutonCourant.setVisible(true);}}}public void mettreNbTotalPages(int nbPages) {nbTotalPages.setText((I18n.getMessages().parmi_nb_pages(nbPages)));}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;}@Overridepublic HasWidgets getZoneLiens() {return zoneLiens;}@Overridepublic HasClickHandlers getBoutonSuivant() {return boutonSuivant;}@Overridepublic HasClickHandlers getBoutonPrecedent() {return boutonPrecedent;}@Overridepublic HasClickHandlers getBoutonPremierePage() {return boutonPremierePage;}@Overridepublic HasClickHandlers getBoutonDernierePage() {return boutonDernierePage;}@Overridepublic int getNbWidgetsZoneLiens() {return zoneLiens.getWidgetCount();}@Overridepublic HasClickHandlers getWidgetZoneLiensHasClickHandlers(int index) {return (Button) zoneLiens.getWidget(index);}@Overridepublic HasText getWidgetZoneLiensAsText(int index) {return (Button) zoneLiens.getWidget(index);}@Overridepublic void changerStyleBoutonZoneLiens(int index, String style) {zoneLiens.getWidget(index).setStyleName(style);}@Overridepublic void ajouterBoutonZoneLiens(String label) {Button bouton = new Button(label);zoneLiens.add(bouton);}@Overridepublic int getPasSelectionne() throws NumberFormatException {return Integer.parseInt(selecteurPas.getText());}@Overridepublic boolean boutonPrecedentEstAffiche() {return boutonPrecedent.isVisible() && boutonPremierePage.isVisible();}@Overridepublic boolean boutonSuivantEstAffiche() {return boutonSuivant.isVisible() && boutonDernierePage.isVisible();}public Label getNbTotalPages() {return nbTotalPages;}}