Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

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