Subversion Repositories eFlore/Applications.coel

Rev

Rev 1764 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1764 Rev 1789
1
package org.tela_botanica.client.vues.personne;
1
package org.tela_botanica.client.vues.personne;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
6
 
6
 
7
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.composants.ChampFiltreRecherche;
9
import org.tela_botanica.client.composants.ChampFiltreRecherche;
10
import org.tela_botanica.client.composants.InfoLogger;
10
import org.tela_botanica.client.composants.InfoLogger;
11
import org.tela_botanica.client.images.Images;
11
import org.tela_botanica.client.images.Images;
12
import org.tela_botanica.client.interfaces.Rafraichissable;
12
import org.tela_botanica.client.interfaces.Rafraichissable;
13
import org.tela_botanica.client.modeles.Information;
13
import org.tela_botanica.client.modeles.Information;
14
import org.tela_botanica.client.modeles.Utilisateur;
14
import org.tela_botanica.client.modeles.Utilisateur;
15
import org.tela_botanica.client.modeles.personne.Personne;
15
import org.tela_botanica.client.modeles.personne.Personne;
16
import org.tela_botanica.client.modeles.personne.PersonneAsyncDao;
16
import org.tela_botanica.client.modeles.personne.PersonneAsyncDao;
17
import org.tela_botanica.client.modeles.personne.PersonneListe;
17
import org.tela_botanica.client.modeles.personne.PersonneListe;
18
import org.tela_botanica.client.vues.BarrePaginationVue;
18
import org.tela_botanica.client.vues.BarrePaginationVue;
19
 
19
 
20
import com.extjs.gxt.ui.client.Registry;
20
import com.extjs.gxt.ui.client.Registry;
21
import com.extjs.gxt.ui.client.event.BaseEvent;
21
import com.extjs.gxt.ui.client.event.BaseEvent;
22
import com.extjs.gxt.ui.client.event.ButtonEvent;
22
import com.extjs.gxt.ui.client.event.ButtonEvent;
23
import com.extjs.gxt.ui.client.event.Events;
23
import com.extjs.gxt.ui.client.event.Events;
24
import com.extjs.gxt.ui.client.event.GridEvent;
24
import com.extjs.gxt.ui.client.event.GridEvent;
25
import com.extjs.gxt.ui.client.event.Listener;
25
import com.extjs.gxt.ui.client.event.Listener;
26
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
26
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
27
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
27
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
28
import com.extjs.gxt.ui.client.event.SelectionListener;
28
import com.extjs.gxt.ui.client.event.SelectionListener;
29
import com.extjs.gxt.ui.client.store.ListStore;
29
import com.extjs.gxt.ui.client.store.ListStore;
30
import com.extjs.gxt.ui.client.widget.ContentPanel;
30
import com.extjs.gxt.ui.client.widget.ContentPanel;
31
import com.extjs.gxt.ui.client.widget.button.Button;
31
import com.extjs.gxt.ui.client.widget.button.Button;
32
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
32
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
33
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
33
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
34
import com.extjs.gxt.ui.client.widget.grid.Grid;
34
import com.extjs.gxt.ui.client.widget.grid.Grid;
35
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
35
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
36
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
36
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
37
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
37
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
38
import com.google.gwt.core.client.GWT;
38
import com.google.gwt.core.client.GWT;
39
import com.google.gwt.i18n.client.Constants;
39
import com.google.gwt.i18n.client.Constants;
40
import com.google.gwt.user.client.Window;
40
import com.google.gwt.user.client.Window;
41
 
41
 
