Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 209 → Rev 210

/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java
New file
0,0 → 1,48
package org.tela_botanica.del.client.vues.plateformedetermination;
 
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.vues.plateformedetermination.detail.DetailImageObservationPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition.FormulairePropositionPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
public class DeterminationPresenteur {
 
DeterminationVue determinationVue = new DeterminationVue();
BarreRepartitionVotePresenteur barreRepartitionVotePresenteur;
 
public DeterminationPresenteur() {
 
}
 
public void go(HasWidgets composite) {
 
new DetailImageObservationPresenteur().go(determinationVue.getDetailImageObservation());
new EnsembleVotesPresenteur().go(determinationVue.getVote());
new ForumPresenteur().go(determinationVue.getForum());
new FormulairePropositionPresenteur().go(determinationVue.getFormulaireProposition());
new FormulaireRechercheEflorePresenteur().go(determinationVue.getFormulaireRechercheEflore());
 
barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur();
barreRepartitionVotePresenteur.go(determinationVue.getBarreRepartition());
calculerEtAfficherVoteDeterminationPlusPopulaire();
 
composite.add(determinationVue);
}
 
private void calculerEtAfficherVoteDeterminationPlusPopulaire() {
 
List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(CacheClient.getInstance().getCurrentObservation().getPropositionsDetermination());
if (votesOrdonnes.size() > 0) {
barreRepartitionVotePresenteur.afficherVotes(votesOrdonnes.get(0));
}
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.java
New file
0,0 → 1,47
package org.tela_botanica.del.client.vues.plateformedetermination;
 
import com.google.gwt.core.client.GWT;
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.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
 
public class DeterminationVue extends Composite {
 
@UiField
VerticalPanel forum, detailImageObservation, formulaireProposition, formulaireRechercheEflore, vote, barreRepartition;
 
interface DeterminationUIiBinder extends UiBinder<Widget, DeterminationVue> {
};
 
private static DeterminationUIiBinder uiBinder = GWT.create(DeterminationUIiBinder.class);
 
public DeterminationVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
public VerticalPanel getForum() {
return forum;
}
 
public VerticalPanel getDetailImageObservation() {
return detailImageObservation;
}
 
public VerticalPanel getFormulaireProposition() {
return formulaireProposition;
}
 
public VerticalPanel getFormulaireRechercheEflore() {
return formulaireRechercheEflore;
}
 
public VerticalPanel getVote() {
return vote;
}
public VerticalPanel getBarreRepartition() {
return barreRepartition;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/detail/DetailImageObservationVue.ui.xml
New file
0,0 → 1,36
<!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'>
 
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary"/>
<ui:style src="detailObservation.css" />
<g:VerticalPanel styleName="{style.groupeObservation}">
<g:Image ui:field="imageObservation"/>
<g:VerticalPanel ui:field="detailObservation" styleName="{style.detailObservation}">
<g:HorizontalPanel styleName="{style.observateur}">
<!-- g:Label text="{constants.observateur} : "/ -->
<g:Label ui:field="nomObservateur" /><g:HTML>&nbsp;-&nbsp;</g:HTML><g:Label ui:field="localite" /><g:HTML>&nbsp;-&nbsp;</g:HTML><g:Label ui:field="dateObservation" />
</g:HorizontalPanel>
<g:HorizontalPanel>
<!-- <g:Label text="{constants.nom_retenu} : "/> -->
<g:Label ui:field="nomRetenu" styleName="{style.nomRetenu}"/>
</g:HorizontalPanel>
<g:HorizontalPanel styleName="{style.date}">
<!-- <g:Label text="{constants.date_observation} : "/> -->
</g:HorizontalPanel>
<g:HorizontalPanel>
<!-- <g:Label text="{constants.famille} : "/> -->
<g:HorizontalPanel><g:Label ui:field="famille" /></g:HorizontalPanel>
</g:HorizontalPanel>
<g:HorizontalPanel>
<!-- <g:Label text="{constants.localite} : "/> -->
</g:HorizontalPanel>
</g:VerticalPanel>
</g:VerticalPanel>
 
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/detail/DetailImageObservationPresenteur.java
New file
0,0 → 1,15
package org.tela_botanica.del.client.vues.plateformedetermination.detail;
 
import org.tela_botanica.del.client.cache.CacheClient;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
public class DetailImageObservationPresenteur {
 
private DetailImageObservationVue detailImageObservationVue = new DetailImageObservationVue();
 
public void go(HasWidgets composite) {
detailImageObservationVue.chargerInformationsObservation(CacheClient.getInstance().getImageCourante());
composite.add(detailImageObservationVue);
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/detail/DetailImageObservationVue.java
New file
0,0 → 1,38
package org.tela_botanica.del.client.vues.plateformedetermination.detail;
 
 
 
import com.google.gwt.core.client.GWT;
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.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
 
public class DetailImageObservationVue extends Composite {
 
@UiField
protected Image imageObservation;
 
@UiField
protected Label nomObservateur, nomRetenu, dateObservation, famille, localite;
 
private static DetailImageObservationUIiBinder uiBinder = GWT.create(DetailImageObservationUIiBinder.class);
 
interface DetailImageObservationUIiBinder extends UiBinder<Widget, DetailImageObservationVue> {
};
 
public DetailImageObservationVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
public void chargerInformationsObservation(org.tela_botanica.del.client.modeles.Image image) {
imageObservation.setUrl(image.getUrl());
nomObservateur.setText(image.getObservation().getAuteur());
nomRetenu.setText(image.getObservation().getNomRetenu());
famille.setText(image.getObservation().getFamille());
localite.setText(image.getObservation().getLocalite());
dateObservation.setText(image.getObservation().getDate());
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/detail/detailObservation.css
New file
0,0 → 1,6
.groupeObservation img {-moz-box-shadow:4px 4px 2px #AAA}
.detailObservation {font-size:11px; position:absolute; padding:5px; color:white; background:#333; opacity:0.8; margin-top:-80px; width:230px;}
.observateur td {font-size:11px; white-space:nowrap}
.date {}
.nomRetenu {font-weight:bold}
.dateObservation {}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.ui.xml
New file
0,0 → 1,13
<!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="forum.css" />
<g:VerticalPanel>
<g:Label text="{constants.lesPropositions}" styleName="titre"/>
<g:Label text="{constants.infoPropositions}" styleName="petit"/>
<g:FlexTable ui:field='htmlTableau' styleName="{style.table}" />
</g:VerticalPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/LigneForumPresenteur.java
New file
0,0 → 1,36
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
 
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.vote.barrerepartition.BarreRepartitionVotePresenteur;
 
import com.google.gwt.user.client.ui.FlexTable;
 
public class LigneForumPresenteur {
private LigneForumVue ligneforumVue;
private BarreRepartitionVotePresenteur barreRepartitionVotePresenteur = new BarreRepartitionVotePresenteur();
private PropositionDetermination determination;
public LigneForumPresenteur(PropositionDetermination propositionDetermination) {
this.determination = propositionDetermination;
}
 
public void go(FlexTable tableParente) {
ligneforumVue = new LigneForumVue(tableParente);
chargerDetermination();
}
 
private void chargerDetermination() {
calculerEtAfficherVoteDetermination();
ligneforumVue.chargerDetermination(determination,barreRepartitionVotePresenteur.getBarreRepartitionVoteVue());
}
private void calculerEtAfficherVoteDetermination() {
MoyenneVote votes = CalculVoteDeterminationService.calculerVoteDetermination(determination);
barreRepartitionVotePresenteur.afficherVotes(votes);
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java
New file
0,0 → 1,47
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
 
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
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.ajoutdetermination.EvenementAjoutDetermination;
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
public class ForumPresenteur {
 
private ForumVue forumVue = new ForumVue();
 
private List<PropositionDetermination> determinations;
 
public void go(HasWidgets composite) {
 
chargerDeterminations();
composite.add(forumVue);
 
gererEvenements();
}
 
private void chargerDeterminations() {
determinations = CacheClient.getInstance().getCurrentObservation().getPropositionsDetermination();
forumVue.initialiserEntetesTableau();
 
for (PropositionDetermination determination : determinations) {
LigneForumPresenteur ligne = new LigneForumPresenteur(determination);
ligne.go(forumVue.getTable());
}
}
 
private void gererEvenements() {
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() {
 
@Override
public void onAjoutDetermination(EvenementAjoutDetermination event) {
LigneForumPresenteur ligne = new LigneForumPresenteur(event.getPropositionDetermination());
ligne.go(forumVue.getTable());
}
});
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/LigneForumVue.java
New file
0,0 → 1,62
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
 
import java.util.Date;
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
 
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
 
public class LigneForumVue extends Composite {
FlexTable tableParente;
HTMLPanel barreRepartition;
public LigneForumVue(FlexTable flexTable) {
tableParente = flexTable;
}
public void chargerDetermination(PropositionDetermination determination, IsWidget barreRepartition) {
 
Tree arbreCommentaires = new Tree();
TreeItem racineArbreCommentaires = new TreeItem();
arbreCommentaires.addItem(racineArbreCommentaires);
creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires());
 
int ligne = tableParente.getRowCount() + 1;
tableParente.setWidget(ligne, 1, barreRepartition);
tableParente.setHTML(ligne, 2, determination.getContributeur());
tableParente.setHTML(ligne, 3, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate()));
tableParente.setWidget(ligne, 4, arbreCommentaires);
 
}
private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {
 
for (Commentaire commentaire : commentaires) {
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());
parentTreeItem.setHTML(commentaireHTML);
if (commentaire.getListeCommentaires().size() != 0) {
TreeItem childTreeItem = new TreeItem();
parentTreeItem.addItem(childTreeItem);
creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());
}
}
parentTreeItem.setState(true);
 
}
 
private String formaterDatePourForum(Date date) {
return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java
New file
0,0 → 1,47
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
 
import java.util.Date;
import java.util.List;
 
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 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.Tree;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.user.client.ui.Widget;
 
public class ForumVue extends Composite {
 
private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);
 
interface ForumUIiBinder extends UiBinder<Widget, ForumVue> {
};
 
@UiField
FlexTable htmlTableau;
 
public ForumVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
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 FlexTable getTable() {
return htmlTableau;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/forum.css
New file
0,0 → 1,0
.table {border:solid 1px #DDD}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/determinationVue.css
New file
0,0 → 1,5
.zoneDetermination {width:50%; margin:0 auto;}
.zoneVote {margin-left:5px; padding:20px; border:#DDD solid 1px; -moz-border-radius:0 10px 10px 0; height:100%}
.zoneBarreRepartition {border:solid 1px #DDD; padding: 15px;}
.zoneDetailImage {border:#DDD solid 1px; -moz-border-radius:10px 0 0 10px; padding:20px; height:100%}
.zoneImage {margin-bottom:10px}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionVue.java
New file
0,0 → 1,54
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
 
import java.util.Iterator;
import java.util.List;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
 
public class FormulairePropositionVue extends Composite {
 
@UiField(provided = true)
public TextBox nomPrenom = new TextBox();
 
@UiField(provided = true)
public TextBox propositionTaxon = new TextBox();
 
@UiField(provided = true)
public TextArea commentaires = new TextArea();
 
@UiField(provided = true)
public Button boutonValidationProposition = new Button();
 
interface FormulairePropositionUIiBinder extends UiBinder<Widget, FormulairePropositionVue> {
};
 
FormulairePropositionUIiBinder uiBinder = GWT.create(FormulairePropositionUIiBinder.class);
 
public FormulairePropositionVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
public TextBox getNomPrenom() {
return nomPrenom;
}
 
public TextBox getPropositionTaxon() {
return propositionTaxon;
}
 
public TextArea getCommentaires() {
return commentaires;
}
 
public Button getBoutonValidationProposition() {
return boutonValidationProposition;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/formulaireProposition.css
New file
0,0 → 1,8
.formulaireProposition {border:solid 1px #AAA; width:100%; padding:15px; -moz-box-shadow:5px 5px 5px #AAA}
.boutonProposer {float:right; margin-right:55px; margin-top:-85px; padding:10px; background:url(./img/add.png) no-repeat 5px 12px #DDD; padding-left:20px; cursor:pointer}
.boutonProposer:hover {background-color:#AAA}
.colonneGauche, .colonneDroite {width:250px;}
.colonneGauche {padding-right:30px}
.colonneGauche select {width:100%}
.colonneGauche input {width:95%}
.commentaire {width:250px; height:100px}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionVue.ui.xml
New file
0,0 → 1,33
<!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="formulaireProposition.css" />
<g:VerticalPanel styleName="{style.formulaireProposition}">
<g:Label text="{constants.proposer_sa_determination}" styleName="titre"/>
<g:Label text="{constants.infoProposerDetermination}" styleName="petit"/>
<g:HTML><br /></g:HTML>
<g:HorizontalPanel>
<g:VerticalPanel styleName="{style.colonneGauche}">
<g:Label text="{constants.vous}" styleName="sousTitre"/>
<g:Label text="{constants.infoVous}" styleName="petit" />
<g:TextBox ui:field="nomPrenom" />
<g:HTML><br /></g:HTML>
<g:Label text="{constants.choisir_un_taxon}" styleName="sousTitre"/>
<g:HTML HTML="{constants.infoTaxon}" styleName="petit"/>
<g:TextBox ui:field="propositionTaxon" />
<g:HTML><br /></g:HTML>
</g:VerticalPanel>
<g:VerticalPanel styleName="{style.colonneGauche}">
<g:Label text="{constants.commentaire}" styleName="sousTitre"/>
<g:TextArea ui:field="commentaires" styleName="{style.commentaire}" />
</g:VerticalPanel>
</g:HorizontalPanel>
<g:Button text="{constants.boutonProposer}" ui:field="boutonValidationProposition" styleName="{style.boutonProposer}"/>
</g:VerticalPanel>
 
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java
New file
0,0 → 1,71
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
 
import java.util.Date;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator;
import org.tela_botanica.del.client.modeles.Commentaire;
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.ajoutdetermination.EvenementAjoutDetermination;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.HasWidgets;
 
public class FormulairePropositionPresenteur {
 
private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
 
public void go(HasWidgets composite) {
 
composite.add(formulairePropositionVue);
gererEvenements();
}
 
private void gererEvenements() {
formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
if(!validerSaisieProposition()) {
return;
} else {
PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee);
EvenementAjoutDetermination evenementAjoutDetermination=new EvenementAjoutDetermination(propositionAjoutee);
BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
}
}
});
}
private boolean validerSaisieProposition() {
TextNotNullFormValidator validateurTaxon = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom());
boolean taxonSaisi = validateurTaxon.validate();
return taxonSaisi;
}
private PropositionDetermination collecterValeursSaisieProposition() {
PropositionDetermination propositionAjoutee = new PropositionDetermination();
propositionAjoutee.setId(CacheClient.getInstance().getImageCourante().getIdImage());
String auteur = formulairePropositionVue.getNomPrenom().getText();
if(formulairePropositionVue.getCommentaires().getText() != "") {
String contenuCommentaire = formulairePropositionVue.getCommentaires().getText();
Commentaire comm = new Commentaire(auteur, new Date(),contenuCommentaire);
propositionAjoutee.ajouterCommentaire(comm);
}
propositionAjoutee.setContributeur(auteur);
propositionAjoutee.setDate(new Date());
propositionAjoutee.setEspece(formulairePropositionVue.getPropositionTaxon().getText());
return propositionAjoutee;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairerechercheeflore/FormulaireRechercheEfloreVue.ui.xml
New file
0,0 → 1,15
<!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'>
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary"/>
<g:VerticalPanel>
<g:Label text="{constants.comparer}" styleName="sousTitre"/>
<g:Label text="{constants.infoComparer}" styleName="petit"/>
<g:HTML><br /></g:HTML>
<g:HorizontalPanel><g:TextBox ui:field="formulaireRechercheObservationEflore"/>
<g:Button text="{constants.ok}" ui:field="boutonValidationRechercheObservation" /></g:HorizontalPanel>
</g:VerticalPanel>
 
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairerechercheeflore/FormulaireRechercheEflorePresenteur.java
New file
0,0 → 1,30
package org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore;
 
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.comparaisoneflore.EvenementComparaisonEflore;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.HasWidgets;
 
public class FormulaireRechercheEflorePresenteur {
 
FormulaireRechercheEfloreVue formulaireRechercheEfloreVue = new FormulaireRechercheEfloreVue();
 
public void go(HasWidgets composite) {
composite.add(formulaireRechercheEfloreVue);
gererEvenements();
}
 
private void gererEvenements() {
formulaireRechercheEfloreVue.getBoutonValidationRechercheObservation().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
EvenementComparaisonEflore evenementComparaisonEflore = new EvenementComparaisonEflore(formulaireRechercheEfloreVue.getFormulaireRechercheObservationEflore().getText());
BusEvenementiel.getInstance().fireEvent(evenementComparaisonEflore);
}
});
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulairerechercheeflore/FormulaireRechercheEfloreVue.java
New file
0,0 → 1,33
package org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
 
public class FormulaireRechercheEfloreVue extends Composite {
 
@UiField(provided = true)
public TextBox formulaireRechercheObservationEflore = new TextBox();
@UiField(provided = true)
public Button boutonValidationRechercheObservation = new Button();
interface FormulaireRechercheEfloreUIiBinder extends UiBinder<Widget, FormulaireRechercheEfloreVue>{};
FormulaireRechercheEfloreUIiBinder uiBinder = GWT.create(FormulaireRechercheEfloreUIiBinder.class);
 
public FormulaireRechercheEfloreVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
public TextBox getFormulaireRechercheObservationEflore() {
return formulaireRechercheObservationEflore;
}
 
public Button getBoutonValidationRechercheObservation() {
return boutonValidationRechercheObservation;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.ui.xml
New file
0,0 → 1,24
<!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:forum="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="determinationVue.css" />
<g:HorizontalPanel styleName="{style.zoneDetermination}">
<g:VerticalPanel styleName="{style.zoneDetailImage}">
<g:VerticalPanel ui:field="detailImageObservation" styleName="{style.zoneImage}"/>
<g:VerticalPanel ui:field="formulaireRechercheEflore"/>
</g:VerticalPanel>
<g:VerticalPanel styleName="{style.zoneVote}">
<g:VerticalPanel ui:field="vote" styleName="plein"/>
<g:VerticalPanel ui:field="barreRepartition" styleName="{style.zoneBarreRepartition} repartitionVoteTaxonPopulaire plein"/>
<g:HTML><br /></g:HTML>
<g:VerticalPanel ui:field="forum" styleName="plein"/>
<g:HTML><br /></g:HTML>
<g:VerticalPanel ui:field="formulaireProposition" styleName="plein"/>
</g:VerticalPanel>
</g:HorizontalPanel>
 
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/EnsembleVotesVue.java
New file
0,0 → 1,33
package org.tela_botanica.del.client.vues.plateformedetermination.vote;
 
import com.google.gwt.core.client.GWT;
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.HorizontalPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
 
public class EnsembleVotesVue extends Composite {
 
interface MyUiBinder extends UiBinder<Widget, EnsembleVotesVue> {
}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
@UiField()
VerticalPanel panneauVotes;
 
public EnsembleVotesVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
public VerticalPanel getPanneauVotes() {
return panneauVotes;
}
 
public void setPanneauVotes(VerticalPanel panneauVotes) {
this.panneauVotes = panneauVotes;
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/barreRepartitionVote.css
New file
0,0 → 1,0
.boutonVote {float:left;text-align: center;}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVoteVue.ui.xml
New file
0,0 → 1,13
<!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">
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<ui:style src="barreRepartitionVote.css" />
<g:HTMLPanel>
<div class="conteneurBoutonVote">
<g:PushButton ui:field="boutonOui" styleName="{style.boutonVote}" />
<g:PushButton ui:field="boutonNon" styleName="{style.boutonVote}" />
</div>
<g:HTML ui:field="barreRepartitionHtmlBrut" styleName="conteneurBarreRepartition"/>
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVotePresenteur.java
New file
0,0 → 1,83
package org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition;
 
import java.util.Date;
 
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.VoteDetermination;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.utils.MockDatasource;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;
 
public class BarreRepartitionVotePresenteur {
private BarreRepartitionVoteVue vue = new BarreRepartitionVoteVue();
 
private MockDatasource validationService = MockDatasource.getInstance();
private MoyenneVote moyenneVote;
public void go(HasWidgets container) {
container.add(vue);
}
 
public void afficherVotes(MoyenneVote moyenneVote) {
this.moyenneVote = moyenneVote;
vue.afficherVotes(moyenneVote.getScore(), moyenneVote.getIntituleAssocie());
gererEvenements();
}
public BarreRepartitionVoteVue getBarreRepartitionVoteVue() {
return vue;
}
public HTML getBarreRepartitionVoteVueHTML() {
return vue.getBarreRepartitionHtmlBrut();
}
public void gererEvenements() {
vue.getBoutonOui().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
VoteDetermination vd = new VoteDetermination();
vd.setContributeur("test");
vd.setDate(new Date());
vd.setVote(1);
vd.setId("3");
vue.getBoutonOui().setEnabled(false);
vue.getBoutonNon().setEnabled(true);
moyenneVote.getPropositionAssociee().ajouterVoteDetermination(vd);
moyenneVote = CalculVoteDeterminationService.calculerVoteDetermination(moyenneVote.getPropositionAssociee());
afficherVotes(moyenneVote);
}
});
vue.getBoutonNon().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
VoteDetermination vd = new VoteDetermination();
vd.setContributeur("test");
vd.setDate(new Date());
vd.setVote(0);
vd.setId("3");
vue.getBoutonOui().setEnabled(true);
vue.getBoutonNon().setEnabled(false);
moyenneVote.getPropositionAssociee().ajouterVoteDetermination(vd);
moyenneVote = CalculVoteDeterminationService.calculerVoteDetermination(moyenneVote.getPropositionAssociee());
afficherVotes(moyenneVote);
}
});
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVoteVue.java
New file
0,0 → 1,72
package org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition;
 
import com.google.gwt.core.client.GWT;
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.HTML;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.PushButton;
import com.google.gwt.user.client.ui.Widget;
 
public class BarreRepartitionVoteVue extends Composite implements IsWidget {
interface MyUiBinder extends UiBinder<Widget, BarreRepartitionVoteVue> {}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
private int pourcentage = -1;
private int tailleBarre = 0;
private String nomTaxon = "";
@UiField(provided = true)
public PushButton boutonOui = new PushButton("+");
@UiField(provided = true)
public PushButton boutonNon = new PushButton("-");
@UiField(provided = true)
public HTML barreRepartitionHtmlBrut = new HTML("<div class=\"barreRepartition\"></div>");
public BarreRepartitionVoteVue() {
initWidget(uiBinder.createAndBindUi(this));
boutonNon.setWidth("20px");
boutonOui.setWidth("20px");
}
public void afficherVotes(int pourcentage, String NomTaxon) {
this.pourcentage = pourcentage;
this.nomTaxon = NomTaxon;
tailleBarre = (pourcentage > -1) ? pourcentage : 0;
String classe = "barreRepartition";
if(pourcentage == -1) {
classe = "barreRepartitionAucunVote";
}
String chaineHtml = "<div class=\"conteneurBarreRepartition\">" +
"<div class=\""+classe+"\">"+
"<div style=\"width:"+tailleBarre+"%\" class=\"elementBarreRepartition voteOui\"></div>"+
"</div>"+
"<span class=\"nomTaxonBarreRepartition\">"+nomTaxon+"</span>"+
"</div>";
barreRepartitionHtmlBrut.setHTML(chaineHtml);
}
public HTML getBarreRepartitionHtmlBrut() {
return barreRepartitionHtmlBrut;
}
public PushButton getBoutonOui() {
return boutonOui;
}
public PushButton getBoutonNon() {
return boutonNon;
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/EnsembleVotesVue.ui.xml
New file
0,0 → 1,10
<!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">
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<g:HTMLPanel styleName="plein">
<g:Label text="{constants.votes}" styleName="titre"/>
<g:Label text="{constants.infoVotes}" styleName="petit"/>
<g:VerticalPanel ui:field="panneauVotes" styleName="plein"/>
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/moyenne/moyenneVoteProtocole.css
New file
0,0 → 1,3
.nomProtocole {width:250px;}
.monVote, .nbVotes {width:125px}
.protocole {padding:10px 15px 10px 15px; border:solid 1px #ddd; margin-bottom:1px}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/moyenne/MoyenneVoteProtocoleVue.ui.xml
New file
0,0 → 1,20
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui' ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default">
 
<ui:style src="moyenneVoteProtocole.css" />
 
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<g:HorizontalPanel styleName="{style.protocole} plein">
<g:VerticalPanel styleName="{style.nomProtocole}">
<g:Label ui:field="nomProtocole" text="{constants.chargement}" styleName="gras"/>
<g:FocusPanel ui:field="moyenneVotes" />
</g:VerticalPanel>
<g:VerticalPanel styleName="{style.nbVotes} gras">
<g:Label text="Votes" />
<g:Label ui:field="nbVotes" />
</g:VerticalPanel>
<g:FocusPanel ui:field="monVote" styleName="{style.monVote} gras"/>
</g:HorizontalPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/moyenne/MoyenneVoteProtocolePresenteur.java
New file
0,0 → 1,25
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne;
 
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.personnel.MonVoteProtocolePresenteur;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
public class MoyenneVoteProtocolePresenteur {
 
private MoyenneVoteProtocoleVue view;
private Protocole protocole;
 
public MoyenneVoteProtocolePresenteur(Protocole protocole, List<VoteProtocole> validationDatas) {
view = new MoyenneVoteProtocoleVue(protocole, validationDatas);
}
 
public void go(HasWidgets container) {
container.add(view);
new MonVoteProtocolePresenteur(protocole).go(view.getMonVote());
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/moyenne/MoyenneVoteProtocoleVue.java
New file
0,0 → 1,58
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne;
 
import java.util.List;
 
import org.cobogw.gwt.user.client.ui.Rating;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
 
import com.google.gwt.core.client.GWT;
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.Label;
import com.google.gwt.user.client.ui.Widget;
 
public class MoyenneVoteProtocoleVue extends Composite {
 
interface MyUiBinder extends UiBinder<Widget, MoyenneVoteProtocoleVue> {
}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
@UiField
FocusPanel moyenneVotes, monVote;
 
@UiField
Label nbVotes, nomProtocole;
 
protected MoyenneVoteProtocoleVue(Protocole protocole, List<VoteProtocole> validationDatas) {
initWidget(uiBinder.createAndBindUi(this));
 
nomProtocole.setText(protocole.getNom());
 
int meanVote = 0;
int nbVote = 0;
for (VoteProtocole validationData : validationDatas) {
meanVote += validationData.getVote();
nbVote++;
}
if (nbVote > 0)
meanVote /= nbVote;
Rating rating = new Rating(meanVote, 5);
rating.setReadOnly(true);
moyenneVotes.add(rating);
 
nbVotes.setText(String.valueOf(validationDatas.size()));
 
}
 
public FocusPanel getMonVote() {
return monVote;
}
 
public void setMonVote(FocusPanel monVote) {
this.monVote = monVote;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/voteProtocole.css
New file
0,0 → 1,2
.tiers {border :solid 1px red}
.nomProtocole {border:solid 1px}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/VoteProtocoleVue.ui.xml
New file
0,0 → 1,14
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui' ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default">
 
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<ui:style src="voteProtocole.css" />
 
<g:HorizontalPanel>
<g:Label ui:field="nomProtocole" text="{constants.chargement}" />
<g:FocusPanel ui:field="moyenneVotes" />
<g:FocusPanel ui:field="monVote" />
</g:HorizontalPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/VoteProtocolePresenteur.java
New file
0,0 → 1,32
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole;
 
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne.MoyenneVoteProtocolePresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.personnel.MonVoteProtocolePresenteur;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
public class VoteProtocolePresenteur {
 
private VoteProtocoleVue vue = new VoteProtocoleVue();
 
private Protocole protocole;
 
private List<VoteProtocole> validationDatas;
 
public VoteProtocolePresenteur(Protocole protocole, List<VoteProtocole> validationDatas) {
this.protocole = protocole;
this.validationDatas = validationDatas;
}
 
public void go(HasWidgets container) {
container.add(vue);
new MoyenneVoteProtocolePresenteur(protocole, validationDatas).go(vue.getMoyenneVotes());
new MonVoteProtocolePresenteur(protocole).go(vue.getMonVote());
 
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/VoteProtocoleVue.java
New file
0,0 → 1,41
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole;
 
import com.google.gwt.core.client.GWT;
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.Widget;
 
public class VoteProtocoleVue extends Composite {
 
interface MyUiBinder extends UiBinder<Widget, VoteProtocoleVue> {
}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
@UiField
FocusPanel moyenneVotes, monVote;
 
protected VoteProtocoleVue() {
initWidget(uiBinder.createAndBindUi(this));
 
}
 
public FocusPanel getMonVote() {
return monVote;
}
 
public void setMonVote(FocusPanel monVote) {
this.monVote = monVote;
}
 
public FocusPanel getMoyenneVotes() {
return moyenneVotes;
}
 
public void setMoyenneVotes(FocusPanel moyenneVotes) {
this.moyenneVotes = moyenneVotes;
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/personnel/MonVoteProtocoleVue.ui.xml
New file
0,0 → 1,14
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui' ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="default">
 
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary" />
<g:HorizontalPanel>
<g:VerticalPanel>
<g:Label text="{constants.mon_vote}" />
<g:FocusPanel ui:field="voter" />
</g:VerticalPanel>
<g:Button ui:field="boutonVote" text="{constants.ok}"></g:Button>
</g:HorizontalPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/personnel/MonVoteProtocolePresenteur.java
New file
0,0 → 1,45
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.personnel;
 
import java.util.Date;
 
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
import org.tela_botanica.del.client.utils.MockDatasource;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.HasWidgets;
 
public class MonVoteProtocolePresenteur {
 
private MonVoteProtocoleVue vue;
 
private Protocole protocole;
 
private MockDatasource voteService = MockDatasource.getInstance();
 
public MonVoteProtocolePresenteur(Protocole protocole) {
this.protocole = protocole;
vue = new MonVoteProtocoleVue();
}
 
public void go(HasWidgets container) {
container.add(vue);
}
 
public void gererEvenements() {
vue.getBoutonVote().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setDate(new Date());
voteProtocole.setVote(vue.getRating().getValue());
voteProtocole.setProtocol(protocole);
 
vue.getRating();
voteService.saveVote(voteProtocole);
}
});
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/personnel/MonVoteProtocoleVue.java
New file
0,0 → 1,51
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.personnel;
 
import org.cobogw.gwt.user.client.ui.Rating;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FocusPanel;
import com.google.gwt.user.client.ui.Widget;
 
public class MonVoteProtocoleVue extends Composite {
 
interface MyUiBinder extends UiBinder<Widget, MonVoteProtocoleVue> {
}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
 
@UiField
FocusPanel voter;
@UiField
Button boutonVote;
private Rating rating = new Rating(0, 5);
 
protected MonVoteProtocoleVue() {
initWidget(uiBinder.createAndBindUi(this));
rating.setReadOnly(false);
voter.add(rating);
 
}
 
public Rating getRating() {
return rating;
}
 
public void setRating(Rating rating) {
this.rating = rating;
}
 
public Button getBoutonVote() {
return boutonVote;
}
 
public void setBoutonVote(Button boutonVote) {
this.boutonVote = boutonVote;
}
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/EnsembleVotesPresenteur.java
New file
0,0 → 1,36
package org.tela_botanica.del.client.vues.plateformedetermination.vote;
 
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
import org.tela_botanica.del.client.utils.MockDatasource;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne.MoyenneVoteProtocolePresenteur;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
public class EnsembleVotesPresenteur {
 
private EnsembleVotesVue vue = new EnsembleVotesVue();
 
private MockDatasource validationService = MockDatasource.getInstance();
 
public void go(HasWidgets container) {
container.add(vue);
afficherVotes();
}
 
private void afficherVotes() {
 
String idImageCourante = CacheClient.getInstance().getImageCourante().getIdImage();
 
Protocole protocoleEsthetisme = validationService.getProtocole(Protocole.ESTHETISME);
List<VoteProtocole> observationValidationsEsthetisme = validationService.getVoteByImageAndProtocol(idImageCourante, Protocole.ESTHETISME);
new MoyenneVoteProtocolePresenteur(protocoleEsthetisme, observationValidationsEsthetisme).go(vue.getPanneauVotes());
 
Protocole protocoleIdentification = validationService.getProtocole(Protocole.IDENTIFICATION_AUTOMATIQUE);
List<VoteProtocole> observationValidationsIdentification = validationService.getVoteByImageAndProtocol(idImageCourante, Protocole.IDENTIFICATION_AUTOMATIQUE);
new MoyenneVoteProtocolePresenteur(protocoleIdentification, observationValidationsIdentification).go(vue.getPanneauVotes());
}
}