Subversion Repositories eFlore/Applications.coel

Rev

Rev 912 | Rev 980 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 912 Rev 934
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import java.util.Iterator;
3
import java.util.Iterator;
4
import java.util.List;
4
import java.util.List;
5
 
5
 
6
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.RegistreId;
7
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.configuration.Configuration;
8
import org.tela_botanica.client.configuration.Configuration;
9
import org.tela_botanica.client.i18n.Constantes;
9
import org.tela_botanica.client.i18n.Constantes;
10
import org.tela_botanica.client.images.Images;
10
import org.tela_botanica.client.images.Images;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
12
import org.tela_botanica.client.modeles.Valeur;
12
import org.tela_botanica.client.modeles.Valeur;
13
import org.tela_botanica.client.modeles.ValeurListe;
13
import org.tela_botanica.client.modeles.ValeurListe;
14
import org.tela_botanica.client.modeles.aDonneeListe;
14
import org.tela_botanica.client.modeles.aDonneeListe;
15
 
15
 
16
import com.extjs.gxt.ui.client.Registry;
16
import com.extjs.gxt.ui.client.Registry;
17
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
17
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
18
import com.extjs.gxt.ui.client.Style.SortDir;
18
import com.extjs.gxt.ui.client.Style.SortDir;
19
import com.extjs.gxt.ui.client.event.BaseEvent;
19
import com.extjs.gxt.ui.client.event.BaseEvent;
20
import com.extjs.gxt.ui.client.event.ButtonEvent;
20
import com.extjs.gxt.ui.client.event.ButtonEvent;
21
import com.extjs.gxt.ui.client.event.ComponentEvent;
21
import com.extjs.gxt.ui.client.event.ComponentEvent;
22
import com.extjs.gxt.ui.client.event.Events;
22
import com.extjs.gxt.ui.client.event.Events;
23
import com.extjs.gxt.ui.client.event.Listener;
23
import com.extjs.gxt.ui.client.event.Listener;
24
import com.extjs.gxt.ui.client.event.SelectionListener;
24
import com.extjs.gxt.ui.client.event.SelectionListener;
25
import com.extjs.gxt.ui.client.store.ListStore;
25
import com.extjs.gxt.ui.client.store.ListStore;
26
import com.extjs.gxt.ui.client.widget.LayoutContainer;
26
import com.extjs.gxt.ui.client.widget.LayoutContainer;
27
import com.extjs.gxt.ui.client.widget.Slider;
27
import com.extjs.gxt.ui.client.widget.Slider;
28
import com.extjs.gxt.ui.client.widget.TabItem;
28
import com.extjs.gxt.ui.client.widget.TabItem;
29
import com.extjs.gxt.ui.client.widget.TabPanel;
29
import com.extjs.gxt.ui.client.widget.TabPanel;
-
 
30
import com.extjs.gxt.ui.client.widget.button.Button;
30
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
31
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
31
import com.extjs.gxt.ui.client.widget.form.CheckBox;
32
import com.extjs.gxt.ui.client.widget.form.CheckBox;
32
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
33
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
33
import com.extjs.gxt.ui.client.widget.form.ComboBox;
34
import com.extjs.gxt.ui.client.widget.form.ComboBox;
34
import com.extjs.gxt.ui.client.widget.form.Field;
35
import com.extjs.gxt.ui.client.widget.form.Field;
35
import com.extjs.gxt.ui.client.widget.form.FormPanel;
36
import com.extjs.gxt.ui.client.widget.form.FormPanel;
36
import com.extjs.gxt.ui.client.widget.form.Radio;
37
import com.extjs.gxt.ui.client.widget.form.Radio;
37
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
38
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
38
import com.extjs.gxt.ui.client.widget.form.SliderField;
39
import com.extjs.gxt.ui.client.widget.form.SliderField;
39
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
40
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
40
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
41
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
41
import com.extjs.gxt.ui.client.widget.layout.FormData;
42
import com.extjs.gxt.ui.client.widget.layout.FormData;
42
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
43
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
43
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
44
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
44
import com.google.gwt.core.client.GWT;
45
import com.google.gwt.core.client.GWT;
45
import com.google.gwt.json.client.JSONObject;
46
import com.google.gwt.json.client.JSONObject;
46
 
