New file |
0,0 → 1,128 |
package org.tela_botanica.client.modeles.structure; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.ListePaginable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.aDonneeListe; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.google.gwt.i18n.client.Dictionary; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONNumber; |
import com.google.gwt.json.client.JSONObject; |
|
/** |
* Classe contenant les informations sur les Structures renvoyées par un objet de type DAO. |
* |
* @author Jean-Pascal MILCENT |
* |
*/ |
public class StructureListe extends aDonneeListe<Structure> implements ListePaginable { |
|
private static final long serialVersionUID = 7384579567038300856L; |
private int currentPage = 0; |
private int nbElementsPage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage")); |
private int nbElementsTotal; |
private Rafraichissable vueARafraichir; |
|
public StructureListe() { |
super(); |
} |
|
public StructureListe(int taille) { |
super(taille); |
} |
|
public StructureListe(JSONArray ListeDeStructures) { |
super(ListeDeStructures.size()) ; |
initialiserStructureListe(ListeDeStructures); |
} |
|
public StructureListe(JSONArray ListeDeStructures, JSONNumber nbElements, Rafraichissable vueARafraichir) { |
super(ListeDeStructures.size()); |
this.nbElementsTotal = Integer.valueOf(nbElements.toString()); |
this.vueARafraichir = vueARafraichir; |
initialiserStructureListe(ListeDeStructures); |
} |
|
private void initialiserStructureListe(JSONArray ListeDeStructures) { |
final int taillemax = ListeDeStructures.size(); |
for (int i = 0; i < taillemax; i++) { |
JSONObject structureCourante = ListeDeStructures.get(i).isObject(); |
if (structureCourante != null) { |
Structure structure = new Structure(structureCourante); |
StructureValorisation valorisation = new StructureValorisation(structureCourante); |
structure.setValorisation(valorisation); |
StructureConservation conservation = new StructureConservation(structureCourante); |
structure.setConservation(conservation); |
this.put(structure.getId(), structure); |
} |
} |
} |
|
public void changerNumeroPage(int pageCourante) { |
currentPage = pageCourante; |
selectionnerStructure(); |
} |
|
public void changerTaillePage(int nouvelleTaillePage) { |
nbElementsPage = nouvelleTaillePage; |
selectionnerStructure(); |
} |
|
public void recharger() { |
selectionnerStructure(); |
} |
|
public void setPageCourante(int pageCourante) { |
this.currentPage = pageCourante; |
} |
|
public void setTaillePage(int taillePage) { |
this.nbElementsPage = taillePage; |
} |
|
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; |
} |
|
/** |
* Calcule le nombre de pages nécessaires pour afficher un nombre d'élements |
* donnés en fonction de la taille de page en cours |
* |
* @return le nombre de pages |
*/ |
public int calculerNbPages() { |
// À 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); |
|
// Convertion en entier |
return nPageInt.intValue(); |
} |
|
public void selectionnerStructure() { |
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR); |
mediateur.selectionnerStructure(vueARafraichir, null, mediateur.getProjetId(), null, currentPage, nbElementsPage, null); |
} |
|
public void filtrerParNom(String nom) { |
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR); |
mediateur.selectionnerStructure(vueARafraichir, mediateur.getProjetId(), null, "%" + nom + "%", 0, nbElementsPage, null); |
|
} |
|
} |
Property changes: |
Added: svn:mergeinfo |
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/modeles/structure/StructureListe.java:r1136-1368 |