Subversion Repositories eFlore/Applications.coel

Rev

Rev 858 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
854 jpm 1
package org.tela_botanica.client.composants;
2
 
3
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.modeles.Configuration;
7
import org.tela_botanica.client.modeles.Valeur;
8
import org.tela_botanica.client.modeles.ValeurListe;
9
import org.tela_botanica.client.vues.Formulaire;
10
 
11
import com.extjs.gxt.ui.client.Registry;
12
import com.extjs.gxt.ui.client.store.ListStore;
13
import com.extjs.gxt.ui.client.widget.form.ComboBox;
14
import com.google.gwt.core.client.GWT;
15
 
16
public class ChampComboBoxListeValeurs extends ComboBox<Valeur> implements Rafraichissable {
17
	private Configuration config = null;
18
	private Mediateur mediateur = null;
19
 
20
	private String listeValeursCode = null;
21
	private String nomChampATrier = null;
22
 
23
	public ChampComboBoxListeValeurs(String labelDuChamp, String codeDeLaliste) {
24
		config = (Configuration) Registry.get(RegistreId.CONFIG);
25
		mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
26
 
27
		setForceSelection(true);
28
		setTriggerAction(TriggerAction.ALL);
29
		setDisplayField("nom");
30
		setStore(new ListStore<Valeur>());
31
		setEditable(false);
32
 
33
		setFieldLabel(labelDuChamp);
34
 
35
		setListeCode(codeDeLaliste);
36
		mediateur.obtenirListeValeurEtRafraichir(this, getListeCode());
37
	}
38
 
39
	public String getListeCode() {
40
		return listeValeursCode;
41
	}
42
	public void setListeCode(String code) {
43
		listeValeursCode = code;
44
	}
45
 
46
	public String getTrie() {
47
		String champATrier = "nom";
48
		if (nomChampATrier != null) {
49
			champATrier = nomChampATrier;
50
		}
51
		return champATrier;
52
	}
53
	public void setTrie(String champATrier) {
54
		nomChampATrier = champATrier;
55
	}
56
 
57
	@Override
58
	public void rafraichir(Object nouvellesDonnees) {
59
		if (nouvellesDonnees instanceof ValeurListe) {
60
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
61
			if (listeValeurs.getId().equals(config.getListeId(getListeCode()))) {
62
				Formulaire.rafraichirComboBox(listeValeurs, this, getTrie());
63
			}
64
		} else {
65
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
66
		}
67
	}
68
 
69
}