42
public class PersonneListeVue extends ContentPanel implements Rafraichissable {
42
public class PersonneListeVue extends ContentPanel implements Rafraichissable {
43
	
43
	
44
	private Mediateur mediateur = null ;
44
	private Mediateur mediateur = null ;
45
	
45
	
46
	private Grid<Personne> grille = null;
46
	private Grid<Personne> grille = null;
47
	private ListStore<Personne> store = null;
47
	private ListStore<Personne> store = null;
48
	
48
	
49
	private ChampFiltreRecherche champFiltreRecherche = null;
49
	private ChampFiltreRecherche champFiltreRecherche = null;
50
	private BarrePaginationVue pagination = null;
50
	private BarrePaginationVue pagination = null;
51
	
51
	
52
	private ColumnModel modeleColonnes = null;
52
	private ColumnModel modeleColonnes = null;
53
	private Button ajouter = null;
53
	private Button ajouter = null;
54
	private Button modifier = null;
54
	private Button modifier = null;
55
	private Button supprimer = null;
55
	private Button supprimer = null;
56
	
56
	
57
	private int indexElementSelectionne = 0;
57
	private int indexElementSelectionne = 0;
58
	private Personne personneSelectionnee = null;
58
	private Personne personneSelectionnee = null;
59
	
59
	
60
	public PersonneListeVue() {
60
	public PersonneListeVue() {
61
		mediateur = Registry.get(RegistreId.MEDIATEUR);
61
		mediateur = Registry.get(RegistreId.MEDIATEUR);
62
		Constants i18nC = mediateur.i18nC;
62
		Constants i18nC = mediateur.i18nC;
63
		
63
		
64
		setHeadingHtml(Mediateur.i18nC.personneListeLabel());
64
		setHeaderVisible(false);
65
		setLayout(new FitLayout());
65
		setLayout(new FitLayout());
66
		
66
		
67
		//Définition de la barre d'outil
67
		//Définition de la barre d'outil
68
		ToolBar toolBar = new ToolBar();
68
		ToolBar toolBar = new ToolBar();
69
		ajouter = new Button(Mediateur.i18nC.ajouter());
69
		ajouter = new Button(Mediateur.i18nC.ajouter());
70
		ajouter.setIcon(Images.ICONES.ajouter());
70
		ajouter.setIcon(Images.ICONES.ajouter());
71
		ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() {  
71
		ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() {  
72
			public void componentSelected(ButtonEvent ce) {  
72
			public void componentSelected(ButtonEvent ce) {  
73
				mediateur.clicAjouterPersonne();
73
				mediateur.clicAjouterPersonne();
74
			}  
74
			}  
75
		});
75
		});
76
		ajouter.setToolTip(mediateur.i18nC.indicationCreerUneFiche()+" "+mediateur.i18nC.collectionSingulier());
76
		ajouter.setToolTip(mediateur.i18nC.indicationCreerUneFiche()+" "+mediateur.i18nC.collectionSingulier());
77
		toolBar.add(ajouter);
77
		toolBar.add(ajouter);
78
 
78
 
79
		modifier = new Button(Mediateur.i18nC.modifier());
79
		modifier = new Button(Mediateur.i18nC.modifier());
80
		modifier.setIcon(Images.ICONES.formModifier());
80
		modifier.setIcon(Images.ICONES.formModifier());
81
		modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {  
81
		modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {  
82
			public void componentSelected(ButtonEvent ce) {
82
			public void componentSelected(ButtonEvent ce) {
83
				mediateur.clicModifierPersonne(grille.getSelectionModel().getSelectedItems());
83
				mediateur.clicModifierPersonne(grille.getSelectionModel().getSelectedItems());
84
			}  
84
			}  
85
		});
85
		});
86
		modifier.setToolTip(mediateur.i18nC.indicationModifierUneFiche());
86
		modifier.setToolTip(mediateur.i18nC.indicationModifierUneFiche());
87
		toolBar.add(modifier);
87
		toolBar.add(modifier);
88
		
88
		
89
		supprimer = new Button(Mediateur.i18nC.supprimer());
89
		supprimer = new Button(Mediateur.i18nC.supprimer());
90
		supprimer.setIcon(Images.ICONES.supprimer());
90
		supprimer.setIcon(Images.ICONES.supprimer());
91
		supprimer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
91
		supprimer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
