Subversion Repositories eFlore/Applications.del

Compare Revisions

Problem with comparison.

Ignore whitespace Rev HEAD → Rev 140

/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/forum.css
New file
0,0 → 1,0
.table {border:solid 1px #DDD}
/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:HTML ui:field='htmlTableau' styleName="{style.table}" />
</g:VerticalPanel>
</ui:UiBinder>
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java
New file
0,0 → 1,43
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
 
import java.util.List;
 
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.utils.GwtObservable;
import org.tela_botanica.del.client.utils.GwtObserver;
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.utils.MockDatasource;
 
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.Window;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Widget;
 
public class ForumPresenteur implements GwtObserver {
 
private ForumVue forumVue = new ForumVue();
 
private List<PropositionDetermination> determinations;
 
public void go(HasWidgets composite) {
 
CacheClient.getInstance().getCurrentObservation().addObserver(this);
chargerCommentaires();
composite.add(forumVue);
}
 
private void chargerCommentaires() {
determinations = CacheClient.getInstance().getCurrentObservation().getImageCelValidationDatas();
forumVue.chargerObservations(determinations);
}
@Override
public void update(GwtObservable observable, Object data) {
chargerCommentaires();
}
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java
New file
0,0 → 1,78
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
 
import java.util.ArrayList;
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.HTML;
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(provided = true)
HTML htmlTableau = new HTML();
public ForumVue() {
initWidget(uiBinder.createAndBindUi(this));
}
public void chargerObservations(List<PropositionDetermination> determinations) {
String ligne = "<table>"+
"<tr>"+
"<th> "+I18n.getVocabulary().nom()+" </th>"+
"<th> "+I18n.getVocabulary().contributeur()+" </th>"+
"<th> "+I18n.getVocabulary().fiabilite()+" </th>"+
"<th> "+I18n.getVocabulary().date()+" </th>"+
"<th> "+I18n.getVocabulary().commentaire()+" </th>"+
"</tr>";
for (PropositionDetermination observationDetermination : determinations) {
ligne += "<tr>"+
"<td>"+observationDetermination.getEspece()+"</td>"+
"<td>"+observationDetermination.getContributeur()+"</td>"+
"<td>"+observationDetermination.getPourcentageConfiance()+"</td>"+
"<td>"+formaterDatePourForum(observationDetermination.getDate())+"</td>"+
"<td>"+creerListeCommentaireRecursive(observationDetermination.getCommentaires())+"</td>"+
"</tr>";
}
ligne += "</table>";
htmlTableau.setHTML(ligne);
}
private String creerListeCommentaireRecursive(ArrayList<Commentaire> commentaires) {
String commentairesHtml = "<ul class=\"liste_commentaire\">";
for (Commentaire commentaire : commentaires) {
commentairesHtml += "<li class=\"commentaire\">";
commentairesHtml += "<div class=\"commentaire_texte\">"+commentaire.getCommentaire()+"</div>";
commentairesHtml += "<span class=\"commentaire_auteur\">"+commentaire.getAuteur()+"</span>";
commentairesHtml += "<span class=\"commentaire_date\">"+formaterDatePourForum(commentaire.getDate())+"</span>";
if(commentaire.getListeCommentaires().size() != 0) {
commentairesHtml += creerListeCommentaireRecursive(commentaire.getListeCommentaires());
}
commentairesHtml += "</li>";
}
return commentairesHtml;
}
private String formaterDatePourForum(Date date) {
return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
}
 
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/determinationVue.css
New file
0,0 → 1,4
.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%}
.zoneDetailImage {border:#DDD solid 1px; -moz-border-radius:10px 0 0 10px; padding:20px; height:100%}
.zoneImage {margin-bottom:10px}
/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}
/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionVue.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'
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:Label text="{constants.fiabilite}" styleName="sousTitre"/>
<g:Label text="{constants.infoFiabilite}" styleName="petit"/>
<g:ListBox ui:field="pourcentageConfiance" />
</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>
/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java
New file
0,0 → 1,81
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.Observable;
import java.util.Observer;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.validation.NumericFormValidator;
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator;
import org.tela_botanica.del.client.exceptions.ExceptionClient;
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.utils.GwtObservable;
import org.tela_botanica.del.client.utils.GwtObserver;
import org.tela_botanica.del.client.utils.MockDatasource;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;
 
public class FormulairePropositionPresenteur {
 
private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
 
public void go(HasWidgets composite) {
 
formulairePropositionVue.chargerPourcentagesConfiance(MockDatasource.getInstance().getPourcentagesConfiance());
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);
}
}
});
}
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().getCurrentObservation().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());
propositionAjoutee.setPourcentageConfiance(formulairePropositionVue.getPourcentageConfiance().getValue(formulairePropositionVue.getPourcentageConfiance().getSelectedIndex()));
return propositionAjoutee;
}
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionVue.java
New file
0,0 → 1,71
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
import org.tela_botanica.del.client.utils.MockDatasource;
 
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 ListBox pourcentageConfiance = new ListBox();
@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 void chargerPourcentagesConfiance(ArrayList<String> pourcentagesConfiance) {
pourcentageConfiance.clear();
for(Iterator<String> it = pourcentagesConfiance.iterator(); it.hasNext();) {
pourcentageConfiance.addItem(it.next());
}
}
 
