Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 46 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.vues;

import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;

import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.MouseListener;
import com.google.gwt.user.client.ui.MouseListenerAdapter;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Panel;

public class BarreNotationVue extends Panel implements Rafraichissable {

        private ImageMediateur iMediateur = null ;
        private int noteEnCours = 0 ;
        private int noteMax = 0 ;
        private int noteCurseur = 0 ;
        private Image[] etoiles = null ;
        
        private BarreNotationVue()
        {
                super() ;
        }
        
        public BarreNotationVue(ImageMediateur im, int noteMax)
        {
                super("Notation") ;
                iMediateur = im ;
                setNoteMax(noteMax) ;
                this.setSize(200, 300) ;
                
                ajouterListeners() ;
                
        }
        
        public void ajouterListeners()
        {
                for (int i = 0; i < etoiles.length; i++) {
                        
                        noteCurseur = i ;
                        
                        etoiles[i].addMouseListener(new MouseListenerAdapter() {


                                public void onMouseEnter(Widget sender) {
                                        
                                        Image enCours = (Image)sender ;
                                        int nEnCours = 0 ;
                                        
                                        for(int i = 0 ; etoiles[i] != enCours ; i++)
                                        {
                                                etoiles[i].setUrl("etoile_curseur.jpg") ;
                                                nEnCours = i ;
                                        }
                                                enCours.setUrl("etoile_curseur.jpg") ;
                                        
                                }

                                public void onMouseLeave(Widget sender) {
                                
                                        noter() ;
                                }

                                
                        }) ;
                        
                        etoiles[i].addClickListener(new ClickListener() {

                                public void onClick(Widget sender) {
                                        
                                        int i = 0 ;
                                        
                                        while(etoiles[i] != (Image)sender)
                                        {
                                                i++ ;
                                        }                       
                                        
                                        noteEnCours = i ;
                                        noter() ;
                                        System.out.println("Nouvelle note : "+noteEnCours);
                                        
                                }
                                
                                
                        }) ;
                }
                
        }
        
        
        public void rafraichir(Object nouvelleDonnees,
                        boolean repandreRaffraichissement) {
                // TODO Auto-generated method stub
                
        }
        
        public void setNoteMax(int nMax)
        {
                noteMax = nMax ;
                etoiles = new Image[noteMax] ;
                
                for(int i = 0 ; i < noteMax ; i++)
                {
                        etoiles[i] = new Image("etoile_vide.jpg") ;
                        this.add(etoiles[i]) ;
                }
        }
        
        public void noter()
        {
                for(int j = 0 ; j <= noteEnCours ; j++)
                {
                        etoiles[j].setUrl("etoile_notee.jpg") ;
                }
                
                for (int j = noteEnCours + 1 ; j <= noteMax ; j++) {                                            
                        etoiles[j].setUrl("etoile_vide.jpg") ;                                          
                }
        }


}