Subversion Repositories eFlore/Applications.del

Rev

Rev 137 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 137 Rev 147
Line 1... Line 1...
1
package org.tela_botanica.del.client.pagination;
1
package org.tela_botanica.del.client.pagination;
Line 2... Line 2...
2
 
2
 
3
import java.util.Iterator;
3
import java.util.Iterator;
Line -... Line 4...
-
 
4
import java.util.Vector;
-
 
5
 
4
import java.util.Vector;
6
import org.tela_botanica.del.client.cache.CacheClient;
5
 
7
 
6
import com.google.gwt.event.dom.client.ChangeEvent;
8
import com.google.gwt.event.dom.client.ChangeEvent;
7
import com.google.gwt.event.dom.client.ChangeHandler;
9
import com.google.gwt.event.dom.client.ChangeHandler;
8
import com.google.gwt.event.dom.client.ClickEvent;
10
import com.google.gwt.event.dom.client.ClickEvent;
Line 19... Line 21...
19
 
21
 
20
	private final PaginationVue vue;
22
	private final PaginationVue vue;
21
	private int nbElementsTotal = 0;
23
	private int nbElementsTotal = 0;
22
	private int nbPage;
24
	private int nbPage;
23
	private Vector<Button> liens;
-
 
24
	private int pageActuelle = 0;
-
 
Line 25... Line 25...
25
	private int pas;
25
	private Vector<Button> liens;
26
 
26
 
27
	public PaginationPresenteur(int nbElements) {
27
	public PaginationPresenteur(int nbElements) {
28
		presenteur = this;
28
		presenteur = this;
29
		this.nbElementsTotal = nbElements;
29
		this.nbElementsTotal = nbElements;
30
		actualiserNbPage();
30
		actualiserNbPage();
31
		vue = new PaginationVue();
31
		vue = new PaginationVue();
Line 32... Line 32...
32
		setPas(10);
32
		setPas(CacheClient.getInstance().getPasPageRechercheImage());
33
	}
33
	}
34
 
34
 
35
	private void setBoutonActif() {
35
	private void setBoutonActif() {
36
		Iterator<Button> it = liens.iterator();
36
		Iterator<Button> it = liens.iterator();
37
		while (it.hasNext()) {
37
		while (it.hasNext()) {
38
			Button boutonCourant = it.next();
38
			Button boutonCourant = it.next();
39
			if (boutonCourant.getText().equals(String.valueOf(pageActuelle))) {
39
			if (boutonCourant.getText().equals(String.valueOf(CacheClient.getInstance().getNumPageRechercheImage()))) {
40
				boutonCourant.setStyleName("actif");
40
				boutonCourant.setStyleName("actif");
41
			} else {
41
			} else {
42
				boutonCourant.setStyleName("inactif");
42
				boutonCourant.setStyleName("inactif");
Line 43... Line 43...
43
			}
43
			}
44
		}
44
		}
45
	}
45
	}
46
 
46
 
Line 47... Line -...
47
	private void actualiserNbPage() {
-
 
48
		Double a = Math.ceil((double) nbElementsTotal / (double) pas);
-
 
49
		this.nbPage = a.intValue();
-
 
50
	}
-
 
51
 
47
	private void actualiserNbPage() {
52
	public void setPageActuelle(int pageActuelle) {
48
		Double a = Math.ceil((double) nbElementsTotal / (double) CacheClient.getInstance().getPasPageRechercheImage());
53
		this.pageActuelle = pageActuelle;
49
		this.nbPage = a.intValue();
54
	}
50
	}
55
 
51
 
56
	public void setPas(int pas) {
52
	public void setPas(int pas) {
Line 57... Line 53...
57
		this.pas = pas;
53
		CacheClient.getInstance().setPasPageRechercheImage(pas);
58
		actualiserNbPage();
54
		actualiserNbPage();
59
		creerLiens();
55
		creerLiens();
Line 111... Line 107...
111
				valeur = 1;
107
				valeur = 1;
112
			}
108
			}
Line 113... Line 109...
113
 
109
 
114
			nbElements.addItem(String.valueOf(valeur));
110
			nbElements.addItem(String.valueOf(valeur));
115
		}
111
		}
116
		nbElements.setSelectedIndex(pas / 5);
112
		nbElements.setSelectedIndex(CacheClient.getInstance().getPasPageRechercheImage() / 5);
Line 117... Line 113...
117
		nbElements.addChangeHandler(new ChangeHandler() {
113
		nbElements.addChangeHandler(new ChangeHandler() {
118
 
114
 
119
			@Override
115
			@Override
Line 141... Line 137...
141
			bouton.addClickHandler(new ClickHandler() {
137
			bouton.addClickHandler(new ClickHandler() {
Line 142... Line 138...
142
 
138
 
143
				@Override
139
				@Override
144
				public void onClick(ClickEvent event) {
140
				public void onClick(ClickEvent event) {
145
					Button bouton = (Button) event.getSource();
141
					Button bouton = (Button) event.getSource();
146
					pageActuelle = Integer.parseInt(bouton.getText());
142
					CacheClient.getInstance().setNumPageRechercheImage(Integer.parseInt(bouton.getText()));
147
					int debut = Integer.parseInt(bouton.getText()) * pas;
143
					int debut = Integer.parseInt(bouton.getText()) * CacheClient.getInstance().getPasPageRechercheImage();
148
					int fin = (debut + pas);
144
					int fin = (debut + CacheClient.getInstance().getPasPageRechercheImage());
149
					setBoutonActif();
145
					setBoutonActif();
Line 150... Line 146...
150
					changerPage(debut, fin);
146
					changerPage(debut, fin);
151
 
147
 
Line 152... Line 148...
152
				}
148
				}
153
			});
149
			});
Line 154... Line 150...
154
 
150
 
155
		}
151
		}
156
	}
152
	}
157
 
153
 
158
	public void pageSuivante() {
154
	public void pageSuivante() {
159
		if (pageActuelle < nbPage - 1) {
155
		if (CacheClient.getInstance().getNumPageRechercheImage() < nbPage - 1) {
160
			pageActuelle++;
156
			CacheClient.getInstance().setNumPageRechercheImage(CacheClient.getInstance().getNumPageRechercheImage() + 1);
161
			int debut = pageActuelle * pas;
157
			int debut = CacheClient.getInstance().getNumPageRechercheImage() * CacheClient.getInstance().getPasPageRechercheImage();
162
			int fin = debut + pas;
158
			int fin = debut + CacheClient.getInstance().getPasPageRechercheImage();
Line 163... Line 159...
163
			changerPage(debut, fin);
159
			changerPage(debut, fin);
Line 164... Line 160...
164
		}
160
		}
165
		setBoutonActif();
161
		setBoutonActif();
166
	}
162
	}
167
 
163
 
168
	public void pagePrecedente() {
164
	public void pagePrecedente() {
169
 
165
 
170
		if (pageActuelle > 0) {
166
		if (CacheClient.getInstance().getNumPageRechercheImage() > 0) {
171
			pageActuelle--;
167
			CacheClient.getInstance().setNumPageRechercheImage(CacheClient.getInstance().getNumPageRechercheImage() - 1);