Subversion Repositories eFlore/Applications.del

Rev

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