Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 921 → Rev 922

/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/ObservationDeterminationPresenteur.java
2,10 → 2,7
 
import java.util.List;
 
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue;
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur;
import org.tela_botanica.del.client.composants.votes.details.DetailListeVotesDeterminationPresenteur;
import org.tela_botanica.del.client.composants.votes.details.DetailListeVotesDeterminationVue;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.modeles.VoteDetermination;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
14,8 → 11,6
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.votes.DetailVoteObservationPresenteur;
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.votes.DetailVoteObservationVue;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
24,9 → 19,13
 
public abstract interface Vue extends IsWidget {
public void viderTableau();
public void ajouterElementAuTableauProposition(LignePropositionVue vue);
 
public HasWidgets getTableauPropositions();
 
void setNbVotes(int index, int nbVotes);
 
void setNbCommentaires(int index, int nbCommentaires);
 
int getIndexLigneProposition(LignePropositionVue lignePropositionVue);
}
 
43,56 → 42,27
public void chargerPropositions() {
vue.viderTableau();
for (PropositionDetermination proposition : propositions) {
//TODO: afficher nombre de votes total et mettre à jour en cas de vote
// TODO: afficher nombre de votes total et mettre à jour en cas de
// vote
HTMLPanel panneau = new HTMLPanel("");
DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition);
presenteurVote.go(panneau);
int nbCommentaires = proposition.getTotalCommentaires();
int nbVotes = proposition.getVotesDeterminations().size();
 
LignePropositionVue ligneProposition = new LignePropositionVue(panneau, nbVotes, nbCommentaires);
gererEvenementClicNbVotes(ligneProposition);
gererEvenementClicNbCommentaires(ligneProposition);
vue.ajouterElementAuTableauProposition(ligneProposition);
LignePropositionVue lignePropositionVue = new LignePropositionVue(panneau);
LignePropositionPresenteur lignePropositionPresenteur = new LignePropositionPresenteur(lignePropositionVue, proposition);
lignePropositionPresenteur.go(vue.getTableauPropositions());
 
}
 
BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() {
@Override
public void onVoteDetermination(VoteDetermination event) {
public void onVoteDetermination(VoteDetermination event) {
surVoteDetermination(event);
}
});
}
public void gererEvenementClicNbVotes(final LignePropositionVue lignePropositionVue) {
lignePropositionVue.getZoneNbVotes().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
DetailListeVotesDeterminationPresenteur detailListeVotesDeterminationPresenteur = new DetailListeVotesDeterminationPresenteur(new DetailListeVotesDeterminationVue());
int indexProposition = vue.getIndexLigneProposition(lignePropositionVue);
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(detailListeVotesDeterminationPresenteur);
detailListeVotesDeterminationPresenteur.afficherVotes(propositions.get(indexProposition));
}
});
}
public void gererEvenementClicNbCommentaires(final LignePropositionVue lignePropositionVue) {
lignePropositionVue.getZoneNbCommentaires().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
int indexProposition = vue.getIndexLigneProposition(lignePropositionVue);
PropositionDetermination propositionCliquee = propositions.get(indexProposition);
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
// TODO: appeler methode ouvrirFenetreModale de fenetreOverlaySimplePresenteur
// avec un objet héritant de la classe présenteur et pouvant afficher le détails des commentaires
// grâce à la proposition récupérée
}
});
}
 
public void setPropositions(List<PropositionDetermination> propositions) {
this.propositions = propositions;
chargerPropositions();
102,10 → 72,10
composite.add(vue.asWidget());
chargerPropositions();
}
 
