Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 856 → Rev 857

/trunk/Coel.launch
File deleted
\ No newline at end of file
/trunk/.classpath
2,8 → 2,8
<classpath>
<classpathentry kind="src" path="test"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="/opt/gwt-1.7.0/gwt-user.jar"/>
<classpathentry kind="lib" path="/opt/gwt-1.7.0/gwt-dev-linux.jar"/>
<classpathentry kind="lib" path="/opt/gwt-1.7.1/gwt-user.jar"/>
<classpathentry kind="lib" path="/opt/gwt-1.7.1/gwt-dev-linux.jar"/>
<classpathentry kind="lib" path="/opt/gxt-2.0.1/gxt.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
/trunk/src/org/tela_botanica/client/vues/PersonneForm.java
398,7 → 398,7
ChampMultiValeursMultiTypes telephones = new ChampMultiValeursMultiTypes("Téléphones");
hmIdentite.put("telephones", telephones);
telephones.initialiserType("tel", mediateur);
telephones.initialiserType("tel");
fsContactTel.add(telephones);
right.add(fsContactTel);
hmIdentite.put("fsContactTel", fsContactTel);
611,7 → 611,7
hmInfosNat.put("specialite", specialite);
ChampMultiValeursMultiTypes recolte = new ChampMultiValeursMultiTypes(mediateur.i18nC.personneRecolte());
recolte.initialiserType("pays", mediateur);
recolte.initialiserType("pays");
hmInfosNat.put("recolte", recolte);
fsInfosNat.add(recolte);
/trunk/src/org/tela_botanica/client/vues/CollectionFormDescription.java
7,6 → 7,7
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.composants.ChampCaseACocher;
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.InterneValeur;
69,6 → 70,8
private ChampCaseACocher insecteTraitementChp = null;
private ChampComboBoxListeValeurs etatGeneralCombo = null;
private ChampComboBoxListeValeurs determinationCombo = null;
private ChampMultiValeursMultiTypes specimenDegradationChp = null;
private ChampMultiValeursMultiTypes presentationDegradationChp = null;
public CollectionFormDescription(Formulaire formulaireCourrant) {
initialiserOnglet(formulaireCourrant);
135,12 → 138,22
insecteTraitementChp = new ChampCaseACocher(i18nC.collectionTraitementInsecte(), "insecteTraitement", true);
add(insecteTraitementChp);
etatGeneralCombo = new ChampComboBoxListeValeurs(i18nC.collectionEtatGeneral(), "etat");
etatGeneralCombo = new ChampComboBoxListeValeurs(i18nC.collectionEtatGeneral(), "etat");
etatGeneralCombo.setToolTip(i18nC.collectionEtatGeneralInfo());
etatGeneralCombo.setTrie("id_valeur");
add(etatGeneralCombo, new FormData(300, 0));
determinationCombo = new ChampComboBoxListeValeurs(i18nC.collectionDetermination(), "niveauDetermination");
specimenDegradationChp = new ChampMultiValeursMultiTypes(i18nC.degradationSpecimen(), 600, true);
specimenDegradationChp.initialiserType("specimenDegradation");
specimenDegradationChp.initialiserCombobox("etat");
add(specimenDegradationChp);
presentationDegradationChp = new ChampMultiValeursMultiTypes(i18nC.degradationPresentation(), 600, true);
presentationDegradationChp.initialiserType("supportDegradation");
presentationDegradationChp.initialiserCombobox("etat");
add(presentationDegradationChp);
determinationCombo = new ChampComboBoxListeValeurs(i18nC.collectionDetermination(), "niveauDetermination");
determinationCombo.setTrie("id_valeur");
add(determinationCombo, new FormData(450, 0));
/trunk/src/org/tela_botanica/client/composants/ChampMultiValeurs.java
9,11 → 9,13
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.Component;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.Text;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.form.Field;
import com.extjs.gxt.ui.client.widget.form.HiddenField;
import com.extjs.gxt.ui.client.widget.form.LabelField;
import com.extjs.gxt.ui.client.widget.form.TextField;
37,12 → 39,13
String valeurNonValideMsg = null;
String valeurParDefaut = "";
String validation = null;
String validationMasque = null;
String exempleValidation = null;
String boutonSupprimerLabel = "";
LayoutContainer principalLayout = null;
TextField<String> champTexte = null;
Field<String> champValeurTxt = null;
ComboBox<Valeur> champValeurCombo = null;
HiddenField<String> champRecapitulatif = null;
HashMap<String, LayoutContainer> valeurs = null;
ComboBox<Valeur> types = null;
52,6 → 55,7
int largeurChamp = 0;
boolean estMultiType = false;
boolean estComboBox = false;
public ChampMultiValeurs() {
initialiserChampMultiValeur(null, 0);
66,10 → 70,16
}
public ChampMultiValeurs(boolean estMultiType, String label, int largeurTotale) {
this.estMultiType = estMultiType;
this.estMultiType = estMultiType;
initialiserChampMultiValeur(label, largeurTotale);
}
public ChampMultiValeurs(boolean estCombobox, boolean estMultiType, String label, int largeurTotale) {
this.estMultiType = estMultiType;
this.estComboBox = estCombobox;
initialiserChampMultiValeur(label, largeurTotale);
}
public void setLabel(String label) {
if (label == null) {
label = "";
85,7 → 95,7
}
public void setValidation (String validation, String exempleValidation) {
this.validation = validation;
this.validationMasque = validation;
this.exempleValidation = exempleValidation;
this.valeurNonValideMsg = Mediateur.i18nM.valeurNonValideMsg(exempleValidation);
93,7 → 103,7
public void setValeurParDefaut(String valeur) {
this.valeurParDefaut = valeur;
champTexte.setValue(valeur);
champValeurTxt.setValue(valeur);
}
public void setValeurBoutonSupprimer(String valeur) {
137,51 → 147,59
colonneLayout.add(types, new ColumnData(150));
}
champTexte = new TextField<String>();
colonneLayout.add(champTexte, new ColumnData(largeurChamp));
 
if (estComboBox) {
champValeurCombo = new ComboBox<Valeur>();
champValeurCombo.setDisplayField("nom");
champValeurCombo.setStore(new ListStore<Valeur>());
colonneLayout.add(champValeurCombo, new ColumnData(largeurChamp));
} else {
champValeurTxt = new TextField<String>();
colonneLayout.add(champValeurTxt, new ColumnData(largeurChamp));
}
Button ajouterBouton = new Button();
ajouterBouton.setIcon(Images.ICONES.ajouter());
ajouterBouton.addSelectionListener(
new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
String valeurChampTxt = (String) champTexte.getValue();
if ((valeurChampTxt == null) || valeurChampTxt.trim().equals("") || valeurChampTxt.trim().equals(valeurParDefaut)) {
MessageBox.alert(titreErreur, valeurVideMsg, null);
} else if (valeurs.get(valeurChampTxt) != null){
MessageBox.alert(titreErreur, valeurIdentiqueMsg, null);
ajouterBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
String valeurChamp = "";
if (estComboBox) {
valeurChamp = champValeurCombo.getValue().getNom();
} else {
valeurChamp = champValeurTxt.getValue();
}
if ((valeurChamp == null) || valeurChamp.trim().equals("") || valeurChamp.trim().equals(valeurParDefaut)) {
MessageBox.alert(titreErreur, valeurVideMsg, null);
} else if (valeurs.get(valeurChamp) != null){
MessageBox.alert(titreErreur, valeurIdentiqueMsg, null);
} else {
if (validationMasque != null && !valeurChamp.matches(validationMasque)) {
MessageBox.alert(titreErreur, valeurNonValideMsg, null);
} else {
if (validation!=null && !valeurChampTxt.matches(validation)) {
MessageBox.alert(titreErreur, valeurNonValideMsg, null);
} else {
if (estMultiType) {
String type = "";
String id = "";
Valeur valeur = types.getValue();
if (valeur != null) {
type = valeur.getNom();
id = valeur.getId();
} else {
type = types.getRawValue();
id = type;
}
if (estMultiType) {
String type = "";
String id = "";
Valeur valeur = types.getValue();
if (type.trim().equals("")) {
MessageBox.alert("Erreur de saisie", "Vous devez saisir un type ", null);
} else {
ajouterValeur(valeurChampTxt, type, id);
}
if (valeur != null) {
type = valeur.getNom();
id = valeur.getId();
} else {
ajouterValeur(valeurChampTxt);
type = types.getRawValue();
id = type;
}
if (type.trim().equals("")) {
MessageBox.alert("Erreur de saisie", "Vous devez saisir un type ", null);
} else {
ajouterValeur(valeurChamp, type, id);
}
} else {
ajouterValeur(valeurChamp);
}
}
}
});
}
});
colonneLayout.add(ajouterBouton, new ColumnData(largeurBouton));
principalLayout.add(champRecapitulatif);
231,7 → 249,15
}
public void reinitialiserChamp() {
champTexte.setValue(valeurParDefaut);
if (estComboBox) {
champValeurCombo.setValue(champValeurCombo.getStore().findModel("id_valeur", valeurParDefaut));
} else {
champValeurTxt.setValue(valeurParDefaut);
}
if (estMultiType) {
types.reset();
}
}
public void actualiserLayoutGlobal() {
/trunk/src/org/tela_botanica/client/composants/ChampMultiValeursMultiTypes.java
1,9 → 1,5
package org.tela_botanica.client.composants;
 
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
13,6 → 9,8
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.aDonneeListe;
import org.tela_botanica.client.vues.Formulaire;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.event.ButtonEvent;
24,14 → 22,12
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Image;
 
public class ChampMultiValeursMultiTypes extends ChampMultiValeurs implements Rafraichissable{
public class ChampMultiValeursMultiTypes extends ChampMultiValeurs implements Rafraichissable {
 
private String idListeType;
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
private String idListeType = null;
private String idListeCombo = null;
public ChampMultiValeursMultiTypes() {
super(true, null, 0);
45,39 → 41,34
super(true, label, largeurTotale);
}
public void initialiserType(String idListeType, Mediateur mediateur) {
this.idListeType = idListeType;
public ChampMultiValeursMultiTypes(String label, int largeurTotale, boolean combobox) {
super(true, true, label, largeurTotale);
}
public void initialiserType(String idListe) {
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
idListeType = idListe;
mediateur.obtenirListeValeurEtRafraichir(this, idListeType);
}
public ListStore getStore() {
return this.types.getStore();
public void initialiserCombobox(String idListe) {
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
this.idListeCombo = idListe;
mediateur.obtenirListeValeurEtRafraichir(this, idListeCombo);
}
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof ValeurListe) {
 
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
// Créer une liste de valeurs
List<Valeur> liste = new ArrayList<Valeur>();
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
liste.add(listeValeurs.get(it.next()));
}
if (listeValeurs.getId().equals(config.getListeId(idListeType))) {
ListStore<Valeur> store = getStore();
store.removeAll();
store.add(liste);
types.setStore(store);
Formulaire.rafraichirComboBox(listeValeurs, types);
} else if (listeValeurs.getId().equals(config.getListeId(idListeCombo))) {
Formulaire.rafraichirComboBox(listeValeurs, champValeurCombo, "id_valeur");
}
}
}
}
public void ajouterValeur(final String texte, final String type, final String id) {
public void ajouterValeur(final String texte, final String type, final String id) {
LayoutContainer colonneLayout = new LayoutContainer();
colonneLayout.setLayout(new ColumnLayout());
valeurs.put(id + "##" + texte, colonneLayout);
115,16 → 106,15
principalLayout.add(colonneLayout);
// Ajout de la valeur au champ récapitulatif des valeurs ajoutées
ajouterValeurAuRecapitulatif(texte, id);
if (estComboBox) {
ajouterValeurAuRecapitulatif(texte, id);
} else {
ajouterValeurAuRecapitulatif(champValeurCombo.getValue().getId(), id);
}
reinitialiserChamp();
actualiserLayoutGlobal();
}
public void reinitialiserChamp() {
champTexte.setValue(valeurParDefaut);
types.reset();
}
public void ajouterValeurAuRecapitulatif(String texte, String id) {
String texteRecapitulatif = "";
if (champRecapitulatif.getValue() != null) {
/trunk/src/org/tela_botanica/client/modeles/Configuration.java
66,6 → 66,8
listesId.put("methodeFixationSurSpecimen", Integer.valueOf(configuration.get("listeMethodeFixationSurSpecimen")));
listesId.put("typeEcriture", Integer.valueOf(configuration.get("listeTypeEcriture")));
listesId.put("onpi", Integer.valueOf(configuration.get("listeONPI")));
listesId.put("specimenDegradation", Integer.valueOf(configuration.get("listeSpecimenDegradation")));
listesId.put("supportDegradation", Integer.valueOf(configuration.get("listeSupportDegradation")));
listesId.put("niveauDetermination", Integer.valueOf(configuration.get("listeNiveauDetermination")));
/trunk/src/org/tela_botanica/client/i18n/Constantes.java
202,6 → 202,8
String collectionTraitementInsecte();
String collectionEtatGeneral();
String collectionEtatGeneralInfo();
String degradationSpecimen();
String degradationPresentation();
String collectionDetermination();
String collectionDocument();
/trunk/src/org/tela_botanica/client/i18n/Constantes.properties
198,6 → 198,8
collectionTraitementInsecte = Si oui, avec quel produit pour la désinsectisation ?
collectionEtatGeneral = Quel est l'état général de la collection ?
collectionEtatGeneralInfo = Grosses attaques d'insectes, pourriture, papier très fragile, etc...)
degradationSpecimen = Quels sont les causes de dégradation des spécimens ?
degradationPresentation = Quels sont les causes de dégradation de la présentation ?
collectionDetermination = Les échantillons sont-ils déterminables ?
 
collectionContenu = Contenu
/trunk/war/config.js
57,6 → 57,10
listeMethodeFixationSurSpecimen:1050,
// liste 48 : Liste des types d'écriture d'étiquette
listeTypeEcriture:1051,
// liste 49 : Liste des origines des dégradations des spécimens de collections botaniques
listeSpecimenDegradation:1052,
// liste 50 : Liste des origines des dégradations des supports de collections botaniques
listeSupportDegradation:1053,
// liste 51 : Liste des niveaux de détermination des spécimens de collections botaniques
listeNiveauDetermination:1054,
// liste 71 : Liste des pays du standard ISO-3166-1