Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1092 → Rev 1095

/trunk/src/org/tela_botanica/del/client/composants/votes/moyennevotes/MoyenneVotePresenteur.java
14,6 → 14,9
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
import com.google.gwt.event.dom.client.MouseMoveEvent;
import com.google.gwt.event.dom.client.MouseMoveHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
47,16 → 50,19
public void rafraichir(int moyenneVote, int nbVotes);
 
public void ajouterAuParent(HasWidgets composite);
 
public void afficherVotePrisEnCompte();
 
public HasWidgets getZoneFleur();
 
public HasText getZoneProtocole();
 
public void setNoteGenerale(int note);
 
public void afficherVoteModifie();
 
public HasMouseMoveHandlers getZoneVoter();
public void masquerZoneVoter();
}
 
private Vue vue;
66,19 → 72,20
private int valeurVoteDefaut = -1;
private int valeurVoteUtilisateur = -1;
private int valeurVoteTotal = 0;
 
// TODO: on devrait passer un conteneur qui permet d'accéder à ces services
private VoteProtocoleService voteProtocoleService;
 
public MoyenneVotePresenteur(Image image, Protocole protocole, Vue vue, VoteProtocoleService voteProtocoleService) {
public MoyenneVotePresenteur(Image image, Protocole protocole, Vue vue,
VoteProtocoleService voteProtocoleService) {
this.vue = vue;
this.protocole = protocole;
this.image = image;
this.voteProtocoleService = voteProtocoleService;
 
String nomProtocole = protocole.getNom();
nomProtocole = nomProtocole.substring(0, 1).toUpperCase()+ nomProtocole.substring(1).toLowerCase();
nomProtocole = nomProtocole.substring(0, 1).toUpperCase()
+ nomProtocole.substring(1).toLowerCase();
vue.getZoneProtocole().setText(nomProtocole);
}
 
89,6 → 96,15
}
 
public void gererEvenements() {
vue.getZoneVoter().addMouseMoveHandler(new MouseMoveHandler() {
@Override
public void onMouseMove(MouseMoveEvent event) {
vue.masquerZoneVoter();
}
});
vue.getVotes().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
130,7 → 146,8
final VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setProtocole(this.protocole);
voteProtocole.setVote(valeurVoteUtilisateur);
String idContributeur = CacheClient.getInstance().getUtilisateur().getId();
String idContributeur = CacheClient.getInstance().getUtilisateur()
.getId();
voteProtocole.setContributeur(idContributeur);
// TODO: Mettre un message de chargement pendant l'envoi du vote ?
// C'est très rapide mais bon
145,11 → 162,14
 
};
 
if (image.utilisateurAVotePourProtocole(this.protocole.getId() + "", idContributeur)) {
voteProtocoleService.modifierVote(image.getIdImage(), voteProtocole, vpc);
if (image.utilisateurAVotePourProtocole(this.protocole.getId() + "",
idContributeur)) {
voteProtocoleService.modifierVote(image.getIdImage(),
voteProtocole, vpc);
vue.afficherVoteModifie();
} else {
voteProtocoleService.ajouterVote(image.getIdImage(), voteProtocole, vpc);
voteProtocoleService.ajouterVote(image.getIdImage(), voteProtocole,
vpc);
vue.afficherVotePrisEnCompte();
}
}
164,24 → 184,32
 
private void rafraichirVue() {
valeurVoteTotal = calculerMoyenneVotes();
VoteProtocole voteProtocole = image.getVotesProtocoles(protocole.getId()).get(CacheClient.getInstance().getUtilisateur().getId());
VoteProtocole voteProtocole = image.getVotesProtocoles(
protocole.getId()).get(
CacheClient.getInstance().getUtilisateur().getId());
int voteUtilisateur = 0;
if (voteProtocole != null) {
voteUtilisateur = voteProtocole.getVote();
vue.masquerZoneVoter();
}
VoteFleurPresenteur presenteurFleur = new VoteFleurPresenteur(new VoteFleurVue());
 
VoteFleurPresenteur presenteurFleur = new VoteFleurPresenteur(
new VoteFleurVue());
presenteurFleur.setNote(valeurVoteTotal);
vue.setNoteGenerale(valeurVoteTotal);
presenteurFleur.go(vue.getZoneFleur());
vue.rafraichir(voteUtilisateur, image.getVotesProtocoles(protocole.getId()).size());
vue.rafraichir(voteUtilisateur,
image.getVotesProtocoles(protocole.getId()).size());
}
 
public int calculerMoyenneVotes() {
double valeurVote = 0;
int nbVote = 0;
for (Iterator<String> iterator = image.getVotesProtocoles(protocole.getId()).keySet().iterator(); iterator.hasNext();) {
VoteProtocole imageCelValidationData = image.getVotesProtocoles(protocole.getId()).get(iterator.next());
for (Iterator<String> iterator = image
.getVotesProtocoles(protocole.getId()).keySet().iterator(); iterator
.hasNext();) {
VoteProtocole imageCelValidationData = image.getVotesProtocoles(
protocole.getId()).get(iterator.next());
valeurVote += (double) imageCelValidationData.getVote() / 5;
nbVote++;
}