Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2733 → Rev 2734

/trunk/src/org/tela_botanica/client/util/Util.java
480,8 → 480,9
String numeroNom = ((JSONString) noms.get(1)).stringValue();
String statut= ((JSONString) noms.get(2)).stringValue();
ReferentielNom nomScientifique = new ReferentielNom(nom, numeroNom, statut);
// FIXME : et si le numero de nom n'est pas unique ? (cas de multirefrentiel....)
referentielNomData.put(nomScientifique.getNom(),nomScientifique);
// clef améliorée : permet de désambiguiser les noms identiques
// (ex: Scilla bifolia)
referentielNomData.put(numeroNom + "|" + nom, nomScientifique);
}
}
} else {
/trunk/src/org/tela_botanica/client/util/autocompletion/AutoCompletionComboBox.java
5,16 → 5,12
import java.util.List;
import java.util.Map;
 
import org.tela_botanica.client.cel2;
import org.tela_botanica.client.modeles.objets.Utilisateur;
import org.tela_botanica.client.util.Util;
 
import com.google.gwt.core.client.Callback;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyDownEvent;
import com.google.gwt.event.dom.client.KeyDownHandler;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyPressHandler;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.event.logical.shared.SelectionHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
28,21 → 24,15
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
import com.google.gwt.user.client.ui.SuggestBox;
import com.google.gwt.user.client.ui.SuggestBox.DefaultSuggestionDisplay;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.SuggestBox.SuggestionDisplay;
import com.google.gwt.user.client.ui.SuggestOracle;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Container;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.PanelListener;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.layout.FitLayout;
 
81,8 → 71,8
Iterator<String> it = possibilites.keySet().iterator();
while (it.hasNext()) {
String cle = it.next();
String cleAffichee = preTraiterValeurAvantAffichage(possibilites.get(cle));
MultiWordSuggestion muWoSug = new MultiWordSuggestion(possibilites.get(cle), cleAffichee);
String cleAffichee = preTraiterValeurAvantAffichage(cle);
MultiWordSuggestion muWoSug = new MultiWordSuggestion(cle, cleAffichee);
retenus.add(muWoSug);
}
 
132,9 → 122,11
if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
if((sgd == null || !sgd.isSuggestionListShowing())) {
onValidationSaisie();
Util.LogVersFirebug("je passe ici");
event.stopPropagation();
return;
} else {
Util.LogVersFirebug("je passe là");
// Dans les autres cas, un appui sur entrée ne doit pas redéclencher l'autcomplétion
return;
}
163,7 → 155,7
}
};
suggestions.addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>(){
suggestions.addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>(){
@Override
public void onSelection(SelectionEvent<Suggestion> event) {
onSelectionValeur();
289,12 → 281,20
return suggestions.getText();
}
public void setText(String texte) {
suggestions.setText(texte);
}
public String getRawValue() {
return suggestions.getText();
}
 
public String getValue() {
return suggestions.getValue();
}
public void setValue(String texte) {
suggestions.setText(texte);
public void setValue(String valeur) {
suggestions.setText(valeur);
}
public void reset() {
321,8 → 321,8
suggestions.setWidth(largeur+"px");
}
protected String preTraiterValeurAvantAffichage(String valeur) {
return valeur;
protected String preTraiterValeurAvantAffichage(String cle) {
return possibilites.get(cle);
}
protected String preTraiterUrlRequete(String urlRequete, String valeur) {
return urlRequete+URL.encodeQueryString(valeur);
/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java
93,6 → 93,7
private AutoCompletionComboBox milieu = null;
private TextField comment = null;
private AutoCompletionComboBox localite = null;
private Button effacerLocalite = null;
private String codeLocalite = null;
private String pays = null;
340,7 → 341,7
@Override
protected void onModificationValeur() {
localiteModifiee = true;
localiteModifiee = true;
verifierPresenceTaxonSaisi();
}
 
350,6 → 351,21
}
};
 
// Bouton pour supprimer totalement la localisation d'une obs (zone géo + coords)
effacerLocalite = new Button("X", new ButtonListenerAdapter() {
public void onClick(Button button, EventObject e) {
localite.setText("");
localite.setValue("");
localiteModifiee = true;
latitude.setValue("");
latModifiee = true;
longitude.setValue("");
longModifiee = true;
altitude.setValue("");
altModifiee = true;
}
});
effacerLocalite.setTooltip("Supprimer la localisation de l'observation (localité, coordonnées, altitude)");
 
//création du lien "Accès carto" dans le formulaire;
basculerverscarto = new HTML(" <a id=\"lien_carto\" title=\""+Msg.get("aide-lien-localiser")+"\" href=\"#\" tabindex=\"2\">"+Msg.get("localiser-zone")+"</a>");
363,9 → 379,10
//Sur une meme ligne, ajout de plusieurs champs
htmllocalitePanel = new MultiFieldPanel();
 
int largeurlocalite = Window.getClientWidth()/4;
htmllocalitePanel.addToRow(localite, largeurlocalite);
htmllocalitePanel.addToRow(basculerverscarto, 160);
//int largeurlocalite = Window.getClientWidth()/5;
htmllocalitePanel.addToRow(localite, 280);
htmllocalitePanel.addToRow(effacerLocalite, 150);
htmllocalitePanel.addToRow(basculerverscarto, 130);
 
htmllocalitePanel.setBorder(false);
htmllocalitePanel.setId("x-localite-panel");
518,8 → 535,9
// Pour éviter qu'un mauvais nn ne soit gardé lors d'une modification
// vers un nom ne faisant pas partie du référentiel
numeroNom = null;
if(referentielNom.containsKey(espece.getText())) {
numeroNom = referentielNom.get(espece.getText()).getNumeroNom();
String cle = espece.getValue();
if(referentielNom.containsKey(cle)) {
numeroNom = referentielNom.get(cle).getNumeroNom();
}
verifierPresenceTaxonSaisi();
}
535,8 → 553,8
}
@Override
protected String preTraiterValeurAvantAffichage(String valeur) {
ReferentielNom nomValeur = referentielNom.get(valeur);
protected String preTraiterValeurAvantAffichage(String cle) {
ReferentielNom nomValeur = referentielNom.get(cle);
String valeurAffichee = nomValeur.getNom();
// Pour afficher les noms retenus en gras
if (nomValeur.estRetenu()) {
763,7 → 781,14
}
protected void surSelectionEspece() {
ReferentielNom nom = referentielNom.get(espece.getText());
//String cle = espece.getText();
String cle = espece.getValue();
ReferentielNom nom = referentielNom.get(cle);
// Bricolage immonde : sans ça, la combobox affiche la clef au lieu d'afficher
// la valeur - WTF?? - pas trouvé moyen de faire mieux (attention aux effets
// de bord dégueus)
espece.setText(nom.getNom());
// retour à la vie normale
numeroNom = nom.getNumeroNom();
selectionEspece = true;
observationMediateur.obtenirImageInformationExternes(referentielTaxo, numeroNom);