/trunk/src/org/tela_botanica/del/client/modeles/InterventionForum.java |
---|
1,11 → 1,15 |
package org.tela_botanica.del.client.modeles; |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.List; |
public class InterventionForum { |
public class InterventionForum implements PossesseurDeCommentaires{ |
private String auteur; |
private Date date; |
public List<Commentaire> listeCommentaires = new ArrayList<Commentaire>(); |
public String getAuteur() { |
return auteur; |
} |
18,5 → 22,19 |
public void setDate(Date date) { |
this.date = date; |
} |
public List<Commentaire> getListeCommentaires() { |
return listeCommentaires; |
} |
@Override |
public void setListeCommentaires(List<Commentaire> listeCommentaires) { |
this.listeCommentaires = listeCommentaires; |
} |
@Override |
public void ajouterCommentaire(Commentaire commentaire) { |
listeCommentaires.add(commentaire); |
} |
} |
/trunk/src/org/tela_botanica/del/client/modeles/TypeInterventionForum.java |
---|
New file |
0,0 → 1,14 |
package org.tela_botanica.del.client.modeles; |
public enum TypeInterventionForum { |
TYPE_COMMENTAIRE { |
public String toString() { |
return "type_commentaire"; |
}; |
}, |
TYPE_PROPOSITION_DETERMINATION { |
public String toString() { |
return "type_proposition_determination"; |
}; |
} |
} |
/trunk/src/org/tela_botanica/del/client/modeles/Commentaire.java |
---|
1,13 → 1,10 |
package org.tela_botanica.del.client.modeles; |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.List; |
public class Commentaire extends InterventionForum implements PossesseurDeCommentaires { |
public class Commentaire extends InterventionForum { |
private String commentaire; |
public List<Commentaire> listeCommentaires = new ArrayList<Commentaire>(); |
public Commentaire(String auteur, Date date, String commentaire) { |
setAuteur(auteur); |
23,17 → 20,4 |
this.commentaire = commentaire; |
} |
public List<Commentaire> getListeCommentaires() { |
return listeCommentaires; |
} |
@Override |
public void setListeCommentaires(List<Commentaire> listeCommentaires) { |
this.listeCommentaires = listeCommentaires; |
} |
@Override |
public void ajouterCommentaire(Commentaire commentaire) { |
listeCommentaires.add(commentaire); |
} |
} |
/trunk/src/org/tela_botanica/del/client/modeles/PropositionDetermination.java |
---|
1,17 → 1,15 |
package org.tela_botanica.del.client.modeles; |
import java.io.Serializable; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
public class PropositionDetermination extends InterventionForum implements PossesseurDeCommentaires, Serializable { |
public class PropositionDetermination extends InterventionForum implements Serializable { |
private static final long serialVersionUID = 840032625524143547L; |
private String id, espece; |
private Map<String, VoteDetermination> votesDeterminations = new HashMap<String, VoteDetermination>(); |
public List<Commentaire> listeCommentaires = new ArrayList<Commentaire>(); |
public void ajouterVoteDetermination(VoteDetermination vd) { |
votesDeterminations.put(vd.getContributeur(), vd); |
41,17 → 39,5 |
this.votesDeterminations = votesDeterminations; |
} |
public List<Commentaire> getListeCommentaires() { |
return listeCommentaires; |
} |
@Override |
public void setListeCommentaires(List<Commentaire> listeCommentaires) { |
this.listeCommentaires = listeCommentaires; |
} |
@Override |
public void ajouterCommentaire(Commentaire commentaire) { |
listeCommentaires.add(commentaire); |
} |
} |
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties |
---|
83,6 → 83,7 |
infoPropositions = D'autres utilisateurs ont laissé une détermination |
titreDetermination = Détermination/confirmation |
metadonnees = Métadonnées |
ajouterCommentaire = Ajouter un commentaire |
#ecran comparaison |
dateObservation = Date de la prise de vue |
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.java |
---|
2,7 → 2,7 |
/** |
* Interface to represent the constants contained in resource bundle: |
* '/home/greg/web/del/src/org/tela_botanica/del/client/i18n/Vocabulary.properties'. |
* 'D:/dev/svn/del/src/org/tela_botanica/del/client/i18n/Vocabulary.properties'. |
*/ |
public interface Vocabulary extends com.google.gwt.i18n.client.Constants { |
25,6 → 25,15 |
String afficher(); |
/** |
* Translated "Ajouter un commentaire". |
* |
* @return translated "Ajouter un commentaire" |
*/ |
@DefaultStringValue("Ajouter un commentaire") |
@Key("ajouterCommentaire") |
String ajouterCommentaire(); |
/** |
* Translated "Annuler". |
* |
* @return translated "Annuler" |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java |
---|
13,9 → 13,6 |
import org.tela_botanica.del.client.composants.observations.ObservationImagesPresenteur; |
import org.tela_botanica.del.client.composants.observations.ObservationImagesVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVotePresenteur; |
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVoteVue; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.Protocole; |
91,7 → 88,6 |
private void ajouterLignesVotesProtocole() { |
List<Protocole> tousLesProtocoles = protocoleService.getProtocoles(); |
Image imageCourante = CacheClient.getInstance().getImageCourante(); |
for (Iterator<Protocole> iterator = tousLesProtocoles.iterator(); iterator.hasNext();) { |
Protocole protocole = iterator.next(); |
/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); |
} |
} |
/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/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/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/formulairecommentaire/FormulaireCommentaireVue.ui.xml |
---|
6,7 → 6,7 |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary"/> |
<ui:style src="formulaireCommentaire.css" /> |
<g:VerticalPanel styleName="{style.formulaireProposition}"> |
<g:Label text="{constants.proposerSaDetermination}" styleName="titre"/> |
<g:Label text="{constants.ajouterCommentaire}" styleName="titre"/> |
<g:Label text="{constants.infoProposerDetermination}" styleName="petit"/> |
<g:HTML><br /></g:HTML> |
<g:HorizontalPanel> |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairecommentaire/FormulaireCommentairePresenteur.java |
---|
2,10 → 2,12 |
import java.util.Date; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.PossesseurDeCommentaires; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire; |
16,18 → 18,29 |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class FormulaireCommentairePresenteur extends Presenteur{ |
public class FormulaireCommentairePresenteur extends Presenteur { |
// le meme presenteur gere les commentaires pour les observations et pour |
// les possesseurs de commentaires, mais la logique est differente, d'ou la |
// necessité de separer les deux objets metiers |
private Observation observation; |
private PossesseurDeCommentaires possesseurDeCommentaires; |
public interface Vue extends IsWidget { |
public abstract HasText getNomPrenom(); |
public abstract HasText getCommentaire(); |
public abstract HasClickHandlers getBoutonValidationCommentaire(); |
public void afficherStyleErreur(String styleErreur); |
public void supprimerStyleErreur(String styleErreur); |
void afficherNomPrenomEtDesactiver(String nomPrenomFormate); |
} |
private Vue vue; |
public FormulaireCommentairePresenteur(Observation observation, Vue vue) { |
35,32 → 48,49 |
this.vue = vue; |
} |
public FormulaireCommentairePresenteur(PossesseurDeCommentaires possesseurDeCommentaires, Vue vue) { |
this.possesseurDeCommentaires = possesseurDeCommentaires; |
this.vue = vue; |
} |
public void go(HasWidgets composite) { |
remplirAvecInfosUtilisateur(); |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
private void remplirAvecInfosUtilisateur() { |
if (CacheClient.getInstance().getUtilisateur().estIdentifie()) { |
vue.afficherNomPrenomEtDesactiver(CacheClient.getInstance().getUtilisateur().getNomPrenomFormate()); |
} |
} |
protected void gererEvenements() { |
vue.getBoutonValidationCommentaire().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
if (!validerNomPrenom()||!validerCommentaire()) { |
if (!validerNomPrenom() || !validerCommentaire()) { |
return; |
} |
String texteCommentaire = vue.getCommentaire().getText(); |
String nomPrenom = vue.getNomPrenom().getText(); |
Commentaire commentaire = new Commentaire(nomPrenom, new Date(), texteCommentaire); |
observation.getInterventionsForum().add(commentaire); |
if (observation != null) { |
observation.getInterventionsForum().add(commentaire); |
} else if (possesseurDeCommentaires != null) { |
possesseurDeCommentaires.getListeCommentaires().add(commentaire); |
} |
BusEvenementiel.getInstance().fireEvent(new EvenementAjoutCommentaire(commentaire)); |
} |
}); |
} |
private boolean validerNomPrenom() { |
ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(vue.getNomPrenom()) { |
68,7 → 98,7 |
public void afficherStyleErreur(String styleErreur) { |
vue.afficherStyleErreur(styleErreur); |
} |
@Override |
public void supprimerStyleErreur(String styleErreur) { |
vue.supprimerStyleErreur(styleErreur); |
76,7 → 106,7 |
}; |
return validateurTaxon.valider(); |
} |
private boolean validerCommentaire() { |
ValidateurChampTexteNonNul validateurCommentaire = new ValidateurChampTexteNonNul(vue.getCommentaire()) { |
84,7 → 114,7 |
public void afficherStyleErreur(String styleErreur) { |
vue.afficherStyleErreur(styleErreur); |
} |
@Override |
public void supprimerStyleErreur(String styleErreur) { |
vue.supprimerStyleErreur(styleErreur); |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairecommentaire/FormulaireCommentaireVue.java |
---|
55,4 → 55,10 |
nomPrenom.removeStyleName(styleErreur); |
commentaire.removeStyleName(styleErreur); |
} |
@Override |
public void afficherNomPrenomEtDesactiver(String nomPrenomFormate) { |
nomPrenom.setText(nomPrenomFormate); |
nomPrenom.setEnabled(false); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.ui.xml |
---|
24,7 → 24,7 |
</g:HTMLPanel> |
<g:HTMLPanel styleName="nettoyage {style.boutons}"> |
<g:Button text="{constants.proposerSaDetermination}" ui:field="boutonAjoutProposition" styleName="bouton" /> |
<g:Button text="Ajouter un commentaire" ui:field="boutonAjoutCommentaire" styleName="bouton" /> |
<g:Button text="{constants.ajouterCommentaire}" ui:field="boutonAjoutCommentaire" styleName="bouton" /> |
</g:HTMLPanel> |
<g:VerticalPanel ui:field="forum" /> |
</g:HTMLPanel> |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulaireproposition/FormulairePropositionVue.java |
---|
73,8 → 73,5 |
public void afficherNomPrenomEtDesactiver(String nomPrenomFormate) { |
nomPrenom.setText(nomPrenomFormate); |
nomPrenom.setEnabled(false); |
nomPrenom.setVisible(false); |
labelnomPrenom.setVisible(false); |
infosNomPrenom.setVisible(false); |
} |
} |