47
 
47
public abstract class Formulaire extends LayoutContainer implements Rafraichissable {
48
public abstract class Formulaire extends LayoutContainer implements Rafraichissable {
48
 
49
 
49
	public static final String MODE_AJOUTER = "AJOUT";
50
	public static final String MODE_AJOUTER = "AJOUT";
50
	public static final String MODE_MODIFIER = "MODIF";
51
	public static final String MODE_MODIFIER = "MODIF";
51
	
52
	
52
	protected Constantes i18nC = null;
53
	public Constantes i18nC = null;
53
	protected Mediateur mediateur = null;
54
	public Mediateur mediateur = null;
54
	protected Configuration config = null;
55
	public Configuration config = null;
55
	
56
	
56
	protected String mode = null;
57
	public String mode = null;
57
	protected int tabIndex = 100;
58
	public int tabIndex = 100;
58
	
59
	
59
	protected FormPanel panneauFormulaire = null;
60
	public FormPanel panneauFormulaire = null;
60
	protected ButtonBar barreOutilsValidation = null;
61
	public ButtonBar barreOutilsValidation = null;
61
		
62
		
62
	protected String menuIdCourant = null;
63
	public String menuIdCourant = null;
63
	protected static Boolean clicBoutonvalidation = false;
64
	public static Boolean clicBoutonvalidation = false;
64
	protected Rafraichissable vueExterneARafraichirApresValidation = null;
65
	public Rafraichissable vueExterneARafraichirApresValidation = null;
65
 
66
 
66
	public FormPanel getFormulaire() {
67
	public FormPanel getFormulaire() {
67
		return panneauFormulaire;
68
		return panneauFormulaire;
68
	}
69
	}
69
	
70
	
70
	public void initialiserFormulaire(Mediateur mediateurCourrant, String modeDeCreation, String idMenuCourrant) {
71
	public void initialiserFormulaire(Mediateur mediateurCourrant, String modeDeCreation, String idMenuCourrant) {
71
		// Initialisation de variables
72
		// Initialisation de variables
72
		mode = modeDeCreation;
73
		mode = modeDeCreation;
73
		mediateur = mediateurCourrant;
74
		mediateur = mediateurCourrant;
74
		i18nC = Mediateur.i18nC;
75
		i18nC = Mediateur.i18nC;
75
		menuIdCourant = idMenuCourrant;
76
		menuIdCourant = idMenuCourrant;
76
		config = (Configuration) Registry.get(RegistreId.CONFIG);
77
		config = (Configuration) Registry.get(RegistreId.CONFIG);
77
		
78
		
78
		// Iniatilisation du layoutContainer
79
		// Iniatilisation du layoutContainer
79
		setLayout(new FitLayout());
80
		setLayout(new FitLayout());
80
		setBorders(false);
81
		setBorders(false);
81
		
82
		
82
		// Création du panneau du FORMULAIRE GÉNÉRAL
83
		// Création du panneau du FORMULAIRE GÉNÉRAL
83
		panneauFormulaire = new FormPanel();
84
		panneauFormulaire = new FormPanel();
84
		panneauFormulaire.setBodyBorder(false);
85
		panneauFormulaire.setBodyBorder(false);
85
		panneauFormulaire.setFrame(true);
86
		panneauFormulaire.setFrame(true);
86
 		panneauFormulaire.setCollapsible(false);
87
 		panneauFormulaire.setCollapsible(false);
87
		panneauFormulaire.setButtonAlign(HorizontalAlignment.CENTER);  
88
		panneauFormulaire.setButtonAlign(HorizontalAlignment.CENTER);  
88
		panneauFormulaire.setLayout(new FitLayout());
89
		panneauFormulaire.setLayout(new FitLayout());
89
 
90
 
90
		if (modeDeCreation.equals(MODE_AJOUTER)) {
91
		if (modeDeCreation.equals(MODE_AJOUTER)) {
91
			panneauFormulaire.setIcon(Images.ICONES.formAjouter());
92
			panneauFormulaire.setIcon(Images.ICONES.formAjouter());
92
		} else if (modeDeCreation.equals(MODE_AJOUTER)) {
93
		} else if (modeDeCreation.equals(MODE_AJOUTER)) {
93
			panneauFormulaire.setIcon(Images.ICONES.formModifier());
94
			panneauFormulaire.setIcon(Images.ICONES.formModifier());
94
		}
95
		}
95
		
96
		
96
		barreOutilsValidation = new FormulaireBarreValidation(creerEcouteurValidation());
97
		barreOutilsValidation = new FormulaireBarreValidation(creerEcouteurValidation());
97
		panneauFormulaire.setBottomComponent(barreOutilsValidation);
98
		panneauFormulaire.setBottomComponent(barreOutilsValidation);
98
		
99
		
99
		add(panneauFormulaire);
100
		add(panneauFormulaire);
100
	}
101
	}
101
	
102
	
-
 
103
	public SelectionListener<ButtonEvent> creerEcouteurValidation() {
-
 
104
		SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
-
 
105
			@Override
-
 
106
			public void componentSelected(ButtonEvent ce) {
-
 
107
				String code = ((Button) ce.getComponent()).getData("code");
-
 
108
				if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
-
 
109
					soumettreFormulaire();
-
 
110
					clicBoutonvalidation = true;
-
 
111
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
-
 
112
					soumettreFormulaire();
-
 
113
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
-
 
114
					mediateur.clicMenu(menuIdCourant);
-
 
115
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
-
 
116
					reinitialiserFormulaire();
-
 
117
				}
-
 
118
			}
-
 
119
		};
-
 
120
		
-
 
121
		return ecouteur;
-
 
122
	}