92
			public void componentSelected(ButtonEvent ce) {  
92
			public void componentSelected(ButtonEvent ce) {  
93
				clicSupprimerPersonne(grille.getSelectionModel().getSelectedItems());
93
				clicSupprimerPersonne(grille.getSelectionModel().getSelectedItems());
94
			}  
94
			}  
95
		});
95
		});
96
		supprimer.setToolTip(mediateur.i18nC.indicationSupprimerUneFiche());
96
		supprimer.setToolTip(mediateur.i18nC.indicationSupprimerUneFiche());
97
		toolBar.add(supprimer);
97
		toolBar.add(supprimer);
98
		setTopComponent(toolBar);
98
		setTopComponent(toolBar);
99
 
99
 
100
		// Définition des colomnes de la grille:
100
		// Définition des colomnes de la grille:
101
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
101
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
102
		lstColumns.add(new ColumnConfig("id_personne", "Id", 45));
102
		lstColumns.add(new ColumnConfig("id_personne", "Id", 45));
103
		lstColumns.add(new ColumnConfig("nom", "Nom", 100));
103
		lstColumns.add(new ColumnConfig("nom", "Nom", 100));
104
		lstColumns.add(new ColumnConfig("prenom", "Prénom", 100));
104
		lstColumns.add(new ColumnConfig("prenom", "Prénom", 100));
105
		lstColumns.add(new ColumnConfig("fmt_nom_complet", "Nom Complet", 200));
105
		lstColumns.add(new ColumnConfig("fmt_nom_complet", "Nom Complet", 200));
106
		lstColumns.add(new ColumnConfig("code_postal", "Code postal", 100));
106
		lstColumns.add(new ColumnConfig("code_postal", "Code postal", 100));
107
		lstColumns.add(new ColumnConfig("ville", "Ville", 100));
107
		lstColumns.add(new ColumnConfig("ville", "Ville", 100));
108
		lstColumns.add(new ColumnConfig("_courriel_princ_", "Courriel", 200));
108
		lstColumns.add(new ColumnConfig("_courriel_princ_", "Courriel", 200));
109
 
109
 
110
		lstColumns.get(0).setHidden(true);
110
		lstColumns.get(0).setHidden(true);
111
		lstColumns.get(1).setHidden(true);
111
		lstColumns.get(1).setHidden(true);
112
		lstColumns.get(2).setHidden(true);
112
		lstColumns.get(2).setHidden(true);
113
		
113
		
114
		modeleColonnes = new ColumnModel(lstColumns);
114
		modeleColonnes = new ColumnModel(lstColumns);
115
 
115
 
116
		// Définition de la grille
116
		// Définition de la grille
117
		GridSelectionModel<Personne> gsmSelectionGrille = new GridSelectionModel<Personne>();
117
		GridSelectionModel<Personne> gsmSelectionGrille = new GridSelectionModel<Personne>();
118
		gsmSelectionGrille.addSelectionChangedListener(new SelectionChangedListener<Personne>() {
118
		gsmSelectionGrille.addSelectionChangedListener(new SelectionChangedListener<Personne>() {
119
			public void selectionChanged(SelectionChangedEvent<Personne> event) {
119
			public void selectionChanged(SelectionChangedEvent<Personne> event) {
120
				personneSelectionnee = (Personne) event.getSelectedItem();
120
				personneSelectionnee = (Personne) event.getSelectedItem();
121
				indexElementSelectionne = store.indexOf(personneSelectionnee);
121
				indexElementSelectionne = store.indexOf(personneSelectionnee);
122
				clicListe(personneSelectionnee);
122
				clicListe(personneSelectionnee);
123
			}
123
			}
124
		});
124
		});
125
		
125
		
126
		store = new ListStore<Personne>();
126
		store = new ListStore<Personne>();
127
		
127
		
128
		grille = new Grid<Personne>(store, modeleColonnes);		
128
		grille = new Grid<Personne>(store, modeleColonnes);		
