6,7 → 6,6 |
import org.tela_botanica.client.interfaces.ListePaginable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.aDonneeListe; |
import org.tela_botanica.client.modeles.structure.Structure; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.google.gwt.json.client.JSONArray; |
13,6 → 12,12 |
import com.google.gwt.json.client.JSONNumber; |
import com.google.gwt.json.client.JSONObject; |
|
/** |
* Classe contenant les informations sur les Publications renvoyées par un objet de type DAO. |
* |
* @author Aurélien PERONNET |
* |
*/ |
public class PublicationListe extends aDonneeListe<Publication> implements ListePaginable { |
|
private static final long serialVersionUID = 2600314321196345072L; |
29,17 → 34,22 |
super(taille); |
} |
|
/** |
* Constructeur pour une liste d'institutions |
* @param dates |
*/ |
public PublicationListe(JSONArray publications) { |
public PublicationListe(JSONArray ListeDePublications) { |
super(ListeDePublications.size()); |
initialiserPublicationListe(ListeDePublications); |
} |
|
super(publications.size()); |
public PublicationListe(JSONArray ListeDePublications, JSONNumber nbElements, Rafraichissable vueARafraichir) { |
super(ListeDePublications.size()); |
this.nbElementsTotal = Integer.valueOf(nbElements.toString()); |
this.vueARafraichir = vueARafraichir; |
initialiserPublicationListe(ListeDePublications); |
} |
|
int taille = publications.size(); |
private void initialiserPublicationListe(JSONArray ListeDePublications) { |
int taille = ListeDePublications.size(); |
for (int i = 0; i < taille; i++) { |
JSONObject publicationCourante = publications.get(i).isObject() ; |
JSONObject publicationCourante = ListeDePublications.get(i).isObject() ; |
|
if (publicationCourante != null) { |
Publication publication = new Publication(publicationCourante); |
48,23 → 58,6 |
} |
} |
|
public PublicationListe(JSONArray publicationListe, JSONNumber nbElements, Rafraichissable vueARafraichir) { |
super(publicationListe.size()); |
this.nbElementsTotal = Integer.valueOf(nbElements.toString()); |
|
final int taillemax = publicationListe.size(); |
for (int i = 0; i < taillemax; i++) { |
JSONObject publication = publicationListe.get(i).isObject() ; |
|
if (publication != null) { |
Publication publicationCourante = new Publication(publication); |
this.put(publicationCourante.getId(), publicationCourante); |
} |
} |
|
this.vueARafraichir = vueARafraichir; |
} |
|
public void changerNumeroPage(int pageCourante) { |
currentPage = pageCourante; |
selectionnerPublication(); |
89,19 → 82,14 |
|
public int[] getPageTable() { |
int[] page = new int[4]; |
|
// nombre de pages au total |
page[0] = calculerNbPages(); |
|
// Page En Cours |
page[1] = currentPage; |
|
// nbElementsParPage |
page[2] = nbElementsPage; |
|
// et le dernier le nombre total d'éléments |
page[3] = nbElementsTotal; |
|
return page; |
} |
|
112,17 → 100,14 |
* @return le nombre de pages |
*/ |
public int calculerNbPages() { |
// A cause de la betise de java pour les conversion implicite on fait |
// quelques conversions manuellement |
// pour eviter qu'il arrondisse mal la division |
// nombre de pages = (nombre d'element / taille de la page) arrondie à |
// l'entier superieur |
|
// À cause de la bétise de java pour les conversion implicite, on fait quelques conversions manuellement |
// pour eviter qu'il arrondisse mal la division nombre de pages = (nombre d'element / taille de la page) |
// arrondie à l'entier supérieur. |
double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage); |
double nPageRound = Math.ceil(nPage); |
Double nPageInt = new Double(nPageRound); |
|
// on convertit en entier |
// Convertion en entier |
return nPageInt.intValue(); |
} |
|