public void surVoteDetermination(VoteDetermination voteDetermination) {
int indexProposition = propositions.indexOf(voteDetermination.getPropositionDetermination());
if(indexProposition != -1) {
if (indexProposition != -1) {
vue.setNbVotes(indexProposition, voteDetermination.getPropositionDetermination().getVotesDeterminations().size());
}
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/ObservationDeterminationVue.java
25,28 → 25,25
public ObservationDeterminationVue() {
initWidget(binder.createAndBindUi(this));
}
 
@Override
public void ajouterElementAuTableauProposition(LignePropositionVue ligneProposition) {
tableauPropositions.add(ligneProposition);
}
@Override
public int getIndexLigneProposition(LignePropositionVue lignePropositionVue) {
return tableauPropositions.getWidgetIndex(lignePropositionVue);
}
@Override
 
@Override
public void setNbVotes(int index, int nbVotes) {
// cette conversion ne devrait jamais poser de problème, car le tableau ne doit contenir que ça
LignePropositionVue lignePropositionVue = (LignePropositionVue)tableauPropositions.getWidget(index);
// cette conversion ne devrait jamais poser de problème, car le tableau
// ne doit contenir que ça
LignePropositionVue lignePropositionVue = (LignePropositionVue) tableauPropositions.getWidget(index);
lignePropositionVue.setNbVotes(nbVotes);
}
@Override
 
@Override
public void setNbCommentaires(int index, int nbCommentaires) {
// cette conversion ne devrait jamais poser de problème, car le tableau ne doit contenir que ça
LignePropositionVue lignePropositionVue = (LignePropositionVue)tableauPropositions.getWidget(index);
// cette conversion ne devrait jamais poser de problème, car le tableau
// ne doit contenir que ça
LignePropositionVue lignePropositionVue = (LignePropositionVue) tableauPropositions.getWidget(index);
lignePropositionVue.setNbVotes(nbCommentaires);
}
 
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/LignePropositionPresenteur.java
New file
0,0 → 1,79
package org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations;
 
import org.tela_botanica.del.client.composants.commentaires.DetailCommentairePresenteur;
import org.tela_botanica.del.client.composants.commentaires.DetailCommentaireVue;
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue;
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur;
import org.tela_botanica.del.client.composants.votes.details.DetailListeVotesDeterminationPresenteur;
import org.tela_botanica.del.client.composants.votes.details.DetailListeVotesDeterminationVue;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
 
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.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class LignePropositionPresenteur {
 
public abstract interface Vue extends IsWidget {
public HasClickHandlers getZoneNbVotes();
 
public HasClickHandlers getZoneNbCommentaires();
 
public void setNbVotes(int nbVotes);
 
public void setNbCommentaires(int nbCommentaires);
}
 
private Vue vue;
 
private PropositionDetermination propositionDetermination;
 
public LignePropositionPresenteur(Vue vue, PropositionDetermination propositionDetermination) {
this.vue = vue;
this.propositionDetermination = propositionDetermination;
}
 
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
gererEvenements();
chargerPropositionDetermination();
}
 
public void chargerPropositionDetermination() {
int nbCommentaires = propositionDetermination.getTotalCommentaires();
int nbVotes = propositionDetermination.getVotesDeterminations().size();
vue.setNbCommentaires(nbCommentaires);
vue.setNbVotes(nbVotes);
}
 
public void gererEvenements() {
vue.getZoneNbVotes().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
int nbVotes = propositionDetermination.getVotesDeterminations().size();
if (nbVotes > 0) {
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
DetailListeVotesDeterminationPresenteur detailListeVotesDeterminationPresenteur = new DetailListeVotesDeterminationPresenteur(new DetailListeVotesDeterminationVue());
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(detailListeVotesDeterminationPresenteur);
detailListeVotesDeterminationPresenteur.afficherVotes(propositionDetermination);
}
}
});
 
vue.getZoneNbCommentaires().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
int nbCommentaires = propositionDetermination.getTotalCommentaires();
if (nbCommentaires > 0) {
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue());
DetailCommentairePresenteur detailCommentairePresenteur = new DetailCommentairePresenteur(new DetailCommentaireVue(), propositionDetermination);
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(detailCommentairePresenteur);
detailCommentairePresenteur.afficherCommentaires();
}
}
});
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/LignePropositionVue.java
13,8 → 13,8
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Widget;
 
public class LignePropositionVue extends Composite {
public class LignePropositionVue extends Composite implements LignePropositionPresenteur.Vue {
 
// Gestion d'UiBinder
interface MyUiBinder extends UiBinder<Widget, LignePropositionVue> {
}
22,37 → 22,33
private static MyUiBinder uibinder = GWT.create(MyUiBinder.class);
@UiField
HTMLPanel conteneurPanneauDeterminations;
@UiField
 
@UiField
FocusPanel conteneurPanneauVotes, conteneurPanneauCommentaires;
@UiField
 
@UiField
HTML nbVotesHtml, nbCommentairesHtml;
public LignePropositionVue(IsWidget panneauDeterminations, int nbVotes, int nbCommentaires) {
 
public LignePropositionVue(IsWidget panneauDeterminations) {
initWidget(uibinder.createAndBindUi(this));
conteneurPanneauDeterminations.add(panneauDeterminations);
nbVotesHtml.setHTML(nbVotes+"");
nbCommentairesHtml.setHTML(nbCommentaires+"");
conteneurPanneauVotes.setTitle(I18n.getVocabulary().voirDetailVotes());
conteneurPanneauCommentaires.setTitle(I18n.getVocabulary().voirDetailCommentaires());
}
 
public HasClickHandlers getZoneNbVotes() {
return conteneurPanneauVotes;
}
 
public HasClickHandlers getZoneNbCommentaires() {
return conteneurPanneauCommentaires;
}
 
public void setNbVotes(int nbVotes) {
nbVotesHtml.setHTML(nbVotes+"");
nbVotesHtml.setHTML(nbVotes + "");
}
 
public void setNbCommentaires(int nbCommentaires) {
nbCommentairesHtml.setHTML(nbCommentaires+"");
nbCommentairesHtml.setHTML(nbCommentaires + "");
}
}