public TextBox getNomPrenom() {
return nomPrenom;
}
 
public TextBox getPropositionTaxon() {
return propositionTaxon;
}
 
public ListBox getPourcentageConfiance() {
return pourcentageConfiance;
}
 
public TextArea getCommentaires() {
return commentaires;
}
 
public Button getBoutonValidationProposition() {
return boutonValidationProposition;
}
}
/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>
/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);
}
});
}
 
}
/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;
}
}
/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="barreRepartition" styleName="plein"/>
<g:VerticalPanel ui:field="formulaireRechercheEflore"/>
</g:VerticalPanel>
<g:VerticalPanel styleName="{style.zoneVote}">
<g:VerticalPanel ui:field="vote" styleName="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>
/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>
/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>
/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.PropositionDetermination;
import org.tela_botanica.del.client.modeles.Protocole;
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<PropositionDetermination> validationDatas;
 
public VoteProtocolePresenteur(Protocole protocole, List<PropositionDetermination> 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());
 
}
 
}
/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;
}
 
}
/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>
/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);
}
});
}
}
/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;
}
}
/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}
/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>
/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.PropositionDetermination;
import org.tela_botanica.del.client.modeles.Protocole;
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<PropositionDetermination> validationDatas) {
view = new MoyenneVoteProtocoleVue(protocole, validationDatas);
}
 
public void go(HasWidgets container) {
container.add(view);
new MonVoteProtocolePresenteur(protocole).go(view.getMonVote());
}
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/moyenne/MoyenneVoteProtocoleVue.java
New file
0,0 → 1,59
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.PropositionDetermination;
import org.tela_botanica.del.client.modeles.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.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<PropositionDetermination> validationDatas) {
initWidget(uiBinder.createAndBindUi(this));
 
nomProtocole.setText(protocole.getNom());
 
int meanVote = 0;
int nbVote = 0;
for (PropositionDetermination 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;
}
}
/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}
/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.PropositionDetermination;
import org.tela_botanica.del.client.modeles.Protocole;
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().getCurrentObservation().getIdImage();
 
Protocole protocoleEsthetisme = validationService.getProtocole(Protocole.ESTHETISME);
List<PropositionDetermination> observationValidationsEsthetisme = validationService.getValidationDataByImageAndProtocol(idImageCourante, Protocole.ESTHETISME);
new MoyenneVoteProtocolePresenteur(protocoleEsthetisme, observationValidationsEsthetisme).go(vue.getPanneauVotes());
 