129
		grille.setSelectionModel(gsmSelectionGrille);
129
		grille.setSelectionModel(gsmSelectionGrille);
130
		grille.setWidth("100%");
130
		grille.setWidth("100%");
131
		grille.setAutoExpandColumn("fmt_nom_complet");
131
		grille.setAutoExpandColumn("fmt_nom_complet");
132
		grille.getView().setAutoFill(true);
132
		grille.getView().setAutoFill(true);
133
		grille.getView().setForceFit(true);
133
		grille.getView().setForceFit(true);
134
		grille.addListener(Events.ViewReady, new Listener<BaseEvent>() {
134
		grille.addListener(Events.ViewReady, new Listener<BaseEvent>() {
135
			public void handleEvent(BaseEvent be) {
135
			public void handleEvent(BaseEvent be) {
136
				grille.getSelectionModel().select(0, false);
136
				grille.getSelectionModel().select(0, false);
137
			}
137
			}
138
		});
138
		});
139
		grille.addListener(Events.OnDoubleClick, new Listener<BaseEvent>(){
139
		grille.addListener(Events.OnDoubleClick, new Listener<BaseEvent>(){
140
			public void handleEvent(BaseEvent be) {
140
			public void handleEvent(BaseEvent be) {
141
				modifier.fireEvent(Events.Select);
141
				modifier.fireEvent(Events.Select);
142
			}
142
			}
143
		});
143
		});
144
 
144
 
145
		grille.addListener(Events.SortChange, new Listener<BaseEvent>() {
145
		grille.addListener(Events.SortChange, new Listener<BaseEvent>() {
146
 
146
 
147
			@Override
147
			@Override
148
			public void handleEvent(BaseEvent be) {
148
			public void handleEvent(BaseEvent be) {
149
				GridEvent ge = (GridEvent<Personne>) be;
149
				GridEvent ge = (GridEvent<Personne>) be;
150
				ge.preventDefault();
150
				ge.preventDefault();
151
				// TODO rajouter un test sur le sort state pour trier par nom par défaut 
151
				// TODO rajouter un test sur le sort state pour trier par nom par défaut 
152
				// bref, on verra plus tard parce que c'est chiant et qu'on en a marre de coel
152
				// bref, on verra plus tard parce que c'est chiant et qu'on en a marre de coel
153
				String tri = ge.getSortInfo().getSortField();
153
				String tri = ge.getSortInfo().getSortField();
154
				if(tri.equals("_courriel_princ_")) {
154
				if(tri.equals("_courriel_princ_")) {
155
					tri = "truk_courriel";
155
					tri = "truk_courriel";
156
				}
156
				}
157
				
157
				
158
				if(tri.equals("fmt_nom_complet")) {
158
				if(tri.equals("fmt_nom_complet")) {
159
					tri = "nom";
159
					tri = "nom";
160
				}
160
				}
161
				PersonneAsyncDao.tri = Personne.PREFIXE+"_"+tri+" "+ge.getSortInfo().getSortDir().toString();
161
				PersonneAsyncDao.tri = Personne.PREFIXE+"_"+tri+" "+ge.getSortInfo().getSortDir().toString();
162
				pagination.changePage();
162
				pagination.changePage();
163
			}
163
			}
164
		});
164
		});
165
		add(grille);
165
		add(grille);
166
		
166
		
167
		PersonneListe personneListe = new PersonneListe();
167
		PersonneListe personneListe = new PersonneListe();
168
		champFiltreRecherche = new ChampFiltreRecherche(mediateur, toolBar, personneListe);
168
		champFiltreRecherche = new ChampFiltreRecherche(mediateur, toolBar, personneListe);
169
		// Définition de la barre de pagination
169
		// Définition de la barre de pagination
170
		pagination = new BarrePaginationVue(personneListe, mediateur, champFiltreRecherche);
170
		pagination = new BarrePaginationVue(personneListe, mediateur, champFiltreRecherche);
171
		setBottomComponent(pagination);