-
 
123
	
102
	protected abstract SelectionListener<ButtonEvent> creerEcouteurValidation();
124
	public abstract boolean verifierFormulaire();
103
	
125
	
104
	protected abstract boolean verifierFormulaire();
126
	public abstract boolean soumettreFormulaire();
105
	
127
	
106
	protected abstract boolean soumettreFormulaire();
128
	public abstract void reinitialiserFormulaire();
107
	
129
	
108
	protected TabItem creerOnglet(String nom, String id) {
130
	public TabItem creerOnglet(String nom, String id) {
109
		TabItem onglet = new TabItem();
131
		TabItem onglet = new TabItem();
110
		onglet.setId(id);
132
		onglet.setId(id);
111
		onglet.setText(nom);
133
		onglet.setText(nom);
112
		FormulaireOnglet.parametrer(onglet);
134
		FormulaireOnglet.parametrer(onglet);
113
		return onglet;
135
		return onglet;
114
	}
136
	}
115
 
137
 
116
	protected void controlerFermetureApresRafraichissement() {
138
	public void controlerFermetureApresRafraichissement() {
117
		// Si le bouton Valider a été cliqué, nous affichons la liste des structures
139
		// Si le bouton Valider a été cliqué, nous affichons la liste des structures
118
		if (clicBoutonvalidation) {
140
		if (clicBoutonvalidation) {
119
			fermerFormulaire();
141
			fermerFormulaire();
120
		}
142
		}
121
	}
143
	}
122
	
144
	
123
	protected void fermerFormulaire() {
145
	public void fermerFormulaire() {
124
		clicBoutonvalidation = false;
146
		clicBoutonvalidation = false;
125
		panneauFormulaire.setEnabled(false);
147
		panneauFormulaire.setEnabled(false);
126
		mediateur.clicMenu(menuIdCourant);
148
		mediateur.clicMenu(menuIdCourant);
127
	}
149
	}
128
	
150
	
129
	/** Méthode simplifiant la création de FormLayout.
151
	/** Méthode simplifiant la création de FormLayout.
130
	 * Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
152
	 * Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
131
	 * 
153
	 * 
132
	 * @param labelWidth largeur des labels. 
154
	 * @param labelWidth largeur des labels. 
133
	 * @param labelAlign alignement des labels
155
	 * @param labelAlign alignement des labels
134
	 * @return
156
	 * @return
135
	 */
