Subversion Repositories eFlore/Applications.del

Rev

Rev 867 | Rev 1004 | 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 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.Element;
import com.google.gwt.user.client.Window;
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 animer;
        
        @UiField Label nomTaxon;
        @UiField Panel barreOui, barreNon, votePrisEnCompte;
        @UiField PushButton boutonOui, boutonNon;
        
        public BarreRepartitionVoteVue() {
                initWidget(uiBinder.createAndBindUi(this));
                votePrisEnCompte.setVisible(false);
                animer = new InfoBulleAnim(votePrisEnCompte);
        }
        
        @Override
        public void afficherVotes(int pourcentage, String nomTaxon) {
                this.nomTaxon.setText(nomTaxon);
                this.nomTaxon.setTitle(nomTaxon);
                
                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);
                boutonNon.setEnabled(true);
        }

        @Override
        public void setVoteNonEffectue() {
                boutonOui.setEnabled(true);
                boutonNon.setEnabled(false);
        }

        @Override
        public void afficherVotePrisEnCompte(boolean voteOui) {
                if (voteOui) { 
                        votePrisEnCompte.removeStyleName("votePrisEnCompteNon");
                        votePrisEnCompte.setStyleName("votePrisEnCompteOui");
                } else {
                        votePrisEnCompte.removeStyleName("votePrisEnCompteOui");
                        votePrisEnCompte.setStyleName("votePrisEnCompteNon");
                }
                animer.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());
        }
}