New file |
0,0 → 1,171 |
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"); |
} |
} |