Protocole protocoleIdentification = validationService.getProtocole(Protocole.IDENTIFICATION_AUTOMATIQUE);
List<PropositionDetermination> observationValidationsIdentification = validationService.getValidationDataByImageAndProtocol(idImageCourante, Protocole.IDENTIFICATION_AUTOMATIQUE);
new MoyenneVoteProtocolePresenteur(protocoleIdentification, observationValidationsIdentification).go(vue.getPanneauVotes());
}
}
/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;
}
 
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/barreRepartitionVue.css
--- vote/barrerepartition/BarreRepartitionVoteVue.ui.xml (revision 0)
+++ vote/barrerepartition/BarreRepartitionVoteVue.ui.xml (revision 140)
@@ -0,0 +1,6 @@
+<!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:HTML ui:field="barreRepartitionHtmlBrut" />
+</ui:UiBinder>
\ No newline at end of file
/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVotePresenteur.java
New file
0,0 → 1,32
package org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition;
 
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.modeles.Protocole;
import org.tela_botanica.del.client.utils.MockDatasource;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesVue;
import org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne.MoyenneVoteProtocolePresenteur;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
public class BarreRepartitionVotePresenteur {
private BarreRepartitionVoteVue vue = new BarreRepartitionVoteVue();
 
private MockDatasource validationService = MockDatasource.getInstance();
 
public void go(HasWidgets container) {
container.add(vue);
afficherVotes();
}
 
private void afficherVotes() {
vue.afficherVotes(70);
}
public BarreRepartitionVoteVue getBarreRepartitionVoteVue() {
return vue;
}
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVoteVue.java
New file
0,0 → 1,36
package org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition;
 
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesVue;
 
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.Widget;
 
public class BarreRepartitionVoteVue extends Composite {
interface MyUiBinder extends UiBinder<Widget, BarreRepartitionVoteVue> {}
 
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
private int pourcentage = 0;
@UiField(provided = true)
public HTML barreRepartitionHtmlBrut = new HTML("<div class=\"barreRepartition\"></div>");
public BarreRepartitionVoteVue() {
afficherVotes(70);
initWidget(uiBinder.createAndBindUi(this));
}
public void afficherVotes(int pourcentage) {
this.pourcentage = pourcentage;
String chaineHtml = "<div class=\"barreRepartition\">"+
"<div style=\"width:"+pourcentage+"%\" class=\"elementBarreRepartition voteOui\"></div>"+
"</div>";
barreRepartitionHtmlBrut = new HTML(chaineHtml);
}
 
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java
New file
0,0 → 1,31
package org.tela_botanica.del.client.vues.plateformedetermination;
 
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();
 
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());
new BarreRepartitionVotePresenteur().go(determinationVue.getBarreRepartition());
 
composite.add(determinationVue);
}
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.java
New file
0,0 → 1,48
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.HasWidgets;
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;
}
}
/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>
/src/org/tela_botanica/del/client/vues/plateformedetermination/detail/DetailImageObservationPresenteur.java
New file
0,0 → 1,26
package org.tela_botanica.del.client.vues.plateformedetermination.detail;
 
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.utils.MockDatasource;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Widget;
 
public class DetailImageObservationPresenteur {
private final MockDatasource validationService = MockDatasource.getInstance();
private DetailImageObservationVue detailImageObservationVue = new DetailImageObservationVue();
public void go(HasWidgets composite) {
detailImageObservationVue.chargerInformationsObservation(CacheClient.getInstance().getCurrentObservation());
composite.add(detailImageObservationVue);
}
}
/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 org.tela_botanica.del.client.modeles.Observation;
 
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(Observation o) {
imageObservation.setUrl(o.getUrl());
nomObservateur.setText(o.getAuteur());
nomRetenu.setText(o.getNomRetenu());
famille.setText(o.getFamille());
localite.setText(o.getLocalite());
dateObservation.setText(o.getDate());
}
}
/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 {}