Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 563 Rev 566
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;
-
 
4
import java.util.Iterator;
3
import java.util.ArrayList;
Line 5... Line 4...
5
import java.util.List;
4
import java.util.List;
6
 
5
 
7
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
Line 16... Line 15...
16
import com.extjs.gxt.ui.client.data.BasePagingLoader;
15
import com.extjs.gxt.ui.client.data.BasePagingLoader;
17
import com.extjs.gxt.ui.client.data.ModelData;
16
import com.extjs.gxt.ui.client.data.ModelData;
18
import com.extjs.gxt.ui.client.data.PagingLoadResult;
17
import com.extjs.gxt.ui.client.data.PagingLoadResult;
19
import com.extjs.gxt.ui.client.data.PagingLoader;
18
import com.extjs.gxt.ui.client.data.PagingLoader;
20
import com.extjs.gxt.ui.client.data.PagingModelMemoryProxy;
19
import com.extjs.gxt.ui.client.data.PagingModelMemoryProxy;
-
 
20
import com.extjs.gxt.ui.client.event.BaseEvent;
21
import com.extjs.gxt.ui.client.event.ButtonEvent;
21
import com.extjs.gxt.ui.client.event.ButtonEvent;
-
 
22
import com.extjs.gxt.ui.client.event.Events;
-
 
23
import com.extjs.gxt.ui.client.event.Listener;
22
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
24
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
23
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
25
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
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;
Line 47... Line 49...
47
	private final int nbElementsPage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
49
	private final int nbElementsPage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
Line 48... Line 50...
48
	
50
	
49
	public PersonneListeVue() {
51
	public PersonneListeVue() {
Line -... Line 52...
-
 
52
		mediateur = Registry.get(RegistreId.MEDIATEUR);
-
 
53
		
Line 50... Line 54...
50
		mediateur = Registry.get(RegistreId.MEDIATEUR);
54
		setHeading(mediateur.i18nC.personneListeLabel());
51
		
55
		setLayout(new FitLayout());
52
		
56
		
53
		//Définition de la barre d'outil
57
		//Définition de la barre d'outil
Line 75... Line 79...
75
		supprimer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
79
		supprimer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
76
			public void componentSelected(ButtonEvent ce) {  
80
			public void componentSelected(ButtonEvent ce) {  
77
				mediateur.clicSupprimerPersonne(r, grille.getSelectionModel().getSelectedItems());
81
				mediateur.clicSupprimerPersonne(r, grille.getSelectionModel().getSelectedItems());
78
			}  
82
			}  
79
		});
83
		});
80
		
-
 
81
		supprimer.setIcon(Images.ICONES.supprimer());
84
		supprimer.setIcon(Images.ICONES.supprimer());
82
		toolBar.add(supprimer);
85
		toolBar.add(supprimer);
83
		setTopComponent(toolBar);
-
 
Line 84... Line 86...
84
		
86
 
Line 85... Line 87...
85
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
87
		setTopComponent(toolBar);
86
		
88
 
87
		// Définition des colomnes de la grille:
89
		// Définition des colomnes de la grille:
88
		ColumnConfig ccId = new ColumnConfig();
-
 
89
		ccId.setId("id_personne");
-
 
90
		ccId.setHeader("Id");
90
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
91
		ccId.setWidth(45);
-
 
92
		lstColumns.add(ccId);
91
		ColumnConfig ccId = new ColumnConfig("id_personne", "Id", 45);
93
		
-
 
94
		ColumnConfig ccFmtNomComplet = new ColumnConfig();
-
 
95
		ccFmtNomComplet.setId("fmt_nom_complet");
-
 
96
		ccFmtNomComplet.setHeader("Nom Complet");
92
		lstColumns.add(ccId);
97
		ccFmtNomComplet.setWidth(200);
-
 
98
		lstColumns.add(ccFmtNomComplet);
93
		ColumnConfig ccFmtNomComplet = new ColumnConfig("fmt_nom_complet", "Nom Complet", 200);
99
		
-
 
100
		ColumnConfig ccCodePostal = new ColumnConfig();
-
 
