74,6 → 74,8 |
private int nbElementsTotal = 0; |
private int pas = 10; |
|
private String groupePagination = null; |
|
/** |
* Constructeur de l'application |
* |
87,6 → 89,8 |
this.vue = vue; |
this.pas = pas; |
this.pageCourante = pageCourante; |
|
this.nbPage = calculerNbPage(); |
} |
|
/** |
110,8 → 114,7 |
vue.getSelecteurPas().addChangeHandler(new ChangeHandler() { |
@Override |
public void onChange(ChangeEvent event) { |
chargerElements(0, vue.getPasSelectionne()); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPas(vue.getPasSelectionne())); |
changerPas(vue.getPasSelectionne()); |
} |
}); |
|
132,7 → 135,7 |
vue.getBoutonPremierePage().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
afficherLaPremierePage(); |
allerALaPremierePage(); |
} |
}); |
|
139,7 → 142,7 |
vue.getBoutonDernierePage().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
afficherlaDernierePage(); |
allerAlaDernierePage(); |
} |
}); |
|
147,9 → 150,11 |
|
@Override |
public void onChangementPage(EvenementChangementPage event) { |
if(event.getGroupePagination() == groupePagination) { |
pageCourante = event.getPageAAfficher(); |
mettreEnValeurPageCourante(); |
} |
} |
}); |
|
BusEvenementiel.getInstance().addHandler(EvenementChangementPas.TYPE, new GestionnaireEvenementChangementPas() { |
156,19 → 161,23 |
|
@Override |
public void onChangementPas(EvenementChangementPas event) { |
|
// remet la page a zero lors du changement de pas |
pageCourante = 1; |
|
if(event.getGroupePagination() == groupePagination) { |
// modifie le pas et les liens en fonction |
pas = event.getPas(); |
actualiserPas(); |
actualiserLiensPagesPagination(); |
|
} |
} |
}); |
} |
|
private void gererDecalagePageCourante(int ancienPas, int nouveauPas) { |
if(ancienPas != nouveauPas) { |
double rapportPas = (double)ancienPas/(double)nouveauPas; |
pageCourante = (int)(Math.ceil((double)pageCourante*(double)rapportPas)); |
} |
} |
|
/** |
* Gérer les évènements sur les boutons dynamiques (qui sont recréés à |
* chaque fois) |
182,8 → 191,9 |
public void onClick(ClickEvent event) { |
HasText boutonCourant = (HasText) event.getSource(); |
int pageAAfficher = Integer.parseInt(boutonCourant.getText()); |
pageCourante = pageAAfficher; |
chargerElements(pas * (pageAAfficher - 1), pas * (pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher, groupePagination)); |
} |
}); |
} |
226,11 → 236,20 |
this.pageCourante = pageCourante; |
} |
|
public void changerPas(int nouveauPas) { |
gererDecalagePageCourante(pas, nouveauPas); |
pas = nouveauPas; |
chargerElements((pageCourante - 1)*pas, pageCourante*pas); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPas(nouveauPas, groupePagination)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageCourante, groupePagination)); |
} |
|
public void allerALaPagePrecedente() { |
if (pageCourante > 1) { |
int pageAAfficher = pageCourante - 1; |
pageCourante = pageAAfficher; |
chargerElements(pas * (pageAAfficher - 1), pas * (pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher, groupePagination)); |
} |
|
} |
238,21 → 257,24 |
public void allerALapageSuivante() { |
if (pageCourante < nbPage - 1) { |
int pageAAfficher = pageCourante + 1; |
pageCourante = pageAAfficher; |
chargerElements(pas * (pageAAfficher - 1), pas * (pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher, groupePagination)); |
} |
} |
|
public void afficherLaPremierePage() { |
public void allerALaPremierePage() { |
int pageAAfficher = 1; |
pageCourante = pageAAfficher; |
chargerElements(0, pas); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher, groupePagination)); |
} |
|
public void afficherlaDernierePage() { |
public void allerAlaDernierePage() { |
int pageAAfficher = nbPage - 1; |
pageCourante = pageAAfficher; |
chargerElements(pas * (pageAAfficher - 1), pas * (pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher)); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPage(pageAAfficher, groupePagination)); |
} |
|
/** calcule le nombre de page en fonction du pas */ |
285,4 → 307,12 |
this.pas = pas; |
} |
|
public void setGroupePagination(String groupePagination) { |
this.groupePagination = groupePagination; |
} |
|
public String getGroupePagination() { |
return groupePagination; |
} |
|
} |