Subversion Repositories eFlore/Applications.del

Rev

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