1,6 → 1,7 |
package org.tela_botanica.client.vues; |
|
import java.util.ArrayList; |
import java.util.Iterator; |
import java.util.List; |
|
import org.tela_botanica.client.Mediateur; |
9,6 → 10,7 |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.Publication; |
import org.tela_botanica.client.modeles.PublicationListe; |
import org.tela_botanica.client.modeles.Utilisateur; |
26,12 → 28,15 |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; |
import com.extjs.gxt.ui.client.widget.grid.ColumnData; |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel; |
import com.extjs.gxt.ui.client.widget.grid.Grid; |
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
|
public class PublicationListeVue extends ContentPanel implements Rafraichissable { |
|
40,6 → 45,7 |
|
private Grid<Publication> grille = null; |
private ListStore<Publication> store = null; |
private ColumnModel modeleDesColonnes = null; |
|
private Button ajouter; |
private Button modifier; |
86,16 → 92,19 |
// ATTENTION : les noms des colonnes doivent correspondre aux noms variables de la classe utilisée dans la liste |
ColumnConfig auteurColonne = new ColumnConfig("fmt_auteur", "Auteur(s)", 150); |
// FIXME : ne fonctionne plus avec GXT2.0 |
/* |
auteurColonne.setRenderer(new CellRenderer() { |
|
auteurColonne.setRenderer(new GridCellRenderer<Publication>() { |
|
public String render(Component item, String property, Object value) { |
// TODO Auto-generated method stub |
return ((String)value).replaceAll("\\|", ", "); |
@Override |
public Object render(Publication model, String property, |
ColumnData config, int rowIndex, int colIndex, |
ListStore<Publication> store, Grid<Publication> grid) { |
return (model.getAuteur()).replaceAll("\\|", ", "); |
} |
|
}); |
*/ |
|
|
colonnes.add(auteurColonne); |
|
colonnes.add(new ColumnConfig("titre", "Titre", 250)); |
105,7 → 114,7 |
colonnes.add(new ColumnConfig("indication_nvt", "Tome", 75)); |
colonnes.add(new ColumnConfig("fascicule", "Fascicule", 75)); |
colonnes.add(new ColumnConfig("truk_pages", "Pages", 75)); |
ColumnModel modeleDesColonnes = new ColumnModel(colonnes); |
modeleDesColonnes = new ColumnModel(colonnes); |
|
GridSelectionModel<Publication> modeleDeSelection = new GridSelectionModel<Publication>(); |
modeleDeSelection.addSelectionChangedListener(new SelectionChangedListener<Publication>() { |
159,14 → 168,17 |
PublicationListe publications = (PublicationListe) nouvelleDonnees; |
|
if (publications != null) { |
List<Publication> liste = (List<Publication>) publications.toList(); |
List<Publication> liste = publications.toList(); |
store = new ListStore<Publication>(); |
store.removeAll(); |
store.add(liste); |
|
gererEtatActivationBouton(); |
|
mediateur.actualiserPanneauCentral(); |
grille.reconfigure(store, modeleDesColonnes); |
grille.getSelectionModel().select(0, false); |
} |
|
//mediateur.actualiserPanneauCentral(); |
gererEtatActivationBouton(); |
layout(true); |
} else if (nouvelleDonnees instanceof Information) { |
Information info = (Information) nouvelleDonnees; |
if (info.getType().equals("maj_utilisateur")) { |
177,5 → 189,17 |
} |
layout(); |
} |
|
public void supprimerPublicationsSelectionnees() { |
List<Publication> selPub = grille.getSelectionModel().getSelectedItems(); |
GWT.log("Le résultat dans supprimer est : "+grille.getSelectionModel().getSelection().size()+" ", null); |
for(Iterator<Publication> it = selPub.iterator(); it.hasNext();) { |
GWT.log("Le résultat dans rafraichir est : "+grille.getSelectionModel().getSelection().size()+" ", null); |
grille.getStore().remove(it.next()); |
Window.alert("Retire l'item num : "); |
} |
grille.reconfigure(store, modeleDesColonnes); |
layout(true); |
} |
|
} |