171
		setBottomComponent(pagination);
172
	}
172
	}
173
 
173
 
174
	private void clicListe(Personne personne) {
174
	private void clicListe(Personne personne) {
175
		if (personne != null && store.getCount() > 0) {
175
		if (personne != null && store.getCount() > 0) {
176
			mediateur.clicListePersonne(personne);
176
			mediateur.clicListePersonne(personne);
177
		}
177
		}
178
	}
178
	}
179
	
179
	
180
	private void clicSupprimerPersonne(List<Personne> personnesASupprimer) {
180
	private void clicSupprimerPersonne(List<Personne> personnesASupprimer) {
181
		if (store.getCount() > 0) {
181
		if (store.getCount() > 0) {
182
			mediateur.clicSupprimerPersonne(this, personnesASupprimer);
182
			mediateur.clicSupprimerPersonne(this, personnesASupprimer);
183
		}
183
		}
184
	}
184
	}
185
	
185
	
186
	private void gererEtatActivationBouton()	{
186
	private void gererEtatActivationBouton()	{
187
		int nbreElementDuMagazin = store.getCount();
187
		int nbreElementDuMagazin = store.getCount();
188
		ajouter.enable();
188
		ajouter.enable();
189
		if (nbreElementDuMagazin == 0) {
189
		if (nbreElementDuMagazin == 0) {
190
			supprimer.disable();
190
			supprimer.disable();
191
			modifier.disable();
191
			modifier.disable();
192
		} else if (nbreElementDuMagazin > 0) {
192
		} else if (nbreElementDuMagazin > 0) {
193
			modifier.enable();
193
			modifier.enable();
194
			if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie()) {
194
			if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie()) {
195
				supprimer.enable();
195
				supprimer.enable();
196
			}
196
			}
197
		}
197
		}
198
	}
198
	}
199
	
199
	
