Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
256 gduche 1
package org.tela_botanica.del.client.composants.pagination;
120 gduche 2
 
488 benjamin 3
import org.tela_botanica.del.client.i18n.I18n;
4
 
120 gduche 5
import com.google.gwt.core.client.GWT;
391 aurelien 6
import com.google.gwt.event.dom.client.HasClickHandlers;
120 gduche 7
import com.google.gwt.uibinder.client.UiBinder;
8
import com.google.gwt.uibinder.client.UiField;
269 gduche 9
import com.google.gwt.user.client.ui.Button;
120 gduche 10
import com.google.gwt.user.client.ui.Composite;
391 aurelien 11
import com.google.gwt.user.client.ui.HasText;
12
import com.google.gwt.user.client.ui.HasWidgets;
120 gduche 13
import com.google.gwt.user.client.ui.HorizontalPanel;
488 benjamin 14
import com.google.gwt.user.client.ui.Label;
120 gduche 15
import com.google.gwt.user.client.ui.ListBox;
567 gduche 16
import com.google.gwt.user.client.ui.TextBox;
120 gduche 17
import com.google.gwt.user.client.ui.Widget;
18
 
391 aurelien 19
public class PaginationVue extends Composite implements PaginationPresenteur.Vue {
120 gduche 20
 
21
	@UiField
22
	HorizontalPanel zoneLiens;
23
 
24
	@UiField
567 gduche 25
	TextBox selecteurPas;
445 benjamin 26
 
27
	@UiField
391 aurelien 28
	Button boutonPrecedent, boutonSuivant, boutonPremierePage, boutonDernierePage;
120 gduche 29
 
488 benjamin 30
	@UiField
31
	Label nbTotalPages;
32
 
120 gduche 33
	interface MyUiBinder extends UiBinder<Widget, PaginationVue> {
34
	}
35
 
36
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
37
 
38
	public PaginationVue() {
39
		initWidget(uiBinder.createAndBindUi(this));
40
	}
41
 
445 benjamin 42
	public void afficherPas(int pas) {
567 gduche 43
		selecteurPas.setText(String.valueOf(pas));
445 benjamin 44
	}
45
 
46
	public void mettreEnValeurPageActive(int pageActive) {
47
		int nbLiens = getNbWidgetsZoneLiens();
48
		for (int i = 0; i < nbLiens; i++) {
49
			Button boutonCourant = (Button) zoneLiens.getWidget(i);
50
			if (nbLiens - i > 5 && i < pageActive - 1 || i > pageActive + 3) {
51
				boutonCourant.setVisible(false);
52
			} else {
53
				if (boutonCourant.getText().equals(String.valueOf(pageActive))) {
54
					changerStyleBoutonZoneLiens(i, "actif");
55
				} else {
56
					changerStyleBoutonZoneLiens(i, "inactif");
57
				}
58
				boutonCourant.setVisible(true);
59
			}
60
 
61
		}
62
	}
63
 
488 benjamin 64
	public void mettreNbTotalPages(int nbPages) {
65
		nbTotalPages.setText((I18n.getMessages().parmi_nb_pages(nbPages)));
66
	}
67
 
412 aurelien 68
	public void masquerBoutonPrecedent() {
391 aurelien 69
		boutonPremierePage.setVisible(false);
281 gduche 70
		boutonPrecedent.setVisible(false);
71
	}
445 benjamin 72
 
412 aurelien 73
	public void afficherBoutonPrecedent() {
391 aurelien 74
		boutonPremierePage.setVisible(true);
281 gduche 75
		boutonPrecedent.setVisible(true);
76
	}
77
 
78
	public void masquerBoutonSuivant() {
391 aurelien 79
		boutonDernierePage.setVisible(false);
281 gduche 80
		boutonSuivant.setVisible(false);
81
	}
445 benjamin 82
 
281 gduche 83
	public void afficherBoutonSuivant() {
391 aurelien 84
		boutonDernierePage.setVisible(true);
281 gduche 85
		boutonSuivant.setVisible(true);
86
	}
87
 
567 gduche 88
	public TextBox getSelecteurPas() {
358 benjamin 89
		return selecteurPas;
90
	}
91
 
391 aurelien 92
	@Override
93
	public HasWidgets getZoneLiens() {
94
		return zoneLiens;
95
	}
96
 
97
	@Override
98
	public HasClickHandlers getBoutonSuivant() {
99
		return boutonSuivant;
100
	}
101
 
102
	@Override
103
	public HasClickHandlers getBoutonPrecedent() {
104
		return boutonPrecedent;
105
	}
445 benjamin 106
 
391 aurelien 107
	@Override
108
	public HasClickHandlers getBoutonPremierePage() {
109
		return boutonPremierePage;
110
	}
111
 
112
	@Override
113
	public HasClickHandlers getBoutonDernierePage() {
114
		return boutonDernierePage;
115
	}
116
 
117
	@Override
118
	public int getNbWidgetsZoneLiens() {
119
		return zoneLiens.getWidgetCount();
120
	}
121
 
122
	@Override
123
	public HasClickHandlers getWidgetZoneLiensHasClickHandlers(int index) {
445 benjamin 124
		return (Button) zoneLiens.getWidget(index);
391 aurelien 125
	}
126
 
127
	@Override
128
	public HasText getWidgetZoneLiensAsText(int index) {
445 benjamin 129
		return (Button) zoneLiens.getWidget(index);
391 aurelien 130
	}
131
 
132
	@Override
133
	public void changerStyleBoutonZoneLiens(int index, String style) {
134
		zoneLiens.getWidget(index).setStyleName(style);
135
	}
136
 
137
	@Override
138
	public void ajouterBoutonZoneLiens(String label) {
139
		Button bouton = new Button(label);
140
		zoneLiens.add(bouton);
141
	}
142
 
143
	@Override
567 gduche 144
	public int getPasSelectionne() throws NumberFormatException {
145
		return Integer.parseInt(selecteurPas.getText());
391 aurelien 146
	}
147
 
412 aurelien 148
	@Override
149
	public boolean boutonPrecedentEstAffiche() {
150
		return boutonPrecedent.isVisible() && boutonPremierePage.isVisible();
151
	}
152
 
153
	@Override
154
	public boolean boutonSuivantEstAffiche() {
155
		return boutonSuivant.isVisible() && boutonDernierePage.isVisible();
156
	}
157
 
488 benjamin 158
	public Label getNbTotalPages() {
159
		return nbTotalPages;
160
	}
161
 
120 gduche 162
}