Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1565 → Rev 1566

/trunk/src/org/tela_botanica/client/composants/GrillePaginable.java
8,8 → 8,6
import org.tela_botanica.client.composants.pagination.Proxy;
import org.tela_botanica.client.composants.pagination.TransformateurJSONaModelData;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.composants.GrilleParametrable;
 
import com.extjs.gxt.ui.client.Style.SortDir;
33,14 → 31,12
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.selection.SelectionModel;
import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar;
 
public class GrillePaginable<D extends ModelData> extends ContentPanel implements Rafraichissable, GrilleParametrable<D> {
 
//-------------//
// ATTRIBUTS //
//-------------//
//+---------------------------------------------------------------------------------------------------------------+
// Attributs
// Pagination
private int start = 0;
50,6 → 46,7
private ModelType modelType = null;
private Proxy<D> proxy = null;
private TransformateurJSONaModelData<PagingLoadResult<D>> reader = null;
private BasePagingLoadConfig plc = null;
private ChargeurListe<PagingLoadResult<D>> loader = null;
private ListStore<D> storeGrille = null;
58,14 → 55,9
List<ColumnConfig> colonnes = null;
ColumnModel modeleDeColonnes = null;
//-------------//
// METHODES //
//-------------//
//+---------------------------------------------------------------------------------------------------------------+
// Constructeur
/*--------------
Constructeur
--------------*/
public GrillePaginable(ModelType modeltype, HashMap<String, String> virtualFields, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) {
// Récupération des paramètres
78,37 → 70,19
this.setLayout(new FitLayout());
// Création des objets pour la récupération et la pagination des données
BasePagingLoadConfig plc = new BasePagingLoadConfig();
plc = new BasePagingLoadConfig();
plc.setLimit(limit);
plc.setOffset(start);
reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType, virtualFields);
loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
loader.setLimit(plc.getLimit());
loader.setOffset(plc.getOffset());
creerChargeurDeListe();
creerGrille();
}
 
loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
public void handleEvent(LoadEvent be) {
 
}
});
loader.addListener(Loader.Load, new Listener<LoadEvent>() {
public void handleEvent(LoadEvent be) {
 
}
});
// Création de la grille
creerGrille();
}
//+---------------------------------------------------------------------------------------------------------------+
// Accesseurs
/*------------
Accesseurs
------------*/
public EditorGrid<D> getGrille() {
return grille;
}
131,27 → 105,38
}
/*-----------------------------
Rafraichir
-----------------------------*/
//+---------------------------------------------------------------------------------------------------------------+
// Méthodes publiques
public void rafraichir(Object nouvellesDonnees) {
}
//+---------------------------------------------------------------------------------------------------------------+
// Méthodes privées
/*----------------
Méthode privées
-----------------*/
private void creerChargeurDeListe() {
loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
loader.setLimit(plc.getLimit());
loader.setOffset(plc.getOffset());
loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
public void handleEvent(LoadEvent be) {
 
}
});
loader.addListener(Loader.Load, new Listener<LoadEvent>() {
public void handleEvent(LoadEvent be) {
 
}
});
}
private void creerGrille() {
final PagingToolBar toolBar = new PagingToolBar(this.limit);
toolBar.bind(loader);
this.setBottomComponent(toolBar);
storeGrille = new ListStore<D>(loader);
storeGrille.addListener(Store.Add, new Listener<StoreEvent<D>>() {
public void handleEvent(StoreEvent<D> ce) {
 
168,8 → 153,6
}
});
RowNumberer pluginLigneNumero = new RowNumberer();
GridSelectionModel<D> modeleDeSelection = new GridSelectionModel<D>();
grille = new EditorGrid<D>(storeGrille, modeleDeColonnes);
176,13 → 159,10
grille.setHeight("100%");
grille.setBorders(true);
grille.setSelectionModel(modeleDeSelection);
grille.addPlugin(pluginLigneNumero);
grille.getView().setForceFit(true);
grille.setStripeRows(true);
grille.setBorders(true);
grille.setStateful(true);
grille.addListener(Events.Attach, new Listener<GridEvent<D>>() {
public void handleEvent(GridEvent<D> be) {
PagingLoadConfig config = new BasePagingLoadConfig();