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++; |
} |