Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1596 → Rev 1597

/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java
24,6 → 24,8
import org.tela_botanica.client.util.AutoCompletionRefComboBox;
import org.tela_botanica.client.util.Util;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
262,6 → 264,14
private ComboBox selecteurStadePheno = null;
private HTML lienAfficherChampsEtendus = null;
FormPanel conteneurChampEtenduGauche = null;
FormPanel conteneurChampEtenduDroite = null;
private boolean afficherChampsEtendus = false;
private boolean premierAffichage = true;
private Map<String, TextField> listeChampsEtendus;
/**
619,6 → 629,43
}
});
lienAfficherChampsEtendus = new HTML("Afficher les champs étendus");
lienAfficherChampsEtendus.setStyleName("img-curseur-depl");
lienAfficherChampsEtendus.setStyleName("lienAfficherChampsEtendus");
lienAfficherChampsEtendus.setVisible(false);
 
lienAfficherChampsEtendus.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if(afficherChampsEtendus) {
afficherChampsEtendus = false;
if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) {
conteneurChampEtenduGauche.hide();
conteneurChampEtenduDroite.hide();
}
lienAfficherChampsEtendus.setText("Afficher les champs étendus");
} else {
afficherChampsEtendus = true;
if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) {
conteneurChampEtenduGauche.show();
conteneurChampEtenduDroite.show();
}
lienAfficherChampsEtendus.setText("Cacher les champs étendus");
}
}
});
panneauPremierColonne.add(lienAfficherChampsEtendus);
panneauPremierColonne.addListener(new PanelListenerAdapter() {
@Override
public void onAfterLayout(Container c) {
if(premierAffichage) {
lienAfficherChampsEtendus.setVisible(false);
premierAffichage = false;
}
}
});
// on ajoute les listeners
ajouterListeners() ;
saisieTabindex();
1679,6 → 1726,12
TextField champEtendu = listeChampsEtendus.get(it.next());
champEtendu.destroy();
}
if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) {
conteneurChampEtenduGauche.clear();
conteneurChampEtenduDroite.clear();
panneauPremierColonne.remove(conteneurChampEtenduGauche);
panneauSecondeColonne.remove(conteneurChampEtenduDroite);
}
listeChampsEtendus = null;
}
}
1685,29 → 1738,53
private void afficherChampsEtendus(Observation obs) {
viderChampsEtendus();
conteneurChampEtenduGauche = new FormPanel();
conteneurChampEtenduDroite = new FormPanel();
if(obs.getChampsEtendus().size() > 0) {
listeChampsEtendus = new HashMap<String, TextField>(obs.getChampsEtendus().size());
boolean gauche = true;
for (Iterator<String> iterator = obs.getChampsEtendus().keySet().iterator(); iterator.hasNext();) {
String id = iterator.next();
ChampEtendu champ = obs.getChampsEtendus().get(id);
String valeur = champ.getValeur();
String label = champ.getLabel();
TextField champTexteEtendu = new TextField();
champTexteEtendu.setAutoWidth(true);
champTexteEtendu.setLabel(formaterLabel(label));
champTexteEtendu.setTitle(label);
champTexteEtendu.setId(id);
champTexteEtendu.setValue(valeur);
if(gauche) {
panneauPremierColonne.add(champTexteEtendu);
} else {
panneauSecondeColonne.add(champTexteEtendu);
lienAfficherChampsEtendus.setVisible(true);
conteneurChampEtenduGauche.setAutoWidth(true);
conteneurChampEtenduGauche.setStyle("conteneurChampsEtendus");
conteneurChampEtenduGauche.setLabelWidth(150);
conteneurChampEtenduGauche.setBodyBorder(false);
conteneurChampEtenduDroite.setAutoWidth(true);
conteneurChampEtenduDroite.setStyle("conteneurChampsEtendus");
conteneurChampEtenduDroite.setLabelWidth(150);
conteneurChampEtenduDroite.setBodyBorder(false);
listeChampsEtendus = new HashMap<String, TextField>(obs.getChampsEtendus().size());
boolean gauche = true;
for (Iterator<String> iterator = obs.getChampsEtendus().keySet().iterator(); iterator.hasNext();) {
String id = iterator.next();
ChampEtendu champ = obs.getChampsEtendus().get(id);
String valeur = champ.getValeur();
String label = champ.getLabel();
TextField champTexteEtendu = new TextField();
champTexteEtendu.setWidth("90%");
champTexteEtendu.setLabel(label);
champTexteEtendu.setTitle(label);
champTexteEtendu.setId(id);
champTexteEtendu.setValue(valeur);
if(gauche) {
conteneurChampEtenduGauche.add(champTexteEtendu);
} else {
conteneurChampEtenduDroite.add(champTexteEtendu);
}
listeChampsEtendus.put(id, champTexteEtendu);
gauche = !gauche;
}
listeChampsEtendus.put(id, champTexteEtendu);
gauche = !gauche;
panneauPremierColonne.add(conteneurChampEtenduGauche);
panneauSecondeColonne.add(conteneurChampEtenduDroite);
// pour corriger le décalage sur le panneau induit par le lien d'affichage
conteneurChampEtenduDroite.setPaddings(25, 0, 0, 0);
if(!afficherChampsEtendus) {
conteneurChampEtenduGauche.setVisible(false);
conteneurChampEtenduDroite.setVisible(false);
}
} else {
lienAfficherChampsEtendus.setVisible(false);
}
doLayout();
}
1727,14 → 1804,6
return valeursChampsEtendus;
}
private String formaterLabel(String label) {
String labelFmt = label;
if(label.length() > 15) {
labelFmt = label.substring(0, 14);
}
return labelFmt;
}
public void raz()
{
raz(Champs.TOUT);