Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 262 → Rev 263

/trunk/src/org/tela_botanica/del/client/composants/pagination/PaginationPresenteur.java
16,20 → 16,18
 
public abstract class PaginationPresenteur {
 
// Singleton
private static PaginationPresenteur presenteur;
 
private final PaginationVue vue;
private int nbElementsTotal = 0;
private int nbPage;
private Vector<Button> liens;
private int pas = 10;
 
public PaginationPresenteur(int nbElements) {
presenteur = this;
public PaginationPresenteur(int nbElements, int pas) {
this.nbElementsTotal = nbElements;
actualiserNbPage();
vue = new PaginationVue();
setPas(CacheClient.getInstance().getPasPageRechercheImage());
//FIXME : doit être dans la page de rechercheImage
setPas(pas);
}
 
private void setBoutonActif() {
45,15 → 43,16
}
 
private void actualiserNbPage() {
Double a = Math.ceil((double) nbElementsTotal / (double) CacheClient.getInstance().getPasPageRechercheImage());
Double a = Math.ceil((double) nbElementsTotal / (double) pas);
this.nbPage = a.intValue();
}
 
public void setPas(int pas) {
CacheClient.getInstance().setPasPageRechercheImage(pas);
actualiserNbPage();
creerLiens();
changerPage(CacheClient.getInstance().getPasPageRechercheImage() * CacheClient.getInstance().getNumPageRechercheImage(), CacheClient.getInstance().getPasPageRechercheImage() * (CacheClient.getInstance().getNumPageRechercheImage() + 1));
changerPage(pas * CacheClient.getInstance().getNumPageRechercheImage(), pas * (CacheClient.getInstance().getNumPageRechercheImage() + 1));
actualiserPasCache(pas);
}
 
public void creerLiens() {
73,8 → 72,17
liens.add(precedent);
vue.getZoneLiens().add(precedent);
 
// TODO : gérer le nombre de pages excessives
for (int i = 0; i < nbPage; i++) {
int pageDebut = CacheClient.getInstance().getNumPageRechercheImage() - 5;
if (pageDebut < 1) {
pageDebut = 1;
}
int pageFin = pageDebut + 5;
if (pageFin > nbPage) {
pageFin = nbPage;
}
for (int i = pageDebut; i < pageFin; i++) {
Button bouton = new Button();
bouton.setText(String.valueOf(i));
liens.add(bouton);
109,7 → 117,7
 
nbElements.addItem(String.valueOf(valeur));
}
nbElements.setSelectedIndex(CacheClient.getInstance().getPasPageRechercheImage() / 5);
nbElements.setSelectedIndex(pas / 5);
nbElements.addChangeHandler(new ChangeHandler() {
 
@Override
140,8 → 148,8
public void onClick(ClickEvent event) {
Button bouton = (Button) event.getSource();
CacheClient.getInstance().setNumPageRechercheImage(Integer.parseInt(bouton.getText()));
int debut = Integer.parseInt(bouton.getText()) * CacheClient.getInstance().getPasPageRechercheImage();
int fin = (debut + CacheClient.getInstance().getPasPageRechercheImage());
int debut = Integer.parseInt(bouton.getText()) * pas;
int fin = (debut + pas);
setBoutonActif();
changerPage(debut, fin);
 
154,8 → 162,8
public void pageSuivante() {
if (CacheClient.getInstance().getNumPageRechercheImage() < nbPage - 1) {
CacheClient.getInstance().setNumPageRechercheImage(CacheClient.getInstance().getNumPageRechercheImage() + 1);
int debut = CacheClient.getInstance().getNumPageRechercheImage() * CacheClient.getInstance().getPasPageRechercheImage();
int fin = debut + CacheClient.getInstance().getPasPageRechercheImage();
int debut = CacheClient.getInstance().getNumPageRechercheImage() * pas;
int fin = debut + pas;
changerPage(debut, fin);
}
setBoutonActif();
165,8 → 173,8
 
if (CacheClient.getInstance().getNumPageRechercheImage() > 0) {
CacheClient.getInstance().setNumPageRechercheImage(CacheClient.getInstance().getNumPageRechercheImage() - 1);
int debut = CacheClient.getInstance().getNumPageRechercheImage() * CacheClient.getInstance().getPasPageRechercheImage();
int fin = debut + CacheClient.getInstance().getPasPageRechercheImage();
int debut = CacheClient.getInstance().getNumPageRechercheImage() * pas;
int fin = debut + pas;
changerPage(debut, fin);
}
setBoutonActif();
173,8 → 181,6
}
 
public abstract void changerPage(int debut, int fin);
public abstract void actualiserPasCache(int pas);
 
public PaginationPresenteur getInstance() {
return presenteur;
}
}