Subversion Repositories eFlore/Applications.coel

Rev

Rev 563 | Go to most recent revision | Show entire file | Ignore 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);
-
 
86
 
83
		setTopComponent(toolBar);
87
		setTopComponent(toolBar);
84
		
88
 
85
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
-
 
86
		
-
 
87
		// Définition des colomnes de la grille:
89
		// Définition des colomnes de la grille:
88
		ColumnConfig ccId = new ColumnConfig();
90
		List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>();
89
		ccId.setId("id_personne");
91
		ColumnConfig ccId = new ColumnConfig("id_personne", "Id", 45);
90
		ccId.setHeader("Id");
-
 
91
		ccId.setWidth(45);
-
 
92
		lstColumns.add(ccId);
92
		lstColumns.add(ccId);
93
		
-
 
94
		ColumnConfig ccFmtNomComplet = new ColumnConfig();
93
		ColumnConfig ccFmtNomComplet = new ColumnConfig("fmt_nom_complet", "Nom Complet", 200);
95
		ccFmtNomComplet.setId("fmt_nom_complet");
-
 
96
		ccFmtNomComplet.setHeader("Nom Complet");
-
 
97
		ccFmtNomComplet.setWidth(200);
-
 
98
		lstColumns.add(ccFmtNomComplet);
94
		lstColumns.add(ccFmtNomComplet);
99
		
-
 
100
		ColumnConfig ccCodePostal = new ColumnConfig();
95
		ColumnConfig ccCodePostal = new ColumnConfig("code_postal", "Code postal", 100);
101
		ccCodePostal.setId("code_postal");
-
 
102
		ccCodePostal.setHeader("Code postal");
-
 
103
		ccCodePostal.setWidth(100);
-
 
104
		lstColumns.add(ccCodePostal);
96
		lstColumns.add(ccCodePostal);
105
		
-
 
106
		ColumnConfig ccVille = new ColumnConfig();
97
		ColumnConfig ccVille = new ColumnConfig("ville", "Ville", 100);
107
		ccVille.setId("ville");
-
 
108
		ccVille.setHeader("Ville");
-
 
109
		ccVille.setWidth(100);
-
 
110
		lstColumns.add(ccVille);
98
		lstColumns.add(ccVille);
111
		
-
 
112
		ColumnConfig ccCourriel = new ColumnConfig();
99
		ColumnConfig ccCourriel = new ColumnConfig("courriel_princ", "Courriel", 200);
113
		ccCourriel.setId("courriel_princ");
-
 
114
		ccCourriel.setHeader("Courriel");
-
 
115
		ccCourriel.setWidth(200);
-
 
116
		lstColumns.add(ccCourriel);
100
		lstColumns.add(ccCourriel);
117
		
-
 
118
		ColumnConfig ccNom = new ColumnConfig();
101
		ColumnConfig ccNom = new ColumnConfig("nom", "Nom", 100);
119
		ccNom.setId("nom");
-
 
120
		ccNom.setHeader("Nom");
-
 
121
		ccNom.setWidth(100);
-
 
122
		ccNom.setHidden(true);
102
		ccNom.setHidden(true);
123
		lstColumns.add(ccNom);
103
		lstColumns.add(ccNom);
124
		
-
 
125
		ColumnConfig ccPrenom = new ColumnConfig();
104
		ColumnConfig ccPrenom = new ColumnConfig("prenom", "Prénom", 100);
126
		ccPrenom.setId("prenom");
-
 
127
		ccPrenom.setHeader("Prénom");
-
 
128
		ccPrenom.setWidth(100);
-
 
129
		ccPrenom.setHidden(true);
105
		ccPrenom.setHidden(true);
130
		lstColumns.add(ccPrenom);
106
		lstColumns.add(ccPrenom);
131
		
-
 
132
		modeleColonnes = new ColumnModel(lstColumns);
107
		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);
140
			}
116
			}
141
		});
117
		});
Line -... Line 118...
-
 
118
		
142
		
119
		grille = new Grid<Personne>( new ListStore<Personne>(), modeleColonnes);		
-
 
120
		grille.setSelectionModel(gsmSelectionGrille);
143
		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) {
-
 
128
				grille.getSelectionModel().select(0, false);
-
 
129
			}
144
		grille.setAutoExpandColumn("fmt_nom_complet");
130
		});
Line -... Line 131...
-
 
131
		add(grille);
145
		add(grille);
132
		
146
		
133
		// Définition de la barre de pagination
147
		pagination = new PagingToolBar(nbElementsPage);
-
 
148
		setBottomComponent(pagination);
-
 
149
		
134
		pagination = new PagingToolBar(nbElementsPage);
Line 150... Line 135...
150
		setLayout(new FitLayout());
135
		setBottomComponent(pagination);
151
	}
136
	}
152
 
137
 
Line 153... Line 138...
153
	private void clicListe(Personne personne) {
138
	private void clicListe(Personne personne) {
154
		mediateur.clicListePersonne(personne);
-
 
155
	}
139
		mediateur.clicListePersonne(personne);
156
 
-
 
157
	public void rafraichir(Object nouvellesDonnees) {
-
 
158
		
140
	}
159
		if (nouvellesDonnees instanceof PersonneListe) {
-
 
160
			
141
 
161
			setHeading(mediateur.i18nC.personneListeLabel());
-
 
162
			PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
-
 
163
			
-
 
Line 164... Line 142...
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) {
166
				liste.add(listePersonnes.get(it.next()));
144
			PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
167
			}
145
			List<Personne> liste = (List<Personne>) listePersonnes.toList();
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);