Subversion Repositories eFlore/Applications.coel

Rev

Rev 955 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.composants;

import org.tela_botanica.client.util.UtilNombre;
import org.tela_botanica.client.util.UtilString;

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;
        
        public ChampSliderPourcentage(String label) {
                super(creerSliderPoucentage(label));
                message = label;
                this.getSlider().addListener(Events.Change, new Listener<SliderEvent>() {
                        public void handleEvent(SliderEvent be) {
                                int pourcent = ((Slider) be.getComponent()).getValue();
                                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;
        }
        
        public String getValeur() {
                String valeur = "";
                int pourcentage = getSlider().getValue();
                if (pourcentage != 0) {
                        valeur = UtilNombre.formaterEnEntier(pourcentage);
                }
                return valeur;
        }
        
        public void peupler(String valeur) {
                if (!UtilString.isEmpty(valeur)) {
                        setValue(UtilString.formaterEnEntier(valeur));
                }
        }
}