Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1094 → Rev 1095

/trunk/src/org/tela_botanica/del/client/composants/votes/moyennevotes/moyenne.css
56,4 → 56,16
white-space:nowrap;
text-overflow:ellipsis;
overflow:hidden;
}
}
 
.zoneVoter {
background: none repeat scroll 0 0 #8EB533;
color: white;
font-size: 15px;
height: 29px;
margin-left: -5px;
margin-top: -18px;
padding: 10px 5px 0 39px;
position: absolute;
width: 82px;
}
/trunk/src/org/tela_botanica/del/client/composants/votes/moyennevotes/MoyenneVoteVue.ui.xml
14,7 → 14,8
<g:HorizontalPanel>
<g:Label styleName="{style.petit} {style.protocole}" ui:field="protocole" text="protocole"/>
</g:HorizontalPanel>
<g:HorizontalPanel>
<g:Label ui:field="zoneVoter" styleName="{style.zoneVoter}">Votez !</g:Label>
<g:HorizontalPanel ui:field="zoneDeVote">
<g:FocusPanel ui:field="voter" styleName="{style.barreVote}"/>
<g:HTMLPanel ui:field="votePrisEnCompte"><g:Label text="{constants.votePrisEnCompte}"></g:Label></g:HTMLPanel>
<g:HTMLPanel ui:field="voteModifie"><g:Label text="{constants.voteModifie}"></g:Label></g:HTMLPanel>
/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++;
}
/trunk/src/org/tela_botanica/del/client/composants/votes/moyennevotes/MoyenneVoteVue.java
12,6 → 12,7
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.Window;
49,6 → 50,9
@UiField
Button boutonVoter, boutonAnnuler;
@UiField
Label zoneVoter;
public MoyenneVoteVue() {
initWidget(uiBinder.createAndBindUi(this));
votes = new Rating(0, 5);
146,4 → 150,12
voteModifie.setStyleName("votePrisEnCompteOui");
animerVoteModifie.run(2000);
}
public HasMouseMoveHandlers getZoneVoter() {
return zoneVoter;
}
public void masquerZoneVoter() {
zoneVoter.setVisible(false);
}
}