Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 422 → Rev 423

/trunk/src/org/tela_botanica/del/client/utils/MockDatasource.java
303,41 → 303,24
//
// }
 
if (protocolName.equals(Protocole.ESTHETISME)) {
 
VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setProtocole(protocoles.get(0));
voteProtocole.setVote(3);
voteProtocole.setContributeur("aurelien");
voteProtocole.setDate(new Date());
 
VoteProtocole voteProtocole2 = new VoteProtocole();
voteProtocole2.setProtocole(protocoles.get(0));
voteProtocole2.setVote(2);
voteProtocole2.setContributeur("jpm");
voteProtocole2.setDate(new Date());
 
voteProtocolesLocal.add(voteProtocole);
voteProtocolesLocal.add(voteProtocole2);
}
 
else if (protocolName.equals(Protocole.IDENTIFICATION_AUTOMATIQUE)) {
 
VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setProtocole(protocoles.get(0));
voteProtocole.setVote(5);
voteProtocole.setContributeur("ben");
voteProtocole.setDate(new Date());
 
VoteProtocole voteProtocole2 = new VoteProtocole();
voteProtocole2.setProtocole(protocoles.get(0));
voteProtocole2.setVote(5);
voteProtocole2.setContributeur("greg");
voteProtocole2.setDate(new Date());
 
voteProtocolesLocal.add(voteProtocole);
voteProtocolesLocal.add(voteProtocole2);
}
int rand = (int) (Math.random() * 5);
for (int i = 0; i < rand; i++) {
VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setProtocole(protocoles.get(0));
voteProtocole.setVote((int) (Math.random() * 5));
voteProtocole.setContributeur("aurelien");
voteProtocole.setDate(new Date());
VoteProtocole voteProtocole2 = new VoteProtocole();
voteProtocole2.setProtocole(protocoles.get(0));
voteProtocole2.setVote((int) (Math.random() * 5));
voteProtocole2.setContributeur("jpm");
voteProtocole2.setDate(new Date());
voteProtocolesLocal.add(voteProtocole);
voteProtocolesLocal.add(voteProtocole2);
}
return voteProtocolesLocal;
}
 
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties
77,8 → 77,10
votes = Moyenne des votes
infoVotes = Voici la moyenne des votes en fonction du protocole choisi :
protocoleEsthetisme = Esthetisme
protocoleIdentificationAuto = Identification automatique
protocoleIdentificationAuto = Identification automatique
monVote = Mon vote
nbVotes = vote(s)
votez = Votez
 
#composant recherche simple
rechercher = Rechercher
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.java
385,6 → 385,15
String moyenne();
 
/**
* Translated "vote(s)".
*
* @return translated "vote(s)"
*/
@DefaultStringValue("vote(s)")
@Key("nbVotes")
String nbVotes();
 
/**
* Translated "Nom".
*
* @return translated "Nom"
610,6 → 619,15
String votes();
 
/**
* Translated "Votez".
*
* @return translated "Votez"
*/
@DefaultStringValue("Votez")
@Key("votez")
String votez();
 
/**
* Translated "Vous".
*
* @return translated "Vous"
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/vote/moyenne.css
1,4 → 1,6
.moyenne {}
.petit {font-size:11px; color:#AAA}
.voter {/*position:absolute; margin-top:65px; margin-left:20px;*/}
.barreVote {padding:0 5px 0 5px}
.voter {/*position:absolute; margin-top:65px; margin-left:20px;*/ padding-left:30px}
.barreVote {padding:0 5px 0 5px}
.validerVote {font-size:11px;margin-left:5px }
.annuler {background:url("./img/cancel.png") no-repeat; border:none; padding-left:16px; padding-top:16px; margin-left:5px}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/vote/MoyenneVoteVue.ui.xml
6,8 → 6,11
 
<g:HTMLPanel styleName="{style.moyenne}">
<g:HorizontalPanel styleName="{style.voter}">
<g:Label text="{constants.votez} :" styleName="{style.petit}"/>
<g:FocusPanel ui:field="voter" styleName="{style.barreVote}"/>
<g:Label ui:field="nbVotes" styleName="{style.petit}"/> <g:Label text="vote(s)" styleName="{style.petit}"/>
<g:Label ui:field="nbVotes" styleName="{style.petit}"/>
<g:Button ui:field="boutonVoter" text="OK" styleName="{style.validerVote}"></g:Button>
<g:Button ui:field="boutonAnnuler" text=" " styleName="{style.annuler}"></g:Button>
</g:HorizontalPanel>
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/vote/MoyenneVotePresenteur.java
2,19 → 2,74
 
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
import org.tela_botanica.del.client.services.rest.VoteProtocoleService;
import org.tela_botanica.del.client.utils.MockDatasource;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
 
