/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/ObservationDeterminationVue.java |
---|
5,7 → 5,6 |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Widget; |
public class ObservationDeterminationVue extends Composite implements ObservationDeterminationPresenteur.Vue { |
28,11 → 27,15 |
} |
@Override |
public void ajouterElementAuTableauProposition(IsWidget element, int nbVotes, int nbCommentaires) { |
LignePropositionVue ligneProposition = new LignePropositionVue(element, nbVotes, nbCommentaires); |
public void ajouterElementAuTableauProposition(LignePropositionVue ligneProposition) { |
tableauPropositions.add(ligneProposition); |
} |
@Override |
public int getIndexLigneProposition(LignePropositionVue lignePropositionVue) { |
return tableauPropositions.getWidgetIndex(lignePropositionVue); |
} |
@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 |
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/LignePropositionVue.ui.xml |
---|
8,9 → 8,9 |
<ui:style src="observationdetermination.css" /> |
<g:HTMLPanel styleName="{style.ligneProposition}"> |
<g:HTMLPanel ui:field="conteneurPanneauDeterminations" /> |
<g:HTMLPanel ui:field="conteneurPanneauVotes" styleName="{style.nombreVotes}"> |
<g:FocusPanel ui:field="conteneurPanneauVotes" styleName="{style.nombreVotes}"> |
<g:HTML ui:field="nbVotesHtml"/> |
</g:HTMLPanel> |
</g:FocusPanel> |
<g:HTMLPanel ui:field="conteneurPanneauCommentaires" styleName="{style.commentaires}"> |
<g:HTML ui:field="nbCommentairesHtml"/> |
</g:HTMLPanel> |
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/LignePropositionVue.java |
---|
1,9 → 1,13 |
package org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations; |
import org.tela_botanica.del.client.i18n.I18n; |
import com.google.gwt.core.client.GWT; |
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.ui.Composite; |
import com.google.gwt.user.client.ui.FocusPanel; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.IsWidget; |
17,9 → 21,12 |
private static MyUiBinder uibinder = GWT.create(MyUiBinder.class); |
@UiField |
HTMLPanel conteneurPanneauDeterminations, conteneurPanneauVotes, conteneurPanneauCommentaires; |
HTMLPanel conteneurPanneauDeterminations, conteneurPanneauCommentaires; |
@UiField |
FocusPanel conteneurPanneauVotes; |
@UiField |
HTML nbVotesHtml, nbCommentairesHtml; |
public LignePropositionVue(IsWidget panneauDeterminations, int nbVotes, int nbCommentaires) { |
26,13 → 33,18 |
initWidget(uibinder.createAndBindUi(this)); |
conteneurPanneauDeterminations.add(panneauDeterminations); |
nbVotesHtml = new HTML(nbVotes+""); |
nbVotesHtml.setHTML(nbVotes+""); |
nbCommentairesHtml = new HTML(nbCommentaires+""); |
conteneurPanneauVotes.add(nbVotesHtml); |
conteneurPanneauVotes.setTitle(I18n.getVocabulary().voirDetailVotes()); |
conteneurPanneauCommentaires.add(nbCommentairesHtml); |
} |
public HasClickHandlers getZoneNbVotes() { |
return conteneurPanneauVotes; |
} |
public void setNbVotes(int nbVotes) { |
nbVotesHtml.setHTML(nbVotes+""); |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/observationdetermination.css |
---|
20,6 → 20,7 |
height:16px; |
background:url('./img/user.png') no-repeat; |
padding-left: 10px; |
cursor: pointer; |
} |
.commentaires { |
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observationdeterminations/ObservationDeterminationPresenteur.java |
---|
2,7 → 2,10 |
import java.util.List; |
import org.tela_botanica.del.client.i18n.I18n; |
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; |
11,6 → 14,8 |
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; |
19,14 → 24,16 |
public abstract interface Vue extends IsWidget { |
public void viderTableau(); |
public void ajouterElementAuTableauProposition(IsWidget Element, int nbVotes, int nbCommentaires); |
public void ajouterElementAuTableauProposition(LignePropositionVue vue); |
void setNbVotes(int index, int nbVotes); |
void setNbCommentaires(int index, int nbCommentaires); |
int getIndexLigneProposition(LignePropositionVue lignePropositionVue); |
} |
private Vue vue; |
private List<PropositionDetermination> propositions; |
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur; |
public ObservationDeterminationPresenteur(Vue vue, List<PropositionDetermination> propositions) { |
this.propositions = propositions; |
42,7 → 49,10 |
presenteurVote.go(panneau); |
int nbCommentaires = proposition.getListeCommentaires().size(); |
int nbVotes = proposition.getVotesDeterminations().size(); |
vue.ajouterElementAuTableauProposition(panneau, nbVotes, nbCommentaires); |
LignePropositionVue ligneProposition = new LignePropositionVue(panneau, nbVotes, nbCommentaires); |
gererEvenementClicNbVotes(ligneProposition); |
vue.ajouterElementAuTableauProposition(ligneProposition); |
} |
BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() { |
53,6 → 63,19 |
}); |
} |
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 setPropositions(List<PropositionDetermination> propositions) { |
this.propositions = propositions; |
chargerPropositions(); |