101
		ccCodePostal.setId("code_postal");
-
 
102
		ccCodePostal.setHeader("Code postal");
94
		lstColumns.add(ccFmtNomComplet);
103
		ccCodePostal.setWidth(100);
-
 
104
		lstColumns.add(ccCodePostal);
95
		ColumnConfig ccCodePostal = new ColumnConfig("code_postal", "Code postal", 100);
105
		
-
 
106
		ColumnConfig ccVille = new ColumnConfig();
-
 
107
		ccVille.setId("ville");
-
 
108
		ccVille.setHeader("Ville");
96
		lstColumns.add(ccCodePostal);
109
		ccVille.setWidth(100);
-
 
110
		lstColumns.add(ccVille);
97
		ColumnConfig ccVille = new ColumnConfig("ville", "Ville", 100);
111
		
-
 
112
		ColumnConfig ccCourriel = new ColumnConfig();
-
 
113
		ccCourriel.setId("courriel_princ");
-
 
114
		ccCourriel.setHeader("Courriel");
98
		lstColumns.add(ccVille);
115
		ccCourriel.setWidth(200);
-
 
116
		lstColumns.add(ccCourriel);
99
		ColumnConfig ccCourriel = new ColumnConfig("courriel_princ", "Courriel", 200);
117
		
-
 
118
		ColumnConfig ccNom = new ColumnConfig();
-
 
119
		ccNom.setId("nom");
-
 
120
		ccNom.setHeader("Nom");
100
		lstColumns.add(ccCourriel);
121
		ccNom.setWidth(100);
101
		ColumnConfig ccNom = new ColumnConfig("nom", "Nom", 100);
122
		ccNom.setHidden(true);
-
 
123
		lstColumns.add(ccNom);
102
		ccNom.setHidden(true);
124
		
-
 
125
		ColumnConfig ccPrenom = new ColumnConfig();
-
 
126
		ccPrenom.setId("prenom");
-
 
127
		ccPrenom.setHeader("Prénom");
103
		lstColumns.add(ccNom);
128
		ccPrenom.setWidth(100);
104
		ColumnConfig ccPrenom = new ColumnConfig("prenom", "Prénom", 100);
129
		ccPrenom.setHidden(true);
-
 
130
		lstColumns.add(ccPrenom);
105
		ccPrenom.setHidden(true);
-
 
106
		lstColumns.add(ccPrenom);
131
		
107
		modeleColonnes = new ColumnModel(lstColumns);
132
		modeleColonnes = new ColumnModel(lstColumns);
108
 
133
		grille = new Grid<Personne>( new ListStore<Personne>(), modeleColonnes);
109
		// Définition de la grille
134
		GridSelectionModel<Personne> gsmSelectionGrille = new GridSelectionModel<Personne>();
110
		GridSelectionModel<Personne> gsmSelectionGrille = new GridSelectionModel<Personne>();
135
		gsmSelectionGrille.addSelectionChangedListener(new SelectionChangedListener<Personne>() {
111
		gsmSelectionGrille.addSelectionChangedListener(new SelectionChangedListener<Personne>() {
136
			public void selectionChanged(SelectionChangedEvent<Personne> event) {
112
			public void selectionChanged(SelectionChangedEvent<Personne> event) {
137
				Personne p = (Personne) event.getSelectedItem();
113
				Personne p = (Personne) event.getSelectedItem();
138
				personneSelectionnee = p;
114
				personneSelectionnee = p;
139
				clicListe(p);
115
				clicListe(p);
Line -... Line 116...
-
 
116
			}
140
			}
117
		});
-
 
118
		
141
		});
119
		grille = new Grid<Personne>( new ListStore<Personne>(), modeleColonnes);		
-
 
120
		grille.setSelectionModel(gsmSelectionGrille);
-
 
121
		grille.setWidth("100%");
-
 
122
		grille.setAutoExpandColumn("fmt_nom_complet");
-
 
123
		grille.getView().setAutoFill(true);
-
 
124
		grille.getView().setForceFit(true);
-
 
