Rev 1060 | Rev 1124 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.votes.barrerepartition;
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.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.PushButton;
import com.google.gwt.user.client.ui.Widget;
public class BarreRepartitionVoteVue extends Composite implements BarreRepartitionVotePresenteur.Vue {
interface MyUiBinder extends UiBinder<Widget, BarreRepartitionVoteVue> {
}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
private InfoBulleAnim animerVotePrisEnCompte;
private InfoBulleAnim animerVoteModifie;
@UiField
Label nomTaxon, pourcentage;
@UiField
Panel barreOui, barreNon, votePrisEnCompte, voteModifie;
@UiField
PushButton boutonOui, boutonNon;
public BarreRepartitionVoteVue() {
initWidget(uiBinder.createAndBindUi(this));
votePrisEnCompte.setVisible(false);
voteModifie.setVisible(false);
animerVotePrisEnCompte = new InfoBulleAnim(votePrisEnCompte);
animerVoteModifie = new InfoBulleAnim(voteModifie);
boutonOui.setTitle(I18n.getVocabulary().JeSuisDaccord());
boutonNon.setTitle(I18n.getVocabulary().JeNeSuisPasDaccord());
}
@Override
public void afficherVotes(int pourcentage, String nomTaxon, String auteur, boolean estPropositionInitiale) {
this.nomTaxon.setText(nomTaxon);
this.nomTaxon.setTitle(nomTaxon + " - " + auteur);
if (estPropositionInitiale) {
this.nomTaxon.addStyleName("propositionInitiale");
}
if (pourcentage > -1) {
int pourcentageNon = 100 - pourcentage;
barreOui.setWidth(pourcentage + "%");
barreNon.setWidth(pourcentageNon + "%");
} else {
barreNon.setWidth("0px");
barreOui.setWidth("0px");
}
}
@Override
public HasClickHandlers getBoutonOui() {
return boutonOui;
}
@Override
public HasClickHandlers getBoutonNon() {
return boutonNon;
}
@Override
public void setVoteOuiEffectue() {
boutonOui.setEnabled(false);
boutonOui.addStyleName("boutonVoteOuiDesactive");
boutonNon.setEnabled(true);
boutonNon.removeStyleName("boutonVoteNonDesactive");
boutonOui.setTitle("");
boutonNon.setTitle(I18n.getVocabulary().JeNeSuisPasDaccord());
}
@Override
public void setVoteNonEffectue() {
boutonOui.setEnabled(true);
boutonOui.removeStyleName("boutonVoteOuiDesactive");
boutonNon.setEnabled(false);
boutonNon.addStyleName("boutonVoteNonDesactive");
boutonOui.setTitle(I18n.getVocabulary().JeSuisDaccord());
boutonNon.setTitle("");
}
@Override
public void afficherVotePrisEnCompte(boolean voteOui) {
if (voteOui) {
votePrisEnCompte.removeStyleName("votePrisEnCompteNon");
votePrisEnCompte.setStyleName("votePrisEnCompteOui");
} else {
votePrisEnCompte.removeStyleName("votePrisEnCompteOui");
votePrisEnCompte.setStyleName("votePrisEnCompteNon");
}
animerVotePrisEnCompte.run(2000);
}
public void afficherVoteModifie(boolean voteOui) {
if (voteOui) {
voteModifie.removeStyleName("votePrisEnCompteNon");
voteModifie.setStyleName("votePrisEnCompteOui");
} else {
voteModifie.removeStyleName("votePrisEnCompteOui");
voteModifie.setStyleName("votePrisEnCompteNon");
}
animerVoteModifie.run(2000);
}
@Override
public void desactiverBoutons() {
boutonNon.setEnabled(false);
boutonOui.setEnabled(false);
}
@Override
public void activerBoutons() {
boutonNon.setEnabled(true);
boutonOui.setEnabled(true);
}
@Override
public void toggleNomEspece() {
nomTaxon.setVisible(!nomTaxon.isVisible());
}
@Override
public void setPourcentage(int pourcentage) {
this.pourcentage.setText(String.valueOf(pourcentage) + "%");
}
}