Subversion Repositories eFlore/Applications.coel

Rev

Rev 858 | Rev 955 | Go to most recent revision | 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;
        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;
        }
        
        public String getValeur() {
                String valeur = "";
                if (sliderChamp.getValue() != 0) {
                        valeur = UtilNombre.formaterEnEntier(sliderChamp.getValue());
                }
                return valeur;
        }
        
        public void peupler(String valeur) {
                if (!UtilString.isEmpty(valeur)) {
                        sliderChamp.setValue(UtilString.formaterEnEntier(valeur));
                }
        }
}