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.moyennevotes;
9 benjamin 2
 
3
import org.cobogw.gwt.user.client.ui.Rating;
1084 gduche 4
import org.tela_botanica.del.client.composants.votes.barrerepartition.InfoBulleAnim;
423 gduche 5
import org.tela_botanica.del.client.i18n.I18n;
9 benjamin 6
 
66 gduche 7
import com.google.gwt.core.client.GWT;
423 gduche 8
import com.google.gwt.event.dom.client.HasClickHandlers;
1095 gduche 9
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
66 gduche 10
import com.google.gwt.uibinder.client.UiBinder;
11
import com.google.gwt.uibinder.client.UiField;
423 gduche 12
import com.google.gwt.user.client.ui.Button;
9 benjamin 13
import com.google.gwt.user.client.ui.Composite;
66 gduche 14
import com.google.gwt.user.client.ui.FocusPanel;
423 gduche 15
import com.google.gwt.user.client.ui.HasText;
629 aurelien 16
import com.google.gwt.user.client.ui.HasWidgets;
66 gduche 17
import com.google.gwt.user.client.ui.Label;
1084 gduche 18
import com.google.gwt.user.client.ui.Panel;
66 gduche 19
import com.google.gwt.user.client.ui.Widget;
9 benjamin 20
 
629 aurelien 21
public class MoyenneVoteVue extends Composite implements MoyenneVotePresenteur.Vue {
9 benjamin 22
 
66 gduche 23
	// Annotation can be used to change the name of the associated xml file
24
	// @UiTemplate("MoyenneVoteVue.ui.xml")
25
	interface MyUiBinder extends UiBinder<Widget, MoyenneVoteVue> {
26
	}
27
 
28
	private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
423 gduche 29
	private Rating votes;
30
	private int valeurOrigine;
1084 gduche 31
	private InfoBulleAnim animerVotePrisEnCompte;
1092 gduche 32
	private InfoBulleAnim animerVoteModifie;
1471 aurelien 33
	private InfoBulleAnim animerVoteSupprime;
423 gduche 34
 
66 gduche 35
	@UiField
36
	FocusPanel voter;
37
 
38
	@UiField
1471 aurelien 39
	Panel votePrisEnCompte, voteModifie, voteSupprime, zoneFleur;
1084 gduche 40
 
41
	@UiField
1566 mathias 42
	Label nbVotes, protocole, noteGenerale, nbPoints;
66 gduche 43
 
423 gduche 44
	@UiField
1471 aurelien 45
	Button boutonAnnuler;
423 gduche 46
 
1095 gduche 47
	@UiField
48
	Label zoneVoter;
49
 
629 aurelien 50
	public MoyenneVoteVue() {
66 gduche 51
		initWidget(uiBinder.createAndBindUi(this));
423 gduche 52
		votes = new Rating(0, 5);
53
		votes.setReadOnly(false);
54
		voter.add(votes);
55
		masquerBoutonAnnuler();
1084 gduche 56
		votePrisEnCompte.setVisible(false);
57
		animerVotePrisEnCompte = new InfoBulleAnim(votePrisEnCompte);
1092 gduche 58
		animerVoteModifie = new InfoBulleAnim(voteModifie);
1471 aurelien 59
		animerVoteSupprime = new InfoBulleAnim(voteSupprime);
423 gduche 60
	}
61
 
62
	public HasClickHandlers getBoutonAnnuler() {
63
		return boutonAnnuler;
64
	}
65
 
66
	public HasText getNbVotes() {
67
		return nbVotes;
68
	}
69
 
1566 mathias 70
	public HasText getNbPoints() {
71
		return nbPoints;
72
	}
73
 
423 gduche 74
	public HasClickHandlers getVotes() {
75
		return votes;
76
	}
77
 
629 aurelien 78
	public int getValeurVote() {
79
		return votes.getValue();
80
	}
423 gduche 81
 
82
	public void afficherBoutonAnnuler() {
83
		boutonAnnuler.setVisible(true);
84
	}
85
 
86
	public void masquerBoutonAnnuler() {
87
		boutonAnnuler.setVisible(false);
88
	}
89
 
1566 mathias 90
	public void afficherNbVotes() {
423 gduche 91
		nbVotes.setVisible(true);
92
	}
93
 
1566 mathias 94
	public void masquerNbVotes() {
423 gduche 95
		nbVotes.setVisible(false);
96
	}
97
 
1566 mathias 98
	public void afficherNbPoints() {
99
		nbPoints.setVisible(true);
100
	}
101
 
102
	public void masquerNbPoints() {
103
		nbPoints.setVisible(false);
104
	}
105
 
423 gduche 106
	public void reinitialiserVotes() {
107
		votes.setValue(valeurOrigine);
108
	}
109
 
1566 mathias 110
	public void rafraichir(int voteUtilisateur, int nombreVotes, int nombrePoints) {
1088 gduche 111
		valeurOrigine = voteUtilisateur;
1086 gduche 112
		String valeurVote = nombreVotes+" "+I18n.getVocabulary().nbVotes();
113
		if (nombreVotes > 1) {
114
			valeurVote += "s";
115
		}
1566 mathias 116
		String valeurPoints = ", "+Math.max(0, nombrePoints)+" "+I18n.getVocabulary().nbPoints();
117
		if (nombrePoints > 1) {
118
			valeurPoints += "s";
119
		}
1086 gduche 120
		nbVotes.setText(valeurVote);
1566 mathias 121
		nbPoints.setText(valeurPoints);
1088 gduche 122
		votes.setValue(voteUtilisateur);
9 benjamin 123
	}
629 aurelien 124
 
125
	@Override
126
	public void ajouterAuParent(HasWidgets composite) {
127
		composite.add(this);
128
	}
1084 gduche 129
 
130
	@Override
131
	public void afficherVotePrisEnCompte() {
132
		votePrisEnCompte.setStyleName("votePrisEnCompteOui");
133
		animerVotePrisEnCompte.run(2000);
134
	}
1085 gduche 135
 
136
	public HasWidgets getZoneFleur() {
137
		return zoneFleur;
138
	}
1086 gduche 139
 
140
	public HasText getZoneProtocole() {
141
		return protocole;
142
	}
1088 gduche 143
 
144
	public void setNoteGenerale(int note) {
145
		noteGenerale.setText(" : " + note);
146
	}
1092 gduche 147
 
1266 aurelien 148
	@Override
149
	public void setNoteGeneraleToolTip(double valeurVoteTotalPrecise) {
150
		double valeurArrondie = (double)Math.round(valeurVoteTotalPrecise * 1000) / 1000;
151
		zoneFleur.setTitle(I18n.getVocabulary().votesMoyennePrecise()+valeurArrondie);
152
	}
153
 
1092 gduche 154
	public void afficherVoteModifie() {
155
		voteModifie.setStyleName("votePrisEnCompteOui");
156
		animerVoteModifie.run(2000);
157
	}
1095 gduche 158
 
1471 aurelien 159
	@Override
160
	public void afficherVoteSupprime() {
161
		voteSupprime.setStyleName("voteSupprime");
162
		animerVoteSupprime.run(2000);
163
	}
164
 
1095 gduche 165
	public HasMouseMoveHandlers getZoneVoter() {
166
		return zoneVoter;
167
	}
168
 
169
	public void masquerZoneVoter() {
170
		zoneVoter.setVisible(false);
171
	}
1471 aurelien 172
 
173
	@Override
174
	public void desactiverInteractionVote() {
175
		votes.setReadOnly(true);
176
		boutonAnnuler.setEnabled(false);
177
		boutonAnnuler.addStyleName("elementMasque");
178
		votes.addStyleName("elementMasque");
179
	}
180
 
181
	@Override
182
	public void activerInteractionVote() {
183
		votes.setReadOnly(false);
184
		boutonAnnuler.setEnabled(true);
185
		boutonAnnuler.removeStyleName("elementMasque");
186
		votes.removeStyleName("elementMasque");
187
	}
9 benjamin 188
}