/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/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"))); |