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