Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 44 → Rev 45

/trunk/src/org/tela_botanica/client/vues/BarreNotationVue.java
New file
0,0 → 1,125
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") ;
}
}
 
 
}