Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
638 aurelien 1
package org.tela_botanica.del.client.composants.votes.barrerepartition;
140 aurelien 2
 
1070 aurelien 3
import org.tela_botanica.del.client.i18n.I18n;
4
 
140 aurelien 5
import com.google.gwt.core.client.GWT;
611 gduche 6
import com.google.gwt.event.dom.client.HasClickHandlers;
140 aurelien 7
import com.google.gwt.uibinder.client.UiBinder;
8
import com.google.gwt.uibinder.client.UiField;
9
import com.google.gwt.user.client.ui.Composite;
611 gduche 10
import com.google.gwt.user.client.ui.Label;
11
import com.google.gwt.user.client.ui.Panel;
186 aurelien 12
import com.google.gwt.user.client.ui.PushButton;
140 aurelien 13
import com.google.gwt.user.client.ui.Widget;
14
 
276 aurelien 15
public class BarreRepartitionVoteVue extends Composite implements BarreRepartitionVotePresenteur.Vue {
1004 benjamin 16
 
17
	interface MyUiBinder extends UiBinder<Widget, BarreRepartitionVoteVue> {
18
	}
19
 
611 gduche 20
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
1004 benjamin 21
	private InfoBulleAnim animerVotePrisEnCompte;
22
	private InfoBulleAnim animerVoteModifie;
23
 
24
	@UiField
1026 gduche 25
	Label nomTaxon, pourcentage;
1004 benjamin 26
	@UiField
27
	Panel barreOui, barreNon, votePrisEnCompte, voteModifie;
28
	@UiField
29
	PushButton boutonOui, boutonNon;
30
 
140 aurelien 31
	public BarreRepartitionVoteVue() {
32
		initWidget(uiBinder.createAndBindUi(this));
672 gduche 33
		votePrisEnCompte.setVisible(false);
1004 benjamin 34
		voteModifie.setVisible(false);
35
		animerVotePrisEnCompte = new InfoBulleAnim(votePrisEnCompte);
36
		animerVoteModifie = new InfoBulleAnim(voteModifie);
1070 aurelien 37
		boutonOui.setTitle(I18n.getVocabulary().JeSuisDaccord());
38
		boutonNon.setTitle(I18n.getVocabulary().JeNeSuisPasDaccord());
140 aurelien 39
	}
1004 benjamin 40
 
276 aurelien 41
	@Override
1060 gduche 42
	public void afficherVotes(int pourcentage, String nomTaxon, String auteur, boolean estPropositionInitiale) {
611 gduche 43
		this.nomTaxon.setText(nomTaxon);
1060 gduche 44
		this.nomTaxon.setTitle(nomTaxon + " - " + auteur);
1051 gduche 45
 
46
		if (estPropositionInitiale) {
47
			this.nomTaxon.addStyleName("propositionInitiale");
48
		}
1004 benjamin 49
 
611 gduche 50
		if (pourcentage > -1) {
1004 benjamin 51
 
52
			int pourcentageNon = 100 - pourcentage;
611 gduche 53
			barreOui.setWidth(pourcentage + "%");
54
			barreNon.setWidth(pourcentageNon + "%");
55
		} else {
56
			barreNon.setWidth("0px");
57
			barreOui.setWidth("0px");
172 aurelien 58
		}
140 aurelien 59
	}
1004 benjamin 60
 
276 aurelien 61
	@Override
611 gduche 62
	public HasClickHandlers getBoutonOui() {
186 aurelien 63
		return boutonOui;
64
	}
1004 benjamin 65
 
276 aurelien 66
	@Override
611 gduche 67
	public HasClickHandlers getBoutonNon() {
186 aurelien 68
		return boutonNon;
69
	}
276 aurelien 70
 
71
	@Override
72
	public void setVoteOuiEffectue() {
611 gduche 73
		boutonOui.setEnabled(false);
1070 aurelien 74
		boutonOui.addStyleName("boutonVoteOuiDesactive");
611 gduche 75
		boutonNon.setEnabled(true);
1070 aurelien 76
		boutonNon.removeStyleName("boutonVoteNonDesactive");
77
		boutonOui.setTitle("");
78
		boutonNon.setTitle(I18n.getVocabulary().JeNeSuisPasDaccord());
276 aurelien 79
	}
80
 
81
	@Override
82
	public void setVoteNonEffectue() {
611 gduche 83
		boutonOui.setEnabled(true);
1070 aurelien 84
		boutonOui.removeStyleName("boutonVoteOuiDesactive");
611 gduche 85
		boutonNon.setEnabled(false);
1070 aurelien 86
		boutonNon.addStyleName("boutonVoteNonDesactive");
87
		boutonOui.setTitle(I18n.getVocabulary().JeSuisDaccord());
88
		boutonNon.setTitle("");
276 aurelien 89
	}
672 gduche 90
 
91
	@Override
92
	public void afficherVotePrisEnCompte(boolean voteOui) {
1004 benjamin 93
		if (voteOui) {
672 gduche 94
			votePrisEnCompte.removeStyleName("votePrisEnCompteNon");
95
			votePrisEnCompte.setStyleName("votePrisEnCompteOui");
96
		} else {
97
			votePrisEnCompte.removeStyleName("votePrisEnCompteOui");
98
			votePrisEnCompte.setStyleName("votePrisEnCompteNon");
99
		}
1004 benjamin 100
		animerVotePrisEnCompte.run(2000);
672 gduche 101
	}
867 aurelien 102
 
1004 benjamin 103
	public void afficherVoteModifie(boolean voteOui) {
104
		if (voteOui) {
105
			voteModifie.removeStyleName("votePrisEnCompteNon");
106
			voteModifie.setStyleName("votePrisEnCompteOui");
107
		} else {
108
			voteModifie.removeStyleName("votePrisEnCompteOui");
109
			voteModifie.setStyleName("votePrisEnCompteNon");
110
		}
111
		animerVoteModifie.run(2000);
112
	}
113
 
867 aurelien 114
	@Override
115
	public void desactiverBoutons() {
116
		boutonNon.setEnabled(false);
117
		boutonOui.setEnabled(false);
118
	}
119
 
120
	@Override
121
	public void activerBoutons() {
122
		boutonNon.setEnabled(true);
123
		boutonOui.setEnabled(true);
124
	}
966 gduche 125
 
126
	@Override
127
	public void toggleNomEspece() {
128
		nomTaxon.setVisible(!nomTaxon.isVisible());
129
	}
1026 gduche 130
 
131
	@Override
132
	public void setPourcentage(int pourcentage) {
133
		this.pourcentage.setText(String.valueOf(pourcentage) + "%");
134
	}
140 aurelien 135
}