/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/ForumInterventionVue.ui.xml |
---|
New file |
0,0 → 1,9 |
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> |
<ui:UiBinder |
xmlns:ui='urn:ui:com.google.gwt.uibinder' |
xmlns:g='urn:import:com.google.gwt.user.client.ui' |
xmlns:vues="urn:import:org.tela_botanica.del.client.vues.plateformedetermination.forum"> |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" /> |
<ui:style src="forumIntervention.css" /> |
<g:FlexTable ui:field='htmlTableau' styleName="{style.table}" /> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/ForumInterventionPresenteur.java |
---|
New file |
0,0 → 1,63 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions; |
import org.tela_botanica.del.client.composants.votes.barrerepartition.BarreRepartitionVotePresenteur; |
import org.tela_botanica.del.client.composants.votes.barrerepartition.BarreRepartitionVoteVue; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.InterventionForum; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.services.CalculVoteDeterminationService; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ArbreCommentairePresenteur; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ArbreCommentaireVue; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class ForumInterventionPresenteur { |
public interface Vue extends IsWidget { |
void ajouterInterventionDetermination(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires); |
void ajouterInterventionCommentaire(Commentaire commentaire, IsWidget arbreCommentaires); |
} |
private Vue vue; |
private InterventionForum interventionForum; |
public ForumInterventionPresenteur(Vue vue, InterventionForum interventionForum) { |
this.vue = vue; |
this.interventionForum = interventionForum; |
} |
public void go(HasWidgets composite) { |
chargerIntervention(); |
composite.add(vue.asWidget()); |
} |
private void chargerIntervention() { |
if (interventionForum instanceof PropositionDetermination) { |
ajouterPropositionDetermination((PropositionDetermination) interventionForum); |
} else if (interventionForum instanceof Commentaire) { |
ajouterCommentaire((Commentaire) interventionForum); |
} |
} |
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) { |
BarreRepartitionVotePresenteur barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue()); |
calculerEtAfficherVoteDetermination(barreRepartitionVotePresenteur, propositionDetermination); |
ArbreCommentairePresenteur arbreCommentairePresenteur = new ArbreCommentairePresenteur(new ArbreCommentaireVue(), propositionDetermination); |
vue.ajouterInterventionDetermination(propositionDetermination, barreRepartitionVotePresenteur.getBarreRepartitionVoteVue(), arbreCommentairePresenteur.getArbreCommentaireVue()); |
} |
private void ajouterCommentaire(Commentaire proposition) { |
ArbreCommentairePresenteur arbreCommentairePresenteur = new ArbreCommentairePresenteur(new ArbreCommentaireVue(), proposition); |
vue.ajouterInterventionCommentaire(proposition, arbreCommentairePresenteur.getArbreCommentaireVue()); |
} |
private void calculerEtAfficherVoteDetermination(BarreRepartitionVotePresenteur barreRepartitionVotePresenteur, PropositionDetermination propositionDetermination) { |
MoyenneVote votes = CalculVoteDeterminationService.calculerVoteDetermination(propositionDetermination); |
barreRepartitionVotePresenteur.afficherVotes(votes); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/ForumInterventionVue.java |
---|
New file |
0,0 → 1,59 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions; |
import org.tela_botanica.del.client.i18n.I18n; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions.ForumInterventionPresenteur.Vue; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
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.FlexTable; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Widget; |
public class ForumInterventionVue extends Composite implements Vue { |
private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class); |
interface ForumUIiBinder extends UiBinder<Widget, ForumInterventionVue> { |
}; |
@UiField |
FlexTable htmlTableau; |
public ForumInterventionVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public void ajouterInterventionDetermination(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires) { |
htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom()); |
htmlTableau.setHTML(1, 2, I18n.getVocabulary().contributeur()); |
htmlTableau.setHTML(1, 3, I18n.getVocabulary().fiabilite()); |
htmlTableau.setHTML(1, 4, I18n.getVocabulary().date()); |
htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire()); |
htmlTableau.setWidget(2, 1, barreRepartition); |
htmlTableau.setHTML(2, 2, determination.getAuteur()); |
htmlTableau.setHTML(2, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate())); |
htmlTableau.setWidget(2, 5, arbreCommentaires); |
} |
@Override |
public void ajouterInterventionCommentaire(Commentaire commentaire, IsWidget arbreCommentaires) { |
htmlTableau.setHTML(1, 1, I18n.getVocabulary().contributeur()); |
htmlTableau.setHTML(1, 2, I18n.getVocabulary().date()); |
htmlTableau.setHTML(1, 3, I18n.getVocabulary().commentaire()); |
htmlTableau.setHTML(2, 1, commentaire.getAuteur()); |
htmlTableau.setHTML(2, 2, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(commentaire.getDate())); |
htmlTableau.setWidget(2, 3, arbreCommentaires); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/forumIntervention.css |
---|
New file |
0,0 → 1,0 |
.table {border:solid 1px #DDD} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java |
---|
1,18 → 1,12 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum; |
import org.tela_botanica.del.client.i18n.I18n; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur.Vue; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
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.FlexTable; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.Widget; |
public class ForumVue extends Composite implements Vue { |
23,48 → 17,16 |
}; |
@UiField |
FlexTable htmlTableau; |
HTMLPanel panneauInterventions; |
public ForumVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
/* |
* (non-Javadoc) |
* |
* @see org.tela_botanica.del.client.vues.plateformedetermination.forum.Vue# |
* initialiserEntetesTableau() |
*/ |
@Override |
public void initialiserEntetesTableau() { |
htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom()); |
htmlTableau.setHTML(1, 2, I18n.getVocabulary().contributeur()); |
htmlTableau.setHTML(1, 3, I18n.getVocabulary().fiabilite()); |
htmlTableau.setHTML(1, 4, I18n.getVocabulary().date()); |
htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire()); |
public HTMLPanel getPanneauInterventions() { |
return panneauInterventions; |
} |
@Override |
public void ajouterLigne(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires) { |
int ligne = htmlTableau.getRowCount() + 1; |
htmlTableau.setWidget(ligne, 1, barreRepartition); |
htmlTableau.setHTML(ligne, 2, determination.getAuteur()); |
htmlTableau.setHTML(ligne, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate())); |
htmlTableau.setWidget(ligne, 5, arbreCommentaires); |
} |
public void ajouterLigne(Commentaire commentaire, IsWidget arbreCommentaires) { |
int ligne = htmlTableau.getRowCount() + 1; |
htmlTableau.setHTML(ligne, 2, commentaire.getAuteur()); |
htmlTableau.setHTML(ligne, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(commentaire.getDate())); |
htmlTableau.setWidget(ligne, 5, arbreCommentaires); |
} |
@Override |
public FlexTable getTable() { |
return htmlTableau; |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.ui.xml |
---|
5,8 → 5,8 |
xmlns:vues="urn:import:org.tela_botanica.del.client.vues.plateformedetermination.forum"> |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" /> |
<ui:style src="forum.css" /> |
<g:VerticalPanel> |
<g:HTMLPanel> |
<g:Label text="{constants.lesPropositions}" styleName="titre"/> |
<g:FlexTable ui:field='htmlTableau' styleName="{style.table}" /> |
</g:VerticalPanel> |
<g:HTMLPanel ui:field='panneauInterventions' styleName="{style.table}" /> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java |
---|
1,18 → 1,14 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.votes.barrerepartition.BarreRepartitionVotePresenteur; |
import org.tela_botanica.del.client.composants.votes.barrerepartition.BarreRepartitionVoteVue; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.InterventionForum; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire; |
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.GestionnaireEvenementAjoutCommentaire; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination; |
import org.tela_botanica.del.client.services.CalculVoteDeterminationService; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions.ForumInterventionPresenteur; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions.ForumInterventionVue; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
20,13 → 16,8 |
public class ForumPresenteur { |
public interface Vue extends IsWidget { |
public abstract void initialiserEntetesTableau(); |
public abstract void ajouterLigne(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires); |
public void ajouterLigne(Commentaire commentaire, IsWidget arbreCommentaires); |
public abstract HasWidgets getTable(); |
public abstract HasWidgets getPanneauInterventions(); |
} |
private Vue vue; |
44,14 → 35,9 |
} |
private void chargerDeterminations() { |
vue.initialiserEntetesTableau(); |
for (InterventionForum proposition : CacheClient.getInstance().getObservationCourante().getInterventionsForum()) { |
if (proposition instanceof PropositionDetermination) { |
ajouterPropositionDetermination((PropositionDetermination) proposition); |
} else if (proposition instanceof Commentaire) { |
ajouterCommentaire((Commentaire) proposition); |
} |
for (InterventionForum interventionForum : CacheClient.getInstance().getObservationCourante().getInterventionsForum()) { |
new ForumInterventionPresenteur(new ForumInterventionVue(), interventionForum).go(vue.getPanneauInterventions()); |
} |
} |
60,7 → 46,7 |
@Override |
public void onAjoutDetermination(EvenementAjoutDetermination event) { |
ajouterPropositionDetermination(event.getPropositionDetermination()); |
new ForumInterventionPresenteur(new ForumInterventionVue(), event.getPropositionDetermination()).go(vue.getPanneauInterventions()); |
} |
}); |
68,25 → 54,9 |
@Override |
public void onAjoutCommentaire(EvenementAjoutCommentaire event) { |
ajouterCommentaire(event.getCommentaire()); |
new ForumInterventionPresenteur(new ForumInterventionVue(), event.getCommentaire()).go(vue.getPanneauInterventions()); |
} |
}); |
} |
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) { |
BarreRepartitionVotePresenteur barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur(new BarreRepartitionVoteVue()); |
calculerEtAfficherVoteDetermination(barreRepartitionVotePresenteur, propositionDetermination); |
ArbreCommentairePresenteur arbreCommentairePresenteur = new ArbreCommentairePresenteur(new ArbreCommentaireVue(), propositionDetermination); |
vue.ajouterLigne(propositionDetermination, barreRepartitionVotePresenteur.getBarreRepartitionVoteVue(), arbreCommentairePresenteur.getArbreCommentaireVue()); |
} |
private void ajouterCommentaire(Commentaire proposition) { |
ArbreCommentairePresenteur arbreCommentairePresenteur = new ArbreCommentairePresenteur(new ArbreCommentaireVue(), proposition); |
vue.ajouterLigne(proposition, arbreCommentairePresenteur.getArbreCommentaireVue()); |
} |
private void calculerEtAfficherVoteDetermination(BarreRepartitionVotePresenteur barreRepartitionVotePresenteur, PropositionDetermination propositionDetermination) { |
MoyenneVote votes = CalculVoteDeterminationService.calculerVoteDetermination(propositionDetermination); |
barreRepartitionVotePresenteur.afficherVotes(votes); |
} |
} |