Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 857 → Rev 858

/trunk/src/org/tela_botanica/client/composants/ChampComboBoxListeValeurs.java
11,6 → 11,8
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.Field;
import com.extjs.gxt.ui.client.widget.form.Validator;
import com.google.gwt.core.client.GWT;
 
public class ChampComboBoxListeValeurs extends ComboBox<Valeur> implements Rafraichissable {
19,8 → 21,17
 
private String listeValeursCode = null;
private String nomChampATrier = null;
private String valeurDefautId = null;
public ChampComboBoxListeValeurs(String labelDuChamp, String codeDeLaliste) {
initialiserChampComboBox(labelDuChamp, codeDeLaliste, 0);
}
public ChampComboBoxListeValeurs(String labelDuChamp, String codeDeLaliste, int tabIndex) {
initialiserChampComboBox(labelDuChamp, codeDeLaliste, tabIndex);
}
private void initialiserChampComboBox(String labelDuChamp, String codeDeLaliste, int tabIndex) {
config = (Configuration) Registry.get(RegistreId.CONFIG);
mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
30,8 → 41,30
setStore(new ListStore<Valeur>());
setEditable(false);
 
setFieldLabel(labelDuChamp);
setTabIndex(tabIndex);
if (labelDuChamp == null) {
setLabelSeparator("");
} else {
setFieldLabel(labelDuChamp);
}
setValidator(new Validator() {
@Override
public String validate(Field<?> field, String value) {
String retour = null;
if (field.getRawValue().equals("")) {
field.setValue(null);
} else if (getStore().findModel("nom", field.getRawValue()) == null) {
String contenuBrut = field.getRawValue();
field.setValue(null);
field.setRawValue(contenuBrut);
retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
}
return retour;
}
});
setListeCode(codeDeLaliste);
mediateur.obtenirListeValeurEtRafraichir(this, getListeCode());
}
43,6 → 76,11
listeValeursCode = code;
}
public void setValeurDefaut(String id) {
valeurDefautId = id;
actualiserValeurParDefaut();
}
public String getTrie() {
String champATrier = "nom";
if (nomChampATrier != null) {
54,6 → 92,12
nomChampATrier = champATrier;
}
public void actualiserValeurParDefaut() {
if (valeurDefautId != null && getStore() != null) {
setValue(getStore().findModel("id_valeur", valeurDefautId));
}
}
@Override
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof ValeurListe) {
60,6 → 104,7
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
if (listeValeurs.getId().equals(config.getListeId(getListeCode()))) {
Formulaire.rafraichirComboBox(listeValeurs, this, getTrie());
actualiserValeurParDefaut();
}
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
/trunk/src/org/tela_botanica/client/composants/ChampSliderPourcentage.java
New file
0,0 → 1,36
package org.tela_botanica.client.composants;
 
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SliderEvent;
import com.extjs.gxt.ui.client.widget.Slider;
import com.extjs.gxt.ui.client.widget.form.SliderField;
 
public class ChampSliderPourcentage extends SliderField {
private String message = null;
private ChampSliderPourcentage sliderChamp = null;
public ChampSliderPourcentage(String label) {
super(creerSliderPoucentage(label));
sliderChamp = this;
message = label;
this.getSlider().addListener(Events.Change, new Listener<SliderEvent>() {
public void handleEvent(SliderEvent be) {
int pourcent = ((Slider) be.getComponent()).getValue();
sliderChamp.setFieldLabel(message+" ("+pourcent+"%) ");
}
});
this.setFieldLabel(message);
}
private static Slider creerSliderPoucentage(String message) {
Slider slider = new Slider();
slider.setMinValue(0);
slider.setMaxValue(100);
slider.setValue(0);
slider.setIncrement(1);
slider.setMessage("{0} "+message);
return slider;
}
}