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") ; |
} |
} |
|
|
} |