Rev 1667 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.metadonnees;
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.config.Config;
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.Window;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.Hyperlink;
import com.google.gwt.user.client.ui.InlineLabel;
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 MetadonneesVue extends Composite implements MetadonneesPresenteur.Vue {
// Gestion d'UiBinder
interface Binder extends UiBinder<Widget, MetadonneesVue> {
}
private static Binder binder = GWT.create(Binder.class);
@UiField
Label nomRetenu, famille, auteur, localite, motsClefs, numNomenclatural, nomCommun, commentaire, milieu, station, referentiel;
@UiField
Anchor courrielAuteur;
@UiField
HTML lieuDit;
@UiField
Panel zoneStation;
@UiField
InlineLabel dateReleve, dateTransmission;
@UiField
Anchor lienIdentiplante;
public MetadonneesVue() {
initWidget(binder.createAndBindUi(this));
// Le lien ne doit ĂȘtre affichĂ© que sur pictoflora
String urlCourante = Window.Location.getHref();
Config config = new Config();
String urlAppliImg = config.getUrl("pictoflora");
if (!urlCourante.contains(urlAppliImg)) {
lienIdentiplante.setVisible(false);
}
}
public HasText getNomRetenu() {
return this.nomRetenu;
}
public HasText getFamille() {
return this.famille;
}
public HasText getAuteur() {
return this.auteur;
}
public HasText getCourrielAuteur() {
return this.courrielAuteur;
}
public void setCourrielAuteurHref(String courriel) {
this.courrielAuteur.setHref("mailto:"+courriel);
}
public HasText getDateTransmission() {
return this.dateTransmission;
}
public HasText getDateReleve() {
return this.dateReleve;
}
public HasText getLocalite() {
return this.localite;
}
public HasText getMotsClefs() {
return this.motsClefs;
}
public HasText getNumNomenclatural() {
return this.numNomenclatural;
}
public HasText getNomCommun() {
return nomCommun;
}
public HasText getLieuDit() {
return lieuDit;
}
public HasText getMilieu() {
return milieu;
}
public HasText getCommentaire() {
return commentaire;
}
@Override
public HasClickHandlers getLienNomRetenu() {
return nomRetenu;
}
public HasClickHandlers getLienFamille() {
return this.famille;
}
public HasClickHandlers getLienAuteur() {
return this.auteur;
}
public HasClickHandlers getLienCourrielAuteur() {
return this.courrielAuteur;
}
public HasClickHandlers getLienDateTransmission() {
return this.dateTransmission;
}
public HasClickHandlers getLienDateReleve() {
return this.dateReleve;
}
public HasClickHandlers getLienLocalite() {
return this.localite;
}
public HasClickHandlers getLienMotsClefs() {
return this.motsClefs;
}
public HasClickHandlers getLienNumNomenclatural() {
return this.numNomenclatural;
}
public HasClickHandlers getLienNomCommun() {
return nomCommun;
}
public HasClickHandlers getLienMilieu() {
return milieu;
}
public HasClickHandlers getLienCommentaire() {
return commentaire;
}
@Override
public void masquerChampsVides() {
HasText[] champs = {nomRetenu, nomCommun, famille, localite, auteur, motsClefs, commentaire, milieu, lieuDit, dateReleve, dateTransmission};
for (int i = 0; i < champs.length; i ++) {
HasText champ = champs[i];
if ("".equals(champ.getText())) {
Widget widget = (Widget) champ;
widget.getParent().setVisible(false);
}
}
}
@Override
public void setStation(String station) {
if (station.equals("")) {
this.zoneStation.setVisible(false);
} else {
this.station.setText(station);
}
}
public void activerLiens() {
dateReleve.addStyleName("labelLien");
nomRetenu.addStyleName("labelLien");
famille.addStyleName("labelLien");
auteur.addStyleName("labelLien");
localite.addStyleName("labelLien");
motsClefs.addStyleName("labelLien");
nomCommun.addStyleName("labelLien");
commentaire.addStyleName("labelLien");
milieu.addStyleName("labelLien");
}
@Override
public void activerLienAuteur() {
auteur.addStyleName("labelLien");
}
@Override
public void desactiverLienAuteur() {
auteur.removeStyleName("labelLien");
}
public void setLienIdentiplante(String id) {
lienIdentiplante.setHref(CacheClient.getInstance().getUrlPageSignalerMauvaiseId(id));
lienIdentiplante.setTarget("_blank");
}
@Override
public HasText getReferentiel() {
return referentiel;
}
@Override
public void activerLienNomRetenu() {
// TODO Auto-generated method stub
}
public void afficherCourrielAuteur() {
courrielAuteur.setVisible(true);
}
public void cacherCourrielAuteur() {
courrielAuteur.setVisible(false);
}
}