157
	 */
136
	public static FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign) {
158
	public static FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign) {
137
		FormLayout formLayout = new FormLayout();
159
		FormLayout formLayout = new FormLayout();
138
		if (labelWidth != null) {
160
		if (labelWidth != null) {
139
			formLayout.setLabelWidth(labelWidth);
161
			formLayout.setLabelWidth(labelWidth);
140
		}
162
		}
141
		if (labelAlign != null) {
163
		if (labelAlign != null) {
142
			formLayout.setLabelAlign(labelAlign);
164
			formLayout.setLabelAlign(labelAlign);
143
		}
165
		}
144
		return formLayout;
166
		return formLayout;
145
	}
167
	}
146
	
168
	
147
	/** Méthode simplifiant la création de bouton radio oui/non
169
	/** Méthode simplifiant la création de bouton radio oui/non
148
	 * 
170
	 * 
149
	 * @param listeNom nom de la liste de valeur
171
	 * @param listeNom nom de la liste de valeur
150
	 * @return
172
	 * @return
151
	 */
173
	 */
152
	protected RadioGroup creerChoixUniqueRadioGroupe(String groupeNom, String listeNom) {
174
	public RadioGroup creerChoixUniqueRadioGroupe(String groupeNom, String listeNom) {
153
		groupeNom += "_grp";
175
		groupeNom += "_grp";
154
		// NOTE : il semblerait qu'il faille aussi utiliser setName() pour éviter tout problème...
176
		// NOTE : il semblerait qu'il faille aussi utiliser setName() pour éviter tout problème...
155
		RadioGroup radioGroup = new RadioGroup(groupeNom);
177
		RadioGroup radioGroup = new RadioGroup(groupeNom);
156
		radioGroup.setName(groupeNom);
178
		radioGroup.setName(groupeNom);
157
 
179
 
158
		if (listeNom.equals("ouiNon")) {
180
		if (listeNom.equals("ouiNon")) {
159
			ValeurListe ouiNonListe = new ValeurListe();
181
			ValeurListe ouiNonListe = new ValeurListe();
160
			ouiNonListe.ajouter(new Valeur("1", i18nC.oui(), "NULL", "NULL"));
182
			ouiNonListe.ajouter(new Valeur("1", i18nC.oui(), "NULL", "NULL"));
161
			ouiNonListe.ajouter(new Valeur("0", i18nC.non(), "NULL", "NULL"));
183
			ouiNonListe.ajouter(new Valeur("0", i18nC.non(), "NULL", "NULL"));
162
			creerChoixUniqueBoutonRadio(radioGroup, ouiNonListe);
184
			creerChoixUniqueBoutonRadio(radioGroup, ouiNonListe);
163
		}
185
		}
164
		
186
		
165
		return radioGroup;
187
		return radioGroup;
166
	}
188
	}
167
	
189
	