125
		grille.addListener(Events.ViewReady, new Listener<BaseEvent>() {
-
 
126
			@Override
-
 
127
			public void handleEvent(BaseEvent be) {
142
		
128
				grille.getSelectionModel().select(0, false);
Line -... Line 129...
-
 
129
			}
143
		grille.setSelectionModel(gsmSelectionGrille);
130
		});
144
		grille.setAutoExpandColumn("fmt_nom_complet");
131
		add(grille);
145
		add(grille);
-
 
146
		
-
 
147
		pagination = new PagingToolBar(nbElementsPage);
132
		
Line 148... Line 133...
148
		setBottomComponent(pagination);
133
		// Définition de la barre de pagination
149
		
134
		pagination = new PagingToolBar(nbElementsPage);
150
		setLayout(new FitLayout());
135
		setBottomComponent(pagination);
Line 151... Line 136...
151
	}
136
	}
152
 
-
 
153
	private void clicListe(Personne personne) {
137
 
154
		mediateur.clicListePersonne(personne);
-
 
155
	}
-
 
156
 
138
	private void clicListe(Personne personne) {
157
	public void rafraichir(Object nouvellesDonnees) {
-
 
158
		
139
		mediateur.clicListePersonne(personne);
159
		if (nouvellesDonnees instanceof PersonneListe) {
-
 
160
			
-
 
161
			setHeading(mediateur.i18nC.personneListeLabel());
-
 
Line 162... Line 140...
162
			PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
140
	}
163
			
141
 
164
			List<Personne> liste = new ArrayList<Personne>();
142
	public void rafraichir(Object nouvellesDonnees) {
165
			for (Iterator<String> it = listePersonnes.keySet().iterator(); it.hasNext();) {
143
		if (nouvellesDonnees instanceof PersonneListe) {
Line 174... Line 152...
174
			
152
			
175
			ListStore<Personne> store = new ListStore<Personne>(loader);
153
			ListStore<Personne> store = new ListStore<Personne>(loader);
Line 176... Line 154...
176
			grille.reconfigure(store, modeleColonnes);
154
			grille.reconfigure(store, modeleColonnes);
177
			
-
 
178
			mediateur.actualiserPanneauCentral();
155
			
179
			
-
 
180
			store.sort("fmt_nom_complet", SortDir.ASC);
-
 
181
			if (store.getCount() > 0) {
-
 
182
				//FIXME : la selection d'une ligne ne mets pas le style voulu (ligne sélectionnée)
-
 
Line 183... Line 156...
183
				grille.getSelectionModel().select(store.getAt(0), true);	
156
			mediateur.actualiserPanneauCentral();
184
			}
-
 
185
			
157
			store.sort("fmt_nom_complet", SortDir.ASC);
186
		} else if (nouvellesDonnees instanceof Information)	{
158
			
187
			
-
 
188
			Information info = (Information) nouvellesDonnees;
159
		} else if (nouvellesDonnees instanceof Information)	{
189
			if (info.getType().equals("suppression_personne")) 	{
-
 
190
				
160
			Information info = (Information) nouvellesDonnees;
191
				Info.display("Suppression de personne", info.getMessages().toString());	
161
			if (info.getType().equals("suppression_personne")) 	{
192
			
162
				Info.display("Suppression de personne", info.getMessages().toString());	
193
					List<Personne> selectionPersonnes = grille.getSelectionModel().getSelectedItems();
163
				List<Personne> selectionPersonnes = grille.getSelectionModel().getSelectedItems();
194
					final int taille = selectionPersonnes.size();
164
				final int taille = selectionPersonnes.size();
195
					for (int i = 0; i < taille; i++) {
165
				for (int i = 0; i < taille; i++) {
196
						grille.getStore().remove(selectionPersonnes.get(i));
166
					grille.getStore().remove(selectionPersonnes.get(i));
197
					}
167
				}
198
			} else	{
-
 
199
				Info.display("Erreur", info.getMessages().toString());
168
			} else	{
200
			}
169
				Info.display("Erreur", info.getMessages().toString());
201
			
170
			}
202
		} else {
171
		} else {
203
			GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
172
			GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);