Subversion Repositories eFlore/Applications.coel

Rev

Rev 567 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 567 Rev 713
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line 2... Line 2...
2
 
2
 
-
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Iterator;
Line 4... Line 5...
4
import java.util.List;
5
import java.util.List;
5
 
6
 
6
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.i18n.Constantes;
9
import org.tela_botanica.client.i18n.Constantes;
9
import org.tela_botanica.client.images.Images;
10
import org.tela_botanica.client.images.Images;
-
 
11
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
12
import org.tela_botanica.client.modeles.Information;
11
import org.tela_botanica.client.modeles.Information;
13
import org.tela_botanica.client.modeles.Personne;
12
import org.tela_botanica.client.modeles.Publication;
14
import org.tela_botanica.client.modeles.Publication;
Line 13... Line 15...
13
import org.tela_botanica.client.modeles.PublicationListe;
15
import org.tela_botanica.client.modeles.PublicationListe;
Line 24... Line 26...
24
import com.extjs.gxt.ui.client.event.SelectionListener;
26
import com.extjs.gxt.ui.client.event.SelectionListener;
25
import com.extjs.gxt.ui.client.store.ListStore;
27
import com.extjs.gxt.ui.client.store.ListStore;
26
import com.extjs.gxt.ui.client.widget.ContentPanel;
28
import com.extjs.gxt.ui.client.widget.ContentPanel;
27
import com.extjs.gxt.ui.client.widget.button.Button;
29
import com.extjs.gxt.ui.client.widget.button.Button;
28
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
30
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
-
 
31
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
29
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
32
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
30
import com.extjs.gxt.ui.client.widget.grid.Grid;
33
import com.extjs.gxt.ui.client.widget.grid.Grid;
-
 
34
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
31
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
35
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
32
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
36
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
33
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
37
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
34
import com.google.gwt.core.client.GWT;
38
import com.google.gwt.core.client.GWT;
-
 
39
import com.google.gwt.user.client.Window;
Line 35... Line 40...
35
 
40
 
Line 36... Line 41...
36
public class PublicationListeVue extends ContentPanel implements Rafraichissable {
41
public class PublicationListeVue extends ContentPanel implements Rafraichissable {
37
 
42
 
Line 38... Line 43...
38
	private Mediateur mediateur = null;
43
	private Mediateur mediateur = null;
39
	private Constantes i18nC = null;
44
	private Constantes i18nC = null;
-
 
45
 
Line 40... Line 46...
40
 
46
	private Grid<Publication> grille = null;
41
	private Grid<Publication> grille = null;
47
	private ListStore<Publication> store = null;
42
	private ListStore<Publication> store = null;
48
	private ColumnModel modeleDesColonnes = null;
Line 84... Line 90...
84
 
90
 
85
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
91
		List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
86
		// ATTENTION : les noms des colonnes doivent correspondre aux noms variables de la classe utilisée dans la liste
92
		// ATTENTION : les noms des colonnes doivent correspondre aux noms variables de la classe utilisée dans la liste
87
		ColumnConfig auteurColonne = new ColumnConfig("fmt_auteur", "Auteur(s)", 150);
93
		ColumnConfig auteurColonne = new ColumnConfig("fmt_auteur", "Auteur(s)", 150);
88
		// FIXME : ne fonctionne plus avec GXT2.0
94
		// FIXME : ne fonctionne plus avec GXT2.0
89
		/*
95
		
Line -... Line 96...
-
 
96
		auteurColonne.setRenderer(new GridCellRenderer<Publication>() {
90
		auteurColonne.setRenderer(new CellRenderer() {
97
 
91
 
98
			@Override
-
 
99
			public Object render(Publication model, String property,
92
			public String render(Component item, String property, Object value) {
100
					ColumnData config, int rowIndex, int colIndex,
93
				// TODO Auto-generated method stub
101
					ListStore<Publication> store, Grid<Publication> grid) {
Line 94... Line 102...
94
				return ((String)value).replaceAll("\\|", ", ");
102
				return (model.getAuteur()).replaceAll("\\|", ", ");
-
 
103
			}
95
			}
104
			
96
			
105
		});
Line 97... Line 106...
97
		});
106
		
98
		*/
107
		
99
		colonnes.add(auteurColonne);
108
		colonnes.add(auteurColonne);
100
		
109
		
101
		colonnes.add(new ColumnConfig("titre", "Titre", 250));
110
		colonnes.add(new ColumnConfig("titre", "Titre", 250));
102
		colonnes.add(new ColumnConfig("fmt_nom_complet", "Nom de la revue", 150));
111
		colonnes.add(new ColumnConfig("fmt_nom_complet", "Nom de la revue", 150));
103
		colonnes.add(new ColumnConfig("ce_truk_editeur", "Editeur", 75));
112
		colonnes.add(new ColumnConfig("ce_truk_editeur", "Editeur", 75));
104
		colonnes.add(new ColumnConfig("date_parution", "Date de parution", 75));
113
		colonnes.add(new ColumnConfig("date_parution", "Date de parution", 75));
Line 105... Line 114...
105
		colonnes.add(new ColumnConfig("indication_nvt", "Tome", 75));
114
		colonnes.add(new ColumnConfig("indication_nvt", "Tome", 75));
106
		colonnes.add(new ColumnConfig("fascicule", "Fascicule", 75));
115
		colonnes.add(new ColumnConfig("fascicule", "Fascicule", 75));
107
		colonnes.add(new ColumnConfig("truk_pages", "Pages", 75));
116
		colonnes.add(new ColumnConfig("truk_pages", "Pages", 75));
108
		ColumnModel modeleDesColonnes = new ColumnModel(colonnes);
117
		modeleDesColonnes = new ColumnModel(colonnes);
Line 157... Line 166...
157
	public void rafraichir(Object nouvelleDonnees) {
166
	public void rafraichir(Object nouvelleDonnees) {
158
		if (nouvelleDonnees instanceof PublicationListe) {
167
		if (nouvelleDonnees instanceof PublicationListe) {
159
			PublicationListe publications = (PublicationListe) nouvelleDonnees;
168
			PublicationListe publications = (PublicationListe) nouvelleDonnees;
Line 160... Line 169...
160
 
169
 
161
			if (publications != null) {
170
			if (publications != null) {
-
 
171
				List<Publication> liste = publications.toList();
162
				List<Publication> liste = (List<Publication>) publications.toList();
172
				store = new ListStore<Publication>();
163
				store.removeAll();
173
				store.removeAll();
164
				store.add(liste);
-
 
165
 
174
				store.add(liste);
166
				gererEtatActivationBouton();
-
 
167
				
175
				grille.reconfigure(store, modeleDesColonnes);
168
				mediateur.actualiserPanneauCentral();
176
				grille.getSelectionModel().select(0, false);
-
 
177
			}
-
 
178
			
-
 
179
			//mediateur.actualiserPanneauCentral();
-
 
180
			gererEtatActivationBouton();
169
			}
181
			layout(true);
170
		} else if (nouvelleDonnees instanceof Information) {
182
		} else if (nouvelleDonnees instanceof Information) {
171
			Information info = (Information) nouvelleDonnees;
183
			Information info = (Information) nouvelleDonnees;
172
			if (info.getType().equals("maj_utilisateur")) {
184
			if (info.getType().equals("maj_utilisateur")) {
173
				gererEtatActivationBouton();
185
				gererEtatActivationBouton();
174
			}
186
			}
175
		} else {
187
		} else {
176
			GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
188
			GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
177
		}
189
		}
178
		layout();
190
		layout();
-
 
191
	}
-
 
192
 
-
 
193
	public void supprimerPublicationsSelectionnees() {
-
 
194
		List<Publication> selPub = grille.getSelectionModel().getSelectedItems();
-
 
195
		GWT.log("Le résultat dans supprimer est : "+grille.getSelectionModel().getSelection().size()+" ", null);
-
 
196
		for(Iterator<Publication> it = selPub.iterator(); it.hasNext();) {
-
 
197
			GWT.log("Le résultat dans rafraichir est : "+grille.getSelectionModel().getSelection().size()+" ", null);
-
 
198
			grille.getStore().remove(it.next());
-
 
199
			Window.alert("Retire l'item num : ");
-
 
200
		}
-
 
201
		grille.reconfigure(store, modeleDesColonnes);
-
 
202
		layout(true);
Line 179... Line 203...
179
	}
203
	}