168
	protected void creerChoixUniqueBoutonRadio(RadioGroup radioGroupe, ValeurListe listeValeurs) {
190
	public void creerChoixUniqueBoutonRadio(RadioGroup radioGroupe, ValeurListe listeValeurs) {
169
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
191
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
170
			Valeur val = listeValeurs.get(it.next());
192
			Valeur val = listeValeurs.get(it.next());
171
			
193
			
172
			Radio radioBtn = new Radio();
194
			Radio radioBtn = new Radio();
173
			radioBtn.setName(radioGroupe.getName().replace("_grp", ""));
195
			radioBtn.setName(radioGroupe.getName().replace("_grp", ""));
174
			radioBtn.setId(val.getId()+"_"+radioBtn.getName());
196
			radioBtn.setId(val.getId()+"_"+radioBtn.getName());
175
			radioBtn.setBoxLabel(val.getNom());
197
			radioBtn.setBoxLabel(val.getNom());
176
			radioBtn.setValueAttribute(val.getId());
198
			radioBtn.setValueAttribute(val.getId());
177
			radioBtn.addListener(Events.Change, new Listener<ComponentEvent>() {
199
			radioBtn.addListener(Events.Change, new Listener<ComponentEvent>() {
178
	
200
	
179
				public void handleEvent(ComponentEvent be) {
201
				public void handleEvent(ComponentEvent be) {
180
					//Window.alert(((Radio) be.component).getName());
202
					//Window.alert(((Radio) be.component).getName());
181
					afficherChampSupplementaire(((Radio) be.getComponent()));
203
					afficherChampSupplementaire(((Radio) be.getComponent()));
182
				}
204
				}
183
				
205
				
184
			});
206
			});
185
			
207
			
186
			if (! val.getDescription().equals("NULL")) {
208
			if (! val.getDescription().equals("NULL")) {
187
				radioBtn.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
209
				radioBtn.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
188
			}
210
			}
189
			radioGroupe.add(radioBtn);
211
			radioGroupe.add(radioBtn);
190
		}
212
		}
191
	}
213
	}
192
	
214
	
193
	protected void afficherChampSupplementaire(Radio radioBtn) {
215
	public void afficherChampSupplementaire(Radio radioBtn) {
194
		GWT.log("Vous devez redéfinir la méthode afficherChampSupplementaire(Radio radioBtn) dans votre classe formulaire.", null);
216
		GWT.log("Vous devez redéfinir la méthode afficherChampSupplementaire(Radio radioBtn) dans votre classe formulaire.", null);
195
	};
217
	};
196
	
218
	
197
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
219
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
198
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
220
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
199
	 * Ajoute ou pas un champ "Autre".
221
	 * Ajoute ou pas un champ "Autre".
200
	 * 
222
	 * 
201
	 * @return ContentPanel le panneau contenant les cases à cocher
223
	 * @return ContentPanel le panneau contenant les cases à cocher
202
	 */
224
	 */
203
	public static LayoutContainer creerChoixMultipleCp() {
225
	public static LayoutContainer creerChoixMultipleCp() {
204
		LayoutContainer conteneur = new LayoutContainer();
226
		LayoutContainer conteneur = new LayoutContainer();
205
		conteneur.setLayout(creerFormLayout(650, LabelAlign.TOP));
227
		conteneur.setLayout(creerFormLayout(650, LabelAlign.TOP));
206
		return conteneur;
228
		return conteneur;
207
	}
229
	}
208
	
230
	
209
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
231
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
210
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
232
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
211
	 * Ajoute ou pas un champ "Autre".
233
	 * Ajoute ou pas un champ "Autre".
212
	 * 
234
	 * 
213
	 * @param cp panneau conteant le groupe de case à cocher
235
	 * @param cp panneau conteant le groupe de case à cocher
214
	 * @param cacGroup le groupe de case à cocher
236
	 * @param cacGroup le groupe de case à cocher
215
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
237
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
216
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître 
238
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître 
217
	 * @return
239
	 * @return
218
	 */
240
	 */
