Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 662 → Rev 663

/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);
}
}