Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 856 → Rev 857

/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() {