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.ui.ClickListener;import com.google.gwt.user.client.ui.Image;import com.google.gwt.user.client.ui.MouseListenerAdapter;import com.google.gwt.user.client.ui.Widget;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 boolean estNote = false ;private Image[] etoiles = null ;private BarreNotationVue(){super() ;}public BarreNotationVue(ImageMediateur im, int noteMax){iMediateur = im ;setNoteMax(noteMax) ;this.setSize(200, 100) ;this.setBodyBorder(false) ;this.setBorder(false) ;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) {afficherNote() ;}}) ;etoiles[i].addClickListener(new ClickListener() {public void onClick(Widget sender) {int i = 0 ;while(etoiles[i] != (Image)sender){i++ ;}noter(i) ;}}) ;}}public void rafraichir(Object nouvelleDonnees,boolean repandreRaffraichissement) {if(nouvelleDonnees instanceof String[]){estNote = false ;String[] note = (String[])nouvelleDonnees ;int noteInt = Integer.parseInt(note[0]) ;if(noteInt != -1){noter(noteInt) ;}else{noteEnCours = 0 ;afficherNote() ;}}}public void noter(int note){noteEnCours = note ;estNote = true ;afficherNote() ;}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 afficherNote(){if(estNote){for(int i = 0 ; i <= noteEnCours ; i++){etoiles[i].setUrl("etoile_notee.jpg") ;}for (int j = noteEnCours + 1 ; j < noteMax ; j++){etoiles[j].setUrl("etoile_vide.jpg") ;}}else{for(int i = 0 ; i < noteMax ; i++){etoiles[i].setUrl("etoile_vide.jpg") ;}}}public String getNote(){return ""+noteEnCours ;}}