/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/determinationVue.css |
---|
New file |
0,0 → 1,120 |
.pageDetermination { |
} |
.metadonnees { |
margin-bottom:10px; |
margin-top:10px; |
display:inline-block; |
} |
.limiteZoneMenu { |
max-width:840px; |
margin-bottom:10px; |
} |
.limiteZoneMetadonnees { |
width:840px; |
} |
.zoneVote { |
margin-left: 5px; |
height: 100%; |
display:inline-block; |
vertical-align:top; |
border-left: solid 1px #DDD; |
border-right: solid 1px #DDD; |
padding-left: 10px; |
padding-right:10px; |
text-align:left; |
} |
.taxonPlusProbable { |
float: left; |
} |
.zoneBarreRepartition { |
border: solid 1px #DDD; |
padding: 15px; |
} |
.zoneDetailImage { |
height: 100%; |
width: 255px; |
display:inline-block; |
vertical-align:top; |
text-align:left; |
clear: left; |
} |
.zoneImage { |
margin-bottom: 10px; |
margin-right: 15px |
} |
.zoneImage div { |
clear: left; |
padding-top: 5px; |
} |
.zoneImage div img { |
float: left; |
padding: 0 5px 5px 0; |
} |
.boutonProposer { |
float: left; |
padding: 5px; |
cursor: pointer; |
background:#8EB533; |
border:none; |
margin-right:10px; |
margin-top:10px; |
} |
.boutonValiderTaxon { |
margin-top: -7px; |
} |
.zoneOutils { |
width: 15%; |
padding-left:10px; |
display:inline-block; |
vertical-align:top; |
text-align:left; |
} |
.boutons { |
margin-bottom:15px; |
} |
.lienProposerObservation { |
margin-left:65px; |
margin-top:10px; |
margin-bottom:10px; |
} |
.nomTaxonProbable { |
padding-left:3px; |
} |
.taxonProbable { |
background: none repeat scroll 0 0 #F8F8C3; |
clear: left; |
font-size: 15px; |
margin-bottom: 5px; |
padding: 13px 9px; |
} |
.voteProtocole div { |
margin-bottom:10px; |
} |
.voteProtocole div div { |
margin-bottom:0px; |
border:solid 0px red |
} |
.autreOutils { |
margin-top:15px; |
} |
.zonerss { |
margin-top:5px; |
} |
.lienProposerImage { |
margin-top:20px; |
margin-left:70px; |
margin-bottom:10px; |
} |
.lienAide { |
margin-right:70px; |
padding:4px 15px; |
margin-top:10px; |
float:right; |
color:white; |
} |
.btnDepublierObs { |
background:url("./img/16x16/depublier.png") 5px 5px no-repeat; |
padding: 5px 5px 5px 23px; |
} |
.btnDepublierObs:hover { |
background:#8EB533 url("./img/16x16/depublier_actif.png") 5px 5px no-repeat; |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/IdentiplanteDeterminationVue.ui.xml |
---|
New file |
0,0 → 1,53 |
<!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.composants.forum"> |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary"/> |
<ui:style src="determinationVue.css" /> |
<g:HTMLPanel styleName="{style.pageDetermination}"> |
<g:HTMLPanel styleName="limiteMax"> |
<g:HTMLPanel styleName="{style.limiteZoneMenu}"> |
<g:Hyperlink ui:field="lienRetour" styleName="lienRetour">Retour</g:Hyperlink> |
<g:HTMLPanel ui:field="zoneActionsObs"> |
<g:Button ui:field="btnDepublierObs" text="{constants.depublierObs}" styleName="droite bouton {style.btnDepublierObs}" /> |
</g:HTMLPanel> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="{style.limiteZoneMetadonnees}"> |
<g:HTMLPanel ui:field="metadonnees" styleName="{style.metadonnees}" /> |
</g:HTMLPanel> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="contenuCentre"> |
<g:HTMLPanel styleName="{style.zoneDetailImage}"> |
<g:VerticalPanel ui:field="detailImageObservation" styleName="{style.zoneImage}" /> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="{style.zoneVote}"> |
<g:Label styleName="titre" text="{constants.titreDetermination}" /> |
<g:HTMLPanel styleName="nettoyage {style.boutons}"> |
<g:Button text="{constants.proposerSaDetermination}" ui:field="boutonAjoutProposition" styleName="bouton" /> |
<g:Button text="{constants.ajouterCommentaire}" ui:field="boutonAjoutCommentaire" styleName="bouton" /> |
<g:HTMLPanel ui:field="zoneRss" styleName="droite {style.zonerss}"></g:HTMLPanel> |
</g:HTMLPanel> |
<g:VerticalPanel ui:field="forum" /> |
<g:HTMLPanel styleName="nettoyage {style.boutons}"> |
<g:Button text="{constants.proposerSaDetermination}" ui:field="boutonAjoutPropositionBas" styleName="bouton" /> |
<g:Button text="{constants.ajouterCommentaire}" ui:field="boutonAjoutCommentaireBas" styleName="bouton" /> |
</g:HTMLPanel> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="{style.zoneOutils}"> |
<g:Label text="Pour vous aider : " styleName="titre3"></g:Label> |
<g:VerticalPanel ui:field="formulaireRechercheEflore"/> |
<g:Label styleName="{style.autreOutils} sousTitre">Vérifier sa détermination</g:Label> |
<g:Label styleName="lienListe labelLien" ui:field="lienEflore">eFlore</g:Label> |
<g:Label styleName="{style.autreOutils} sousTitre">Autres outils en ligne</g:Label> |
<g:Label styleName="lienListe labelLien" ui:field="lienOuvrages">Flores numérisées</g:Label> |
<g:Label styleName="lienListe labelLien" ui:field="lienBonnier">Flore Bonnier interactive</g:Label> |
<g:Label styleName="lienListe labelLien" ui:field="lienCles">Clés de détermination</g:Label> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/IdentiplanteDeterminationPresenteur.java |
---|
New file |
0,0 → 1,325 |
package org.tela_botanica.del.client.vues.identiplante.plateformedetermination; |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulairecommentaire.FormulaireCommentairePresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulairecommentaire.FormulaireCommentaireVue; |
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionPresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionVue; |
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesEnLigneVue; |
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesPresenteur; |
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.rss.RssPresenteur; |
import org.tela_botanica.del.client.composants.rss.RssVue; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.i18n.I18n; |
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.Observation; |
import org.tela_botanica.del.client.modeles.ObservationServiceResultat; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.modeles.VoteDetermination; |
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.navigation.evenement.changementEtatUtilisateur.EvenementChangementEtatUtilisateur; |
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur; |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.EvenementChangementImageValidation; |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.GestionnaireEvenementChangementImageValidation; |
import org.tela_botanica.del.client.navigation.evenement.depublierObs.EvenementDepublierObs; |
import org.tela_botanica.del.client.navigation.evenement.depublierObs.GestionnaireEvenementDepublierObs; |
import org.tela_botanica.del.client.navigation.evenement.validationPropositionDetermination.EvenementValidationPropositionDetermination; |
import org.tela_botanica.del.client.navigation.evenement.validationPropositionDetermination.GestionnaireEvenementValidationPropositionDetermination; |
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.EvenementVoteDetermination; |
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.GestionnaireEvenementVoteDetermination; |
import org.tela_botanica.del.client.services.CalculVoteDeterminationService; |
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret; |
import org.tela_botanica.del.client.services.rest.ObservationService; |
import org.tela_botanica.del.client.services.rest.PropositionDeterminationServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.DepublicationObservationCallBack; |
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback; |
import org.tela_botanica.del.client.services.rest.async.ValidationPropositionCallback; |
import org.tela_botanica.del.client.utils.ModerationUtils; |
import org.tela_botanica.del.client.utils.URLUtils; |
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation; |
import org.tela_botanica.del.client.composants.formulairerechercheeflore.FormulaireRechercheEflorePresenteur; |
import org.tela_botanica.del.client.composants.forum.ForumPresenteur; |
import org.tela_botanica.del.client.composants.forum.ForumVue; |
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Panel; |
public class IdentiplanteDeterminationPresenteur extends Presenteur { |
/** |
* Vue de l'interface de détermination |
* */ |
public interface Vue extends IsWidget { |
public HasWidgets getForum(); |
public HasWidgets getDetailImageObservation(); |
public HasWidgets getFormulaireRechercheEflore(); |
public HasClickHandlers getBoutonAjoutProposition(); |
public HasClickHandlers getBoutonAjoutCommentaire(); |
public HasClickHandlers getBoutonAjoutPropositionBas(); |
public HasClickHandlers getBoutonAjoutCommentaireBas(); |
public HasClickHandlers getBoutonDepublierObs(); |
public HasWidgets getMetadonnees(); |
public HasClickHandlers getLienOuvrages(); |
public HasClickHandlers getLienBonnier(); |
public HasClickHandlers getLienCles(); |
public HasClickHandlers getLienEflore(); |
public HasWidgets getZoneRss(); |
public void viderMetadonnees(); |
public void viderForum(); |
void afficherZoneActionsObs(); |
void cacherZoneActionsObs(); |
} |
private Observation observation; |
private Vue vue; |
private FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur; |
// Déclaration des services à utiliser |
private ObservationService observationService; |
private CacheClient cache = CacheClient.getInstance(); |
public IdentiplanteDeterminationPresenteur(Vue vue, ObservationService observationService) { |
this.vue = vue; |
this.observationService = observationService; |
} |
public void go(final HasWidgets composite) { |
// TODO afficher une icone de chargement si le chargement devient trop |
// long car tout l'écran est asynchrone ici |
String observationId = URLUtils.getURLSpecialParameterValue(); |
observationService.getObservation(observationId, new ObservationsCallback() { |
@Override |
public void surRetour(ObservationServiceResultat objetRetour) { |
observation = cache.getObservationCourante(); |
afficherRss(cache.getObservationCourante()); |
// trouve l'image courante si elle n'est pas deja en cache |
List<Image> listeImages = cache.getObservationCourante().getImages(); |
if (listeImages.size() > 0) { |
CacheClient.getInstance().setImageCourante(listeImages.get(0)); |
} else { |
CacheClient.getInstance().setImageCourante(null); |
} |
new MetadonneesPresenteur(new MetadonneesEnLigneVue(), cache.getObservationCourante(), ModeRecherche.MODE_OBSERVATION, false).go(vue.getMetadonnees()); |
new ObservationImagesPresenteur(new ObservationImagesVue(), cache.getObservationCourante(), CacheClient.getInstance().getImageCourante()).go(vue.getDetailImageObservation()); |
new ForumPresenteur(new ForumVue()).go(vue.getForum()); |
new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore()); |
composite.add(vue.asWidget()); |
} |
@Override |
public void surErreur(String messageErreur) { |
Window.alert(messageErreur + " - l'identifiant d'observation est incorrect; l'observation a peut-être été supprimée"); |
} |
}); |
afficherZoneActionsObs(); |
gererEvenements(); |
} |
public void afficherRss(Observation observation) { |
new RssPresenteur(new RssVue(), observation, "Suivre cette observation").go(vue.getZoneRss()); |
} |
public void gererEvenements() { |
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() { |
@Override |
public void onAjoutDetermination(EvenementAjoutDetermination event) { |
if (fenetreOverlaySimplePresenteur != null && fenetreOverlaySimplePresenteur.fenetreModaleEstOuverte()) { |
fenetreOverlaySimplePresenteur.fermerFenetreModale(); |
} |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementAjoutCommentaire.TYPE, new GestionnaireEvenementAjoutCommentaire() { |
@Override |
public void onAjoutCommentaire(EvenementAjoutCommentaire event) { |
if (fenetreOverlaySimplePresenteur != null && fenetreOverlaySimplePresenteur.fenetreModaleEstOuverte()) { |
fenetreOverlaySimplePresenteur.fermerFenetreModale(); |
} |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementChangementImageValidation.TYPE, new GestionnaireEvenementChangementImageValidation() { |
@Override |
public void onChangementImage(EvenementChangementImageValidation event) { |
vue.getDetailImageObservation().clear(); |
new ObservationImagesPresenteur( |
new ObservationImagesVue(), |
cache.getObservationCourante(), |
CacheClient.getInstance().getImageCourante()).go(vue.getDetailImageObservation()); |
} |
}); |
ClickHandler clicAjoutProposition = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue(), new PropositionDeterminationServiceConcret())); |
} |
}; |
vue.getBoutonAjoutProposition().addClickHandler(clicAjoutProposition); |
vue.getBoutonAjoutPropositionBas().addClickHandler(clicAjoutProposition); |
ClickHandler clicAjoutCommentaire = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(cache.getObservationCourante(), new CommentaireServiceConcret(), new FormulaireCommentaireVue()); |
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(commentairePresenteur); |
} |
}; |
vue.getBoutonAjoutCommentaire().addClickHandler(clicAjoutCommentaire); |
vue.getBoutonAjoutCommentaireBas().addClickHandler(clicAjoutCommentaire); |
vue.getLienOuvrages().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
Window.open(config.getUrl("ouvragesFlore"), "Flores numérisées", config.getInfo("popupOptions")); |
} |
}); |
vue.getLienBonnier().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
Window.open(config.getUrl("bonnierPda"), "Flore Bonnier PDA", config.getInfo("popupOptions")); |
} |
}); |
vue.getLienCles().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
Window.open(config.getUrl("clesDetermination"), "Clés de determination", config.getInfo("popupOptions")); |
} |
}); |
vue.getLienEflore().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
Window.open(config.getUrl("eflore"), "eFlore", config.getInfo("popupOptions")); |
} |
}); |
vue.getBoutonDepublierObs().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
GWT.log("Lancer evnt : EvenementDepublierObs"); |
if (Window.confirm(I18n.getVocabulary().confirmationDepublicationObs())) { |
BusEvenementiel.getInstance().fireEvent(new EvenementDepublierObs(observation.getId())); |
} |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementDepublierObs.TYPE, new GestionnaireEvenementDepublierObs() { |
@Override |
public void onDepublicationObs(EvenementDepublierObs event) { |
GWT.log("Attraper evnt : EvenementDepublierObs (obs:"+event.getIdObs()+")"); |
if (event.getIdObs().equals(observation.getId())) { |
depublierObs(); |
} |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() { |
@Override |
public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) { |
afficherZoneActionsObs(); |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementValidationPropositionDetermination.TYPE, new GestionnaireEvenementValidationPropositionDetermination() { |
@Override |
public void onValidationPropositionDetermination(EvenementValidationPropositionDetermination event) { |
String observationId = URLUtils.getURLSpecialParameterValue(); |
observationService.getObservation(observationId, new ObservationsCallback() { |
@Override |
public void surRetour(ObservationServiceResultat objetRetour) { |
vue.viderMetadonnees(); |
new MetadonneesPresenteur(new MetadonneesEnLigneVue(), cache.getObservationCourante(), ModeRecherche.MODE_OBSERVATION, false).go(vue.getMetadonnees()); |
rechargerForum(); |
} |
@Override |
public void surErreur(String messageErreur) { |
Window.alert(messageErreur); |
} |
}); |
} |
}); |
} |
private void rechargerForum() { |
vue.viderForum(); |
new ForumPresenteur(new ForumVue()).go(vue.getForum()); |
} |
private void depublierObs() { |
if (ModerationUtils.utilisateurPeutDepublierObs(CacheClient.getInstance().getUtilisateur())) { |
GWT.log("depublierObs :"+observation.getId()); |
observationService.depublier(observation, new DepublicationObservationCallBack() { |
@Override |
public void surRetour(String depublicationOk) { |
GWT.log("Dépublication obs "+observation.getId()+" "+depublicationOk); |
if (depublicationOk.equals("OK")) { |
BusEvenementiel.getInstance().fireEvent(new EvenementRechercheObservation()); |
} |
} |
}); |
} |
} |
private void afficherZoneActionsObs() { |
if (ModerationUtils.utilisateurPeutDepublierObs(CacheClient.getInstance().getUtilisateur())) { |
vue.afficherZoneActionsObs(); |
} else { |
vue.cacherZoneActionsObs(); |
} |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/detail/DetailImageObservationPresenteur.java |
---|
New file |
0,0 → 1,24 |
package org.tela_botanica.del.client.vues.identiplante.plateformedetermination.detail; |
import org.tela_botanica.del.client.cache.CacheClient; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class DetailImageObservationPresenteur { |
public interface Vue extends IsWidget { |
public void chargerInformationsObservation(org.tela_botanica.del.client.modeles.Image image); |
} |
private Vue vue; |
public DetailImageObservationPresenteur(Vue vue) { |
this.vue = vue; |
} |
public void go(HasWidgets composite) { |
vue.chargerInformationsObservation(CacheClient.getInstance().getImageCourante()); |
composite.add(vue.asWidget()); |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/detail/DetailImageObservationVue.java |
---|
New file |
0,0 → 1,38 |
package org.tela_botanica.del.client.vues.identiplante.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 implements DetailImageObservationPresenteur.Vue { |
@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().getNomRetenuFormateReferentiel()); |
famille.setText(image.getObservation().getFamille()); |
localite.setText(image.getObservation().getLocalite()); |
dateObservation.setText(image.getObservation().getDateReleve()); |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/detail/detailObservation.css |
---|
New file |
0,0 → 1,27 |
.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 { |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/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> |
<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> - </g:HTML><g:Label ui:field="localite" /><g:HTML> - </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> |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/IdentiplanteDeterminationVue.java |
---|
New file |
0,0 → 1,126 |
package org.tela_botanica.del.client.vues.identiplante.plateformedetermination; |
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
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.HasWidgets; |
import com.google.gwt.user.client.ui.Hyperlink; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
public class IdentiplanteDeterminationVue extends Composite implements IdentiplanteDeterminationPresenteur.Vue { |
@UiField |
Panel forum, detailImageObservation, formulaireRechercheEflore, zoneRss, zoneActionsObs; |
@UiField |
Label lienOuvrages, lienEflore, lienBonnier, lienCles; |
@UiField |
Hyperlink lienRetour; |
@UiField |
Button btnDepublierObs, boutonAjoutProposition, boutonAjoutPropositionBas, boutonAjoutCommentaire, boutonAjoutCommentaireBas; |
@UiField |
Panel metadonnees; |
interface DeterminationUIiBinder extends UiBinder<Widget, IdentiplanteDeterminationVue> { |
}; |
private static DeterminationUIiBinder uiBinder = GWT.create(DeterminationUIiBinder.class); |
public IdentiplanteDeterminationVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
lienRetour.setTargetHistoryToken(ConstantesNavigation.HOME); |
} |
public Panel getForum() { |
return forum; |
} |
public Panel getDetailImageObservation() { |
return detailImageObservation; |
} |
public Panel getFormulaireRechercheEflore() { |
return formulaireRechercheEflore; |
} |
public Button getBoutonAjoutProposition() { |
return boutonAjoutProposition; |
} |
public Button getBoutonAjoutPropositionBas() { |
return boutonAjoutPropositionBas; |
} |
@Override |
public HasClickHandlers getBoutonDepublierObs() { |
return btnDepublierObs; |
} |
public Panel getMetadonnees() { |
return metadonnees; |
} |
public Button getBoutonAjoutCommentaire() { |
return boutonAjoutCommentaire; |
} |
public Button getBoutonAjoutCommentaireBas() { |
return boutonAjoutCommentaireBas; |
} |
@Override |
public HasClickHandlers getLienOuvrages() { |
return lienOuvrages; |
} |
@Override |
public HasClickHandlers getLienBonnier() { |
return lienBonnier; |
} |
@Override |
public HasClickHandlers getLienCles() { |
return lienCles; |
} |
@Override |
public HasClickHandlers getLienEflore() { |
return lienEflore; |
} |
@Override |
public HasWidgets getZoneRss() { |
return zoneRss; |
} |
@Override |
public void viderMetadonnees() { |
metadonnees.clear(); |
} |
@Override |
public void cacherZoneActionsObs() { |
zoneActionsObs.setVisible(false); |
} |
@Override |
public void afficherZoneActionsObs() { |
zoneActionsObs.setVisible(true); |
} |
@Override |
public void viderForum() { |
forum.clear(); |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/ligneProtocole/ligneProtocole.css |
---|
New file |
0,0 → 1,7 |
.nomProtocole { |
font-size: 11px; |
overflow: hidden; |
text-overflow: ellipsis; |
width: 87px; |
margin-bottom:15px; |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/ligneProtocole/LigneProtocoleVue.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' |
xmlns:forum="urn:import:org.tela_botanica.del.client.composants.forum"> |
<ui:style src="ligneProtocole.css" /> |
<g:HorizontalPanel styleName="vote"> |
<g:HTMLPanel ui:field="zoneVote" /> |
</g:HorizontalPanel> |
</ui:UiBinder> |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/ligneProtocole/LigneProtocolePresenteur.java |
---|
New file |
0,0 → 1,59 |
package org.tela_botanica.del.client.vues.identiplante.plateformedetermination.ligneProtocole; |
import org.tela_botanica.del.client.cache.CacheClient; |
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.Protocole; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.EvenementChangementImageValidation; |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.GestionnaireEvenementChangementImageValidation; |
import org.tela_botanica.del.client.services.rest.VoteProtocoleServiceConcret; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class LigneProtocolePresenteur extends Presenteur { |
public interface Vue extends IsWidget { |
HasWidgets getZoneVote(); |
} |
private Vue vue; |
private Protocole protocole; |
public LigneProtocolePresenteur(Protocole protocole, Vue vue) { |
this.vue = vue; |
this.protocole = protocole; |
chargerValeursProtocolePourImageCourante(); |
} |
public void chargerValeursProtocolePourImageCourante(){ |
vue.getZoneVote().clear(); |
Image imageCourante = CacheClient.getInstance().getImageCourante(); |
MoyenneVotePresenteur votePresenteur = new MoyenneVotePresenteur(imageCourante, protocole, new MoyenneVoteVue(), new VoteProtocoleServiceConcret()); |
votePresenteur.go(vue.getZoneVote()); |
} |
public Vue getVue() { |
return vue; |
} |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
@Override |
protected void gererEvenements() { |
BusEvenementiel.getInstance().addHandler(EvenementChangementImageValidation.TYPE, new GestionnaireEvenementChangementImageValidation() { |
@Override |
public void onChangementImage(EvenementChangementImageValidation event) { |
chargerValeursProtocolePourImageCourante(); |
} |
}); |
} |
} |
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/ligneProtocole/LigneProtocoleVue.java |
---|
New file |
0,0 → 1,30 |
package org.tela_botanica.del.client.vues.identiplante.plateformedetermination.ligneProtocole; |
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.Label; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
public class LigneProtocoleVue extends Composite implements LigneProtocolePresenteur.Vue { |
@UiField |
Panel zoneVote; |
interface LigneProtocoleUIiBinder extends UiBinder<Widget, LigneProtocoleVue> { |
}; |
private static LigneProtocoleUIiBinder uiBinder = GWT.create(LigneProtocoleUIiBinder.class); |
public LigneProtocoleVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public HasWidgets getZoneVote() { |
return this.zoneVote; |
} |
} |