public class MoyenneVotePresenteur {
 
private MoyenneVoteVue view;
 
public MoyenneVotePresenteur(List<VoteProtocole> validationDatas) {
view = new MoyenneVoteVue(validationDatas);
private MoyenneVoteVue vue;
private Protocole protocole;
private final VoteProtocoleService voteProtocoleService = MockDatasource.getInstance();
private String idImage;
private final MockDatasource validationService = MockDatasource.getInstance();
public MoyenneVotePresenteur(List<VoteProtocole> validationDatas, String idImage, Protocole protocole) {
vue = new MoyenneVoteVue(validationDatas);
this.protocole = protocole;
this.idImage = idImage;
}
 
public void go(HasWidgets container) {
container.add(view);
container.add(vue);
gererEvenements();
}
public void gererEvenements() {
vue.getVotes().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
vue.afficherBoutonVoter();
vue.afficherBoutonAnnuler();
vue.masquerNbVotes();
}
});
vue.getBoutonAnnuler().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
vue.masquerBoutonVoter();
vue.masquerBoutonAnnuler();
vue.afficherNbVotes();
vue.reinitialiserVotes();
}
});
vue.getBoutonVoter().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
enregistrerVote();
vue.masquerBoutonVoter();
vue.masquerBoutonAnnuler();
vue.afficherNbVotes();
vue.reinitialiserVotes();
}
});
}
public void enregistrerVote() {
VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setProtocole(this.protocole);
voteProtocoleService.saveVote(idImage, voteProtocole);
List<VoteProtocole> observationValidationDatas = validationService.getVoteByImageAndProtocol(idImage, protocole.getNom());
vue.rafraichir(observationValidationDatas);
}
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/vote/MoyenneVoteVue.java
3,13 → 3,20
import java.util.List;
 
import org.cobogw.gwt.user.client.ui.Rating;
import org.tela_botanica.del.client.i18n.I18n;
import org.tela_botanica.del.client.modeles.VoteProtocole;
 
import com.google.gwt.core.client.GWT;
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.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FocusPanel;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
 
21,7 → 28,9
}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
private Rating votes;
private int valeurOrigine;
@UiField
FocusPanel voter;
 
28,23 → 37,78
@UiField
Label nbVotes;
 
@UiField
Button boutonVoter, boutonAnnuler;
protected MoyenneVoteVue(List<VoteProtocole> validationDatas) {
initWidget(uiBinder.createAndBindUi(this));
votes = new Rating(0, 5);
votes.setReadOnly(false);
voter.add(votes);
 
masquerBoutonAnnuler();
masquerBoutonVoter();
rafraichir(validationDatas);
}
public HasClickHandlers getBoutonVoter() {
return boutonVoter;
}
public HasClickHandlers getBoutonAnnuler() {
return boutonAnnuler;
}
public HasText getNbVotes() {
return nbVotes;
}
public HasClickHandlers getVotes() {
return votes;
}
public void afficherBoutonVoter() {
boutonVoter.setVisible(true);
}
 
public void afficherBoutonAnnuler() {
boutonAnnuler.setVisible(true);
}
public void masquerBoutonVoter() {
boutonVoter.setVisible(false);
}
public void masquerBoutonAnnuler() {
boutonAnnuler.setVisible(false);
}
public void afficherNbVotes () {
nbVotes.setVisible(true);
}
public void masquerNbVotes () {
nbVotes.setVisible(false);
}
public void reinitialiserVotes() {
votes.setValue(valeurOrigine);
}
public void rafraichir(List<VoteProtocole> validationDatas) {
int meanVote = 0;
int nbVote = 0;
for (VoteProtocole imageCelValidationData : validationDatas) {
 
meanVote += imageCelValidationData.getVote();
nbVote++;
}
if (nbVote > 0)
if (nbVote > 0) {
meanVote /= nbVote;
Rating rating = new Rating(meanVote, 5);
rating.setReadOnly(true);
voter.add(rating);
 
nbVotes.setText(String.valueOf(validationDatas.size()));
 
}
votes.setValue(nbVote);
valeurOrigine = nbVote;
nbVotes.setText(String.valueOf(validationDatas.size()) + " " +I18n.getVocabulary().nbVotes());
}
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImagePresenteur.java
58,6 → 58,7
public abstract HasWidgets getZoneVoter();
 
public HasClickHandlers getNomAuteur();
public HasClickHandlers getNomEspece();
}
 
85,7 → 86,8
private void loadValidationData() {
vue.getZoneVoter().clear();
List<VoteProtocole> observationValidationDatas = validationService.getVoteByImageAndProtocol(image.getIdImage(), protocole.getNom());
new MoyenneVotePresenteur(observationValidationDatas).go(vue.getZoneVoter());
new MoyenneVotePresenteur(observationValidationDatas, image.getIdImage(), protocole).go(vue.getZoneVoter());
}
 
private void lancerEvenementValidation() {