Rev 1266 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.votes.moyennevotes;
import org.cobogw.gwt.user.client.ui.Rating;
import org.tela_botanica.del.client.composants.votes.barrerepartition.InfoBulleAnim;
import org.tela_botanica.del.client.i18n.I18n;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FocusPanel;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;
public class MoyenneVoteVue extends Composite implements MoyenneVotePresenteur.Vue {
// Annotation can be used to change the name of the associated xml file
// @UiTemplate("MoyenneVoteVue.ui.xml")
interface MyUiBinder extends UiBinder<Widget, MoyenneVoteVue> {
}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
private Rating votes;
private int valeurOrigine;
private InfoBulleAnim animerVotePrisEnCompte;
private InfoBulleAnim animerVoteModifie;
private InfoBulleAnim animerVoteSupprime;
@UiField
FocusPanel voter;
@UiField
Panel votePrisEnCompte, voteModifie, voteSupprime, zoneFleur;
@UiField
Label nbVotes, protocole, noteGenerale;
@UiField
Button boutonAnnuler;
@UiField
Label zoneVoter;
public MoyenneVoteVue() {
initWidget(uiBinder.createAndBindUi(this));
votes = new Rating(0, 5);
votes.setReadOnly(false);
voter.add(votes);
masquerBoutonAnnuler();
votePrisEnCompte.setVisible(false);
animerVotePrisEnCompte = new InfoBulleAnim(votePrisEnCompte);
animerVoteModifie = new InfoBulleAnim(voteModifie);
animerVoteSupprime = new InfoBulleAnim(voteSupprime);
}
public HasClickHandlers getBoutonAnnuler() {
return boutonAnnuler;
}
public HasText getNbVotes() {
return nbVotes;
}
public HasClickHandlers getVotes() {
return votes;
}
public int getValeurVote() {
return votes.getValue();
}
public void afficherBoutonAnnuler() {
boutonAnnuler.setVisible(true);
}
public void masquerBoutonAnnuler() {
boutonAnnuler.setVisible(false);
}
public void afficherNbVotes () {
nbVotes.setVisible(true);
}
public void masquerNbVotes () {
nbVotes.setVisible(false);
}
public void reinitialiserVotes() {
votes.setValue(valeurOrigine);
}
public void rafraichir(int voteUtilisateur, int nombreVotes) {
valeurOrigine = voteUtilisateur;
String valeurVote = nombreVotes+" "+I18n.getVocabulary().nbVotes();
if (nombreVotes > 1) {
valeurVote += "s";
}
nbVotes.setText(valeurVote);
votes.setValue(voteUtilisateur);
}
@Override
public void ajouterAuParent(HasWidgets composite) {
composite.add(this);
}
@Override
public void afficherVotePrisEnCompte() {
votePrisEnCompte.setStyleName("votePrisEnCompteOui");
animerVotePrisEnCompte.run(2000);
}
public HasWidgets getZoneFleur() {
return zoneFleur;
}
public HasText getZoneProtocole() {
return protocole;
}
public void setNoteGenerale(int note) {
noteGenerale.setText(" : " + note);
}
@Override
public void setNoteGeneraleToolTip(double valeurVoteTotalPrecise) {
double valeurArrondie = (double)Math.round(valeurVoteTotalPrecise * 1000) / 1000;
zoneFleur.setTitle(I18n.getVocabulary().votesMoyennePrecise()+valeurArrondie);
}
public void afficherVoteModifie() {
voteModifie.setStyleName("votePrisEnCompteOui");
animerVoteModifie.run(2000);
}
@Override
public void afficherVoteSupprime() {
voteSupprime.setStyleName("voteSupprime");
animerVoteSupprime.run(2000);
}
public HasMouseMoveHandlers getZoneVoter() {
return zoneVoter;
}
public void masquerZoneVoter() {
zoneVoter.setVisible(false);
}
@Override
public void desactiverInteractionVote() {
votes.setReadOnly(true);
boutonAnnuler.setEnabled(false);
boutonAnnuler.addStyleName("elementMasque");
votes.addStyleName("elementMasque");
}
@Override
public void activerInteractionVote() {
votes.setReadOnly(false);
boutonAnnuler.setEnabled(true);
boutonAnnuler.removeStyleName("elementMasque");
votes.removeStyleName("elementMasque");
}
}