200
	public void rafraichir(Object nouvellesDonnees) {
200
	public void rafraichir(Object nouvellesDonnees) {
201
		
201
		
202
		if (nouvellesDonnees instanceof PersonneListe) {
202
		if (nouvellesDonnees instanceof PersonneListe) {
203
			PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
203
			PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
204
			
204
			
205
			// la grille de gxt est case sensitive, on harmonise donc tous les noms en majuscule et sans espaces
205
			// la grille de gxt est case sensitive, on harmonise donc tous les noms en majuscule et sans espaces
206
			// au début et à la fin  afin de pouvoir trier correctement 
206
			// au début et à la fin  afin de pouvoir trier correctement 
207
			// (la colonne nom ne sert qu'au tri et n'est pas affichée)
207
			// (la colonne nom ne sert qu'au tri et n'est pas affichée)
208
			for (Iterator<Personne> iterator = listePersonnes.toList().iterator(); iterator.hasNext();) {
208
			for (Iterator<Personne> iterator = listePersonnes.toList().iterator(); iterator.hasNext();) {
209
				 Personne personne =  iterator.next();
209
				 Personne personne =  iterator.next();
210
				 personne.setNom(personne.getNom().toUpperCase().trim());
210
				 personne.setNom(personne.getNom().toUpperCase().trim());
211
			}
211
			}
212
			
212
			
213
			champFiltreRecherche.setListePaginable(listePersonnes);
213
			champFiltreRecherche.setListePaginable(listePersonnes);
214
			pagination.setlistePaginable(listePersonnes);
214
			pagination.setlistePaginable(listePersonnes);
215
			pagination.rafraichir(listePersonnes.getPageTable());
215
			pagination.rafraichir(listePersonnes.getPageTable());
216
			
216
			
217
			if (listePersonnes != null) {
217
			if (listePersonnes != null) {
218
				List<Personne> liste = (List<Personne>) listePersonnes.toList();
218
				List<Personne> liste = (List<Personne>) listePersonnes.toList();
219
				store.removeAll();
219
				store.removeAll();
220
				store.add(liste);
220
				store.add(liste);
221
				mediateur.actualiserPanneauCentral();
221
				mediateur.actualiserPanneauCentral();
222
				grille.fireEvent(Events.ViewReady);
222
				grille.fireEvent(Events.ViewReady);
223
			}
223
			}
224
		} else if (nouvellesDonnees instanceof Information)	{
224
		} else if (nouvellesDonnees instanceof Information)	{
225
			Information info = (Information) nouvellesDonnees;
225
			Information info = (Information) nouvellesDonnees;
226
			if (info.getType().equals("maj_utilisateur")) {
226
			if (info.getType().equals("maj_utilisateur")) {
227
				gererEtatActivationBouton();
227
				gererEtatActivationBouton();
228
			} else if(info.getType().equals("personne_modifiee")) {
228
			} else if(info.getType().equals("personne_modifiee")) {
229
				// curieusement la suppression efface aussi l'index de l'élément
229
				// curieusement la suppression efface aussi l'index de l'élément
230
				// car elle redéclenche l'évenement de selection (on le stocke donc temporairement)
230
				// car elle redéclenche l'évenement de selection (on le stocke donc temporairement)
231
				int temporaire = indexElementSelectionne;
231
				int temporaire = indexElementSelectionne;
232
				if(personneSelectionnee != null) {
232
				if(personneSelectionnee != null) {
233
					store.remove(indexElementSelectionne);
233
					store.remove(indexElementSelectionne);
234
					personneSelectionnee = null;
234
					personneSelectionnee = null;
235
				}
235
				}
236
				Personne personneModifiee = (Personne)info.getDonnee(0);
236
				Personne personneModifiee = (Personne)info.getDonnee(0);
237
				// au cas ou le bouton appliquer aurait été cliqué avant de valider
237
				// au cas ou le bouton appliquer aurait été cliqué avant de valider
238
				store.remove(personneModifiee);
238
				store.remove(personneModifiee);
239
				indexElementSelectionne = temporaire;
239
				indexElementSelectionne = temporaire;
240
				store.insert(personneModifiee, temporaire);
240
				store.insert(personneModifiee, temporaire);
241
				personneSelectionnee = personneModifiee;
241
				personneSelectionnee = personneModifiee;
242
				int indexElementSelectionne = store.indexOf(personneSelectionnee);
242
				int indexElementSelectionne = store.indexOf(personneSelectionnee);
243
				grille.getSelectionModel().select(indexElementSelectionne, false);
243
				grille.getSelectionModel().select(indexElementSelectionne, false);
244
				grille.getView().focusRow(indexElementSelectionne);
244
				grille.getView().focusRow(indexElementSelectionne);
245
				clicListe(personneSelectionnee);
245
				clicListe(personneSelectionnee);
246
			} else if (info.getType().equals("suppression_personne")) 	{
246
			} else if (info.getType().equals("suppression_personne")) 	{
247
				InfoLogger.display("Suppression de personne", info.getMessages().toString());	
247
				InfoLogger.display("Suppression de personne", info.getMessages().toString());	
248
				pagination.getlistePaginable().recharger();
248
				pagination.getlistePaginable().recharger();
249
				gererEtatActivationBouton();
249
				gererEtatActivationBouton();
250
			} else if (info.getType().equals("maj_utilisateur"))	{
250
			} else if (info.getType().equals("maj_utilisateur"))	{
251
				gererEtatActivationBouton();
251
				gererEtatActivationBouton();
252
			} else {
252
			} else {
253
				InfoLogger.display("Erreur", info.getMessages().toString(), true);
253
				InfoLogger.display("Erreur", info.getMessages().toString(), true);
254
			}
254
			}
255
		} else {
255
		} else {
256
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
256
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
257
		}
257
		}
258
		
258
		
259
		layout();
259
		layout();
260
	}
260
	}
261
}
261
}
262
 
262
 
263
 
263
 
264
 
264
 
265
 
265
 
266
 
266
 
267
 
267