4,13 → 4,16 |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.modeles.Valeur; |
|
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.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.HiddenField; |
import com.extjs.gxt.ui.client.widget.form.LabelField; |
import com.extjs.gxt.ui.client.widget.form.TextField; |
39,11 → 42,14 |
TextField<String> champTexte = null; |
HiddenField<String> champRecapitulatif = null; |
HashMap<String, LayoutContainer> valeurs = null; |
ComboBox<Valeur> types = null; |
|
int largeurTotale = 420; |
int largeurBouton = 20; |
int largeurChamp = 0; |
|
boolean estMultiType = false; |
|
public ChampMultiValeurs() { |
initialiserChampMultiValeur(null, 0); |
} |
56,6 → 62,11 |
initialiserChampMultiValeur(label, largeurTotale); |
} |
|
public ChampMultiValeurs(boolean estMultiType, String label, int largeurTotale) { |
this.estMultiType = estMultiType; |
initialiserChampMultiValeur(label, largeurTotale); |
} |
|
public void setLabel(String label) { |
if (label == null) { |
label = ""; |
114,6 → 125,15 |
LayoutContainer colonneLayout = new LayoutContainer(); |
colonneLayout.setLayout(new ColumnLayout()); |
|
if (estMultiType == true) { |
largeurChamp = largeurChamp - 150; |
types = new ComboBox<Valeur>(); |
types.setDisplayField("nom"); |
types.setEmptyText("Choisissez:"); |
types.setStore(new ListStore<Valeur>()); |
colonneLayout.add(types, new ColumnData(150)); |
} |
|
champTexte = new TextField<String>(); |
colonneLayout.add(champTexte, new ColumnData(largeurChamp)); |
|
131,7 → 151,30 |
if (validation!=null && !valeurChampTxt.matches(validation)) { |
MessageBox.alert(titreErreur, valeurNonValideMsg, null); |
} else { |
ajouterValeur(valeurChampTxt); |
if (estMultiType) { |
|
String type = ""; |
String id = ""; |
Valeur valeur = types.getValue(); |
|
if (valeur != null) { |
type = valeur.getNom(); |
id = valeur.get("abreviation"); |
} else { |
type = types.getRawValue(); |
id = type; |
} |
|
if (type.trim().equals("")) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un type ", null); |
} else { |
ajouterValeur(valeurChampTxt, type, id); |
} |
|
|
} else { |
ajouterValeur(valeurChampTxt); |
} |
} |
} |
} |
143,6 → 186,10 |
add(principalLayout); |
} |
|
public void ajouterValeur(final String texte, final String strValeur, final String id) { |
//Implémenté dans classe inférieure |
} |
|
public void ajouterValeur(final String texte) { |
LayoutContainer colonneLayout = new LayoutContainer(); |
colonneLayout.setLayout(new ColumnLayout()); |
180,11 → 227,11 |
actualiserLayoutGlobal(); |
} |
|
private void reinitialiserChamp() { |
public void reinitialiserChamp() { |
champTexte.setValue(valeurParDefaut); |
} |
|
private void actualiserLayoutGlobal() { |
public void actualiserLayoutGlobal() { |
GWT.log("Valeurs : "+getValeurs(), null); |
layout(); |
} |