219
	public static void creerChoixMultipleCac(LayoutContainer cp, final CheckBoxGroup cacGroupe, ValeurListe listeValeurs, final Field<String> autreChp) {
241
	public static void creerChoixMultipleCac(LayoutContainer cp, final CheckBoxGroup cacGroupe, ValeurListe listeValeurs, final Field<String> autreChp) {
220
		cp.addListener(Events.Hide, new Listener<BaseEvent>() {
242
		cp.addListener(Events.Hide, new Listener<BaseEvent>() {
221
			public void handleEvent(BaseEvent be) {
243
			public void handleEvent(BaseEvent be) {
222
				cacGroupe.reset();
244
				cacGroupe.reset();
223
				autreChp.setValue("");
245
				autreChp.setValue("");
224
			}
246
			}
225
			
247
			
226
		});
248
		});
227
		
249
		
228
		cacGroupe.setAutoWidth(true);
250
		cacGroupe.setAutoWidth(true);
229
		cacGroupe.setStyleAttribute("padding", "3px");
251
		cacGroupe.setStyleAttribute("padding", "3px");
230
		cacGroupe.setData("liste_id", listeValeurs.getId());
252
		cacGroupe.setData("liste_id", listeValeurs.getId());
231
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
253
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
232
			Valeur val = listeValeurs.get(it.next());
254
			Valeur val = listeValeurs.get(it.next());
233
			String nom =  val.get("nom");
255
			String nom =  val.get("nom");
234
			CheckBox cac = new CheckBox();
256
			CheckBox cac = new CheckBox();
235
			cac.setId("val-"+val.getId());
257
			cac.setId("val-"+val.getId());
236
			cac.setData("id", val.getId());
258
			cac.setData("id", val.getId());
237
			cac.setBoxLabel(nom);
259
			cac.setBoxLabel(nom);
238
			if (! val.getDescription().equals("NULL")) {
260
			if (! val.getDescription().equals("NULL")) {
239
				cac.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
261
				cac.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
240
			}
262
			}
241
			cacGroupe.add(cac);
263
			cacGroupe.add(cac);
242
		}
264
		}
243
		cp.add(cacGroupe);
265
		cp.add(cacGroupe);
244
		
266
		
245
		if (autreChp != null) {
267
		if (autreChp != null) {
246
			// FIXME : éviter le chevauchement du texte des cases à cocher avec le label "Autre" sur les petits écrans
268
			// FIXME : éviter le chevauchement du texte des cases à cocher avec le label "Autre" sur les petits écrans
247
			LayoutContainer conteneur = new LayoutContainer();
269
			LayoutContainer conteneur = new LayoutContainer();
248
			conteneur.setLayout(creerFormLayout(50, LabelAlign.TOP));
270
			conteneur.setLayout(creerFormLayout(50, LabelAlign.TOP));
249
			autreChp.setId("autre-"+listeValeurs.getId());
271
			autreChp.setId("autre-"+listeValeurs.getId());
250
			autreChp.setFieldLabel("Autre");
272
			autreChp.setFieldLabel("Autre");
251
			autreChp.setLabelStyle("font-weight:normal;");
273
			autreChp.setLabelStyle("font-weight:normal;");
252
			conteneur.add(autreChp, new FormData(500, 0));
274
			conteneur.add(autreChp, new FormData(500, 0));
253
			
275
			
254
			cp.add(conteneur);
276
			cp.add(conteneur);
255
		}
277
		}
256
		cp.layout();
278
		cp.layout();
257
	}
279
	}
258
	
280
	
259
	@SuppressWarnings({"unchecked"})
281
	@SuppressWarnings({"unchecked"})
260
	public static void rafraichirComboBox(aDonneeListe<?> listeValeurs, ComboBox combo) {
282
	public static void rafraichirComboBox(aDonneeListe<?> listeValeurs, ComboBox combo) {
261
		rafraichirComboBox(listeValeurs, combo, "nom");
283
		rafraichirComboBox(listeValeurs, combo, "nom");
262
	}
284
	}
263
	
285
	
264
	@SuppressWarnings({"unchecked"})
286
	@SuppressWarnings({"unchecked"})
265
	public static void rafraichirComboBox(aDonneeListe<?> listeValeurs, ComboBox combo, String champATrier) {
287
	public static void rafraichirComboBox(aDonneeListe<?> listeValeurs, ComboBox combo, String champATrier) {
266
		List<?> liste = listeValeurs.toList();
288
		List<?> liste = listeValeurs.toList();
267
		if (liste.size() > 0) {
289
		if (liste.size() > 0) {
268
			ListStore store = combo.getStore();
290
			ListStore store = combo.getStore();
269
			store.removeAll();
291
			store.removeAll();
270
			store.add(liste);
292
			store.add(liste);
271
			store.sort(champATrier, SortDir.ASC);
293
			store.sort(champATrier, SortDir.ASC);
272
			combo.setStore(store);
294
			combo.setStore(store);
273
		}
295
		}
274
	}
296
	}
275
}
297
}