Subversion Repositories eFlore/Applications.del

Rev

Rev 488 | Rev 568 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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