Rev 102 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.tela_botanica.client.Modele;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.modeles.Configuration;import org.tela_botanica.client.modeles.InterneValeur;import org.tela_botanica.client.modeles.InterneValeurListe;import org.tela_botanica.client.modeles.Personne;import org.tela_botanica.client.modeles.Valeur;import org.tela_botanica.client.modeles.ValeurListe;import com.extjs.gxt.ui.client.Registry;import com.extjs.gxt.ui.client.Style.HorizontalAlignment;import com.extjs.gxt.ui.client.event.ComponentEvent;import com.extjs.gxt.ui.client.event.SelectionChangedEvent;import com.extjs.gxt.ui.client.event.SelectionChangedListener;import com.extjs.gxt.ui.client.event.SelectionListener;import com.extjs.gxt.ui.client.event.ToolBarEvent;import com.extjs.gxt.ui.client.store.ListStore;import com.extjs.gxt.ui.client.widget.ContentPanel;import com.extjs.gxt.ui.client.widget.LayoutContainer;import com.extjs.gxt.ui.client.widget.TabItem;import com.extjs.gxt.ui.client.widget.TabPanel;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.DateField;import com.extjs.gxt.ui.client.widget.form.FieldSet;import com.extjs.gxt.ui.client.widget.form.FormPanel;import com.extjs.gxt.ui.client.widget.form.LabelField;import com.extjs.gxt.ui.client.widget.form.NumberField;import com.extjs.gxt.ui.client.widget.form.TextField;import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;import com.extjs.gxt.ui.client.widget.grid.CellEditor;import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;import com.extjs.gxt.ui.client.widget.grid.ColumnModel;import com.extjs.gxt.ui.client.widget.grid.EditorGrid;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.FitLayout;import com.extjs.gxt.ui.client.widget.layout.FlowLayout;import com.extjs.gxt.ui.client.widget.layout.FormData;import com.extjs.gxt.ui.client.widget.layout.FormLayout;import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;import com.google.gwt.core.client.GWT;import com.google.gwt.i18n.client.DateTimeFormat;import com.google.gwt.i18n.client.NumberFormat;public class FormStructureVue extends LayoutContainer implements Rafraichissable {private Modele coelModele = null ;private ListStore<Valeur> magazinLstpr = null;private ComboBox<Valeur> comboLstpr = null;private ListStore<Valeur> magazinLstpu = null;private ComboBox<Valeur> comboLstpu = null;private ListStore<Valeur> magazinLiStatut = null;private ComboBox<Valeur> comboLiStatut = null;private ListStore<Valeur> magazinLiFonction = null;private ComboBox<Valeur> comboLiFonction = null;private ComboBox<InterneValeur> comboAcronyme = null;private TextField<String> ihChp = null;private TextField<String> mnhnChp = null;private ComboBox<InterneValeur> comboTypeStructure = null;private EditorGrid<Personne> grillePersonnel = null;private ListStore<Personne> personnelGrilleMagazin = null;private LabelField nbreTotalPersonnelChp = null;public FormStructureVue() {//+-----------------------------------------------------------------------------------------------------------+// Initialisation de variablessetLayout(new FitLayout());coelModele = Registry.get(RegistreId.MODELE);// Création de la disposition : FIELDSETFormLayout layoutFieldset = new FormLayout();layoutFieldset.setLabelWidth(200);layoutFieldset.setPadding(4);//+-----------------------------------------------------------------------------------------------------------+// Création du panneau FormulaireFormPanel panel = new FormPanel();panel.setFrame(true);panel.setIconStyle("icone-form-ajouter");panel.setCollapsible(false);panel.setHeading("Ajout d'une institution");panel.setButtonAlign(HorizontalAlignment.CENTER);panel.setLayout(new FlowLayout());// Création des ongletsTabPanel onglets = new TabPanel();onglets.setAutoHeight(true);//tabs.setDeferredRender(false);//+-----------------------------------------------------------------------------------------------------------+// Onlget formulaire IDENTIFICATIONTabItem identificationOnglet = new TabItem();identificationOnglet.setText("Identification");identificationOnglet.setLayout(new FormLayout());// Fieldset IDENTITÉFieldSet fieldSetIdentite = new FieldSet();fieldSetIdentite.setHeading("Identité");fieldSetIdentite.setCollapsible(true);fieldSetIdentite.setLayout(layoutFieldset);TextField<String> nomStructureChp = new TextField<String>();nomStructureChp.setFieldLabel("Nom de la structure");nomStructureChp.setAllowBlank(false);nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire.");fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));// Création du sous-formulaire : AcronymeLayoutContainer ligne = new LayoutContainer();ligne.setLayout(new ColumnLayout());LayoutContainer gauche = new LayoutContainer();FormLayout layoutGauche = new FormLayout();layoutGauche.setLabelAlign(LabelAlign.LEFT);layoutGauche.setLabelWidth(200);layoutGauche.setPadding(0);gauche.setLayout(layoutGauche);LayoutContainer droite = new LayoutContainer();FormLayout layoutDroite = new FormLayout();layoutDroite.setLabelWidth(0);layoutDroite.setPadding(0);droite.setLayout(layoutDroite);ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();acronymes.add(InterneValeurListe.getTypeAcronyme());comboAcronyme = new ComboBox<InterneValeur>();comboAcronyme.setEmptyText("Sélectioner un type d'acronyme...");comboAcronyme.setFieldLabel("Acronymes");comboAcronyme.setDisplayField("nom");comboAcronyme.setStore(acronymes);comboAcronyme.setEditable(false);comboAcronyme.setTypeAhead(true);comboAcronyme.setTriggerAction(TriggerAction.ALL);comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {@Overridepublic void selectionChanged(SelectionChangedEvent<InterneValeur> se) {String acronymeAbr = se.getSelectedItem().getAbr();if (acronymeAbr.equals("IH")) {mnhnChp.hide();ihChp.show();} else if (acronymeAbr.equals("MNHN")) {ihChp.hide();mnhnChp.show();} else if (acronymeAbr.equals("")) {ihChp.hide();mnhnChp.hide();comboAcronyme.clearSelections();}}});gauche.add(comboAcronyme);ihChp = new TextField<String>();//ihChp.setEmptyText("Index Herbariorum");ihChp.setLabelSeparator("");ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons");ihChp.hide();droite.add(ihChp);mnhnChp = new TextField<String>();//mnhnChp.setEmptyText("MNHN");mnhnChp.setLabelSeparator("");mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons");mnhnChp.hide();droite.add(mnhnChp);ligne.add(gauche, new ColumnData(0.5));ligne.add(droite, new ColumnData(0.5));fieldSetIdentite.add(ligne);// Création du sous-formulaire : Type de StructureLayoutContainer ligneTs = new LayoutContainer();ligneTs.setLayout(new ColumnLayout());LayoutContainer gaucheTs = new LayoutContainer();layoutGauche = new FormLayout();layoutGauche.setLabelAlign(LabelAlign.LEFT);layoutGauche.setLabelWidth(200);layoutGauche.setPadding(0);gaucheTs.setLayout(layoutGauche);LayoutContainer droiteTs = new LayoutContainer();layoutDroite = new FormLayout();layoutDroite.setLabelWidth(0);layoutDroite.setPadding(0);droiteTs.setLayout(layoutDroite);ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();typesStructure.add(InterneValeurListe.getTypeStructure());this.comboTypeStructure = new ComboBox<InterneValeur>();comboTypeStructure.setEmptyText("Sélectioner un type de structure...");comboTypeStructure.setFieldLabel("Statut des structures");comboTypeStructure.setDisplayField("nom");comboTypeStructure.setStore(typesStructure);comboTypeStructure.setEditable(false);comboTypeStructure.setTypeAhead(true);comboTypeStructure.setTriggerAction(TriggerAction.ALL);comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {@Overridepublic void selectionChanged(SelectionChangedEvent<InterneValeur> se) {String typeAbr = se.getSelectedItem().getAbr();if (typeAbr.equals("stpu")) {comboLstpr.hide();comboLstpu.show();} else if (typeAbr.equals("stpr")) {comboLstpu.hide();comboLstpr.show();} else if (typeAbr.equals("")) {comboLstpr.hide();comboLstpu.hide();comboTypeStructure.clearSelections();}}});gaucheTs.add(comboTypeStructure);coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu"));magazinLstpu = new ListStore<Valeur>();magazinLstpu.add(new ArrayList<Valeur>());comboLstpu = new ComboBox<Valeur>();//comboLstpu.setFieldLabel("Statut des structures publiques");comboLstpu.setLabelSeparator("");comboLstpu.setDisplayField("nom");comboLstpu.setEditable(false);comboLstpu.setTriggerAction(TriggerAction.ALL);comboLstpu.setStore(magazinLstpu);comboLstpu.hide();droiteTs.add(comboLstpu);coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr"));magazinLstpr = new ListStore<Valeur>();magazinLstpr.add(new ArrayList<Valeur>());comboLstpr = new ComboBox<Valeur>();//comboLstpr.setFieldLabel("Statut des structures privées");comboLstpr.setLabelSeparator("");comboLstpr.setDisplayField("nom");comboLstpr.setEditable(false);comboLstpr.setTriggerAction(TriggerAction.ALL);comboLstpr.setStore(magazinLstpr);comboLstpr.hide();droiteTs.add(comboLstpr);ligneTs.add(gaucheTs, new ColumnData(0.5));ligneTs.add(droiteTs, new ColumnData(0.5));fieldSetIdentite.add(ligneTs);DateField dateFondationChp = new DateField();dateFondationChp.setFieldLabel("Date de fondation");dateFondationChp.getPropertyEditor().getFormat();dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));dateFondationChp.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");fieldSetIdentite.add(dateFondationChp);identificationOnglet.add(fieldSetIdentite);// Fieldset ADRESSELayoutContainer principalFdAdresse = new LayoutContainer();principalFdAdresse.setLayout(new ColumnLayout());LayoutContainer gaucheFdAdresse = new LayoutContainer();layoutGauche = new FormLayout();layoutGauche.setLabelAlign(LabelAlign.LEFT);layoutGauche.setLabelWidth(100);layoutGauche.setPadding(0);gaucheFdAdresse.setLayout(layoutGauche);LayoutContainer droiteFdAdresse = new LayoutContainer();layoutDroite = new FormLayout();layoutDroite.setLabelAlign(LabelAlign.LEFT);layoutDroite.setLabelWidth(100);layoutDroite.setPadding(0);droiteFdAdresse.setLayout(layoutDroite);FieldSet fieldSetAdresse = new FieldSet();fieldSetAdresse.setHeading("Adresse");fieldSetAdresse.setCollapsible(true);layoutFieldset = new FormLayout();layoutFieldset.setLabelWidth(100);layoutFieldset.setPadding(4);fieldSetAdresse.setLayout(layoutFieldset);TextField<String> adrChp = new TextField<String>();adrChp.setFieldLabel("Adresse");fieldSetAdresse.add(adrChp, new FormData(550, 0));TextField<String> cpChp = new TextField<String>();cpChp.setFieldLabel("Code postal");gaucheFdAdresse.add(cpChp);TextField<String> villeChp = new TextField<String>();villeChp.setFieldLabel("Ville");droiteFdAdresse.add(villeChp);TextField<String> regionChp = new TextField<String>();regionChp.setFieldLabel("Région");gaucheFdAdresse.add(regionChp);TextField<String> paysChp = new TextField<String>();paysChp.setFieldLabel("Pays");droiteFdAdresse.add(paysChp);principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));fieldSetAdresse.add(principalFdAdresse);identificationOnglet.add(fieldSetAdresse);// Fieldset TÉLÉPHONE et EMAILLayoutContainer principalFdTelMail = new LayoutContainer();principalFdTelMail.setLayout(new ColumnLayout());LayoutContainer gaucheFdTelMail = new LayoutContainer();layoutGauche = new FormLayout();layoutGauche.setLabelAlign(LabelAlign.LEFT);layoutGauche.setLabelWidth(100);layoutGauche.setPadding(0);gaucheFdTelMail.setLayout(layoutGauche);LayoutContainer droiteFdTelMail = new LayoutContainer();layoutDroite = new FormLayout();layoutDroite.setLabelAlign(LabelAlign.LEFT);layoutDroite.setLabelWidth(100);layoutDroite.setPadding(0);droiteFdTelMail.setLayout(layoutDroite);FieldSet fieldSetTelMail = new FieldSet();fieldSetTelMail.setHeading("Communication");fieldSetTelMail.setCollapsible(true);layoutFieldset = new FormLayout();layoutFieldset.setLabelWidth(200);layoutFieldset.setPadding(4);fieldSetTelMail.setLayout(layoutFieldset);TextField<String> telChp = new TextField<String>();telChp.setFieldLabel("Téléphone");gaucheFdTelMail.add(telChp);TextField<String> faxChp = new TextField<String>();faxChp.setFieldLabel("Fax");droiteFdTelMail.add(faxChp);TextField<String> emailChp = new TextField<String>();emailChp.setFieldLabel("Courriel");emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org");gaucheFdTelMail.add(emailChp);TextField<String> urlChp = new TextField<String>();urlChp.setFieldLabel("Site web");droiteFdTelMail.add(urlChp);principalFdTelMail.add(gaucheFdTelMail, new ColumnData(.5));principalFdTelMail.add(droiteFdTelMail, new ColumnData(.5));fieldSetTelMail.add(principalFdTelMail);identificationOnglet.add(fieldSetTelMail);onglets.add(identificationOnglet);//+-----------------------------------------------------------------------------------------------------------+// Onlget formulaire PERSONNELonglets.add(creerOngletPersonnel());//+-----------------------------------------------------------------------------------------------------------+// Onlget formulaire CONSERVATIONTabItem conservationOnglet = new TabItem();conservationOnglet.setText("Conservation");conservationOnglet.setLayout(new FormLayout());onglets.add(conservationOnglet);//+-----------------------------------------------------------------------------------------------------------+// Onlget formulaire VALORISATIONTabItem valorisationOnglet = new TabItem();valorisationOnglet.setText("Valorisation");valorisationOnglet.setLayout(new FormLayout());onglets.add(valorisationOnglet);//+-----------------------------------------------------------------------------------------------------------+// Gestion du FORMULAIRE GÉNÉRAL// Ajout des ongletspanel.add(onglets);// Ajout des boutons au panneau formulaireButton annulerBtn = new Button("Annuler");panel.addButton(annulerBtn);Button validerBtn = new Button("Valider");panel.addButton(validerBtn);// Ajout du panneau Formulaire à la disposition généraleadd(panel);}private TabItem creerOngletPersonnel() {TabItem personnelOnglet = new TabItem();personnelOnglet.setText("Personnel");FormLayout personnelOngletLayout = new FormLayout();personnelOngletLayout.setLabelWidth(400);personnelOnglet.setLayout(personnelOngletLayout);NumberField nbreTotalPersonneStructureChp = new NumberField();nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");nbreTotalPersonneStructureChp.setFormat(NumberFormat.getFormat("#"));nbreTotalPersonneStructureChp.setToolTip("Ce champ doit contenir un nombre");personnelOnglet.add(nbreTotalPersonneStructureChp);personnelOnglet.add(this.creerGrillePersonnel());nbreTotalPersonnelChp = new LabelField();nbreTotalPersonnelChp.setFieldLabel("Nombre de personne travaillant sur les collections");nbreTotalPersonnelChp.setLabelSeparator(":");nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());personnelOnglet.add(nbreTotalPersonnelChp);return personnelOnglet;}private ContentPanel creerGrillePersonnel() {List<Personne> personnes = new ArrayList<Personne>();personnes.add(new Personne(Valeur.FONCTION_DIRECTEUR));personnes.add(new Personne(Valeur.FONCTION_CONSERVATEUR));personnelGrilleMagazin = new ListStore<Personne>();personnelGrilleMagazin.add(personnes);List<ColumnConfig> configs = new ArrayList<ColumnConfig>();CheckBoxSelectionModel<Personne> sm = new CheckBoxSelectionModel<Personne>();configs.add(sm.getColumn());ColumnConfig column = new ColumnConfig("ce_truk_fonction", "Fonction", 100);coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction"));magazinLiFonction = new ListStore<Valeur>();magazinLiFonction.add(new ArrayList<Valeur>());comboLiFonction = new ComboBox<Valeur>();comboLiFonction.setTriggerAction(TriggerAction.ALL);comboLiFonction.setEditable(true);comboLiFonction.setDisplayField("nom");//comboLiStatut.setEmptyText("Sélectionez une fonction...");comboLiFonction.setStore(magazinLiFonction);CellEditor fonctionEditor = new CellEditor(comboLiFonction) {@Overridepublic Object preProcessValue(Object value) {if (value == null) {return value;}//GWT.log("pre : "+value.toString(), null);return comboLiFonction.getStore().findModel("nom", (String) value);}@Overridepublic Object postProcessValue(Object value) {if (value == null) {return value;}//GWT.log("post : "+value.toString(), null);return ((Valeur) value).get("nom");}};column.setEditor(fonctionEditor);configs.add(column);column = new ColumnConfig();column.setId("prenom");column.setHeader("Prénom");column.setWidth(100);TextField<String> prenomChp = new TextField<String>();prenomChp.setAllowBlank(false);prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");prenomChp.setAutoValidate(true);column.setEditor(new CellEditor(prenomChp));configs.add(column);column = new ColumnConfig();column.setId("nom");column.setHeader("Nom");column.setWidth(100);TextField<String> nomChp = new TextField<String>();nomChp.setAllowBlank(false);nomChp.getMessages().setBlankText("Ce champ est obligatoire.");nomChp.setAutoValidate(true);column.setEditor(new CellEditor(nomChp));configs.add(column);column = new ColumnConfig("tel", "Téléphone", 100);TextField<String> telChp = new TextField<String>();column.setEditor(new CellEditor(telChp));configs.add(column);column = new ColumnConfig("fax", "Fax", 100);TextField<String> faxChp = new TextField<String>();column.setEditor(new CellEditor(faxChp));configs.add(column);column = new ColumnConfig("courriel", "Courriel", 100);TextField<String> emailChp = new TextField<String>();column.setEditor(new CellEditor(emailChp));configs.add(column);coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut"));magazinLiStatut = new ListStore<Valeur>();magazinLiStatut.add(new ArrayList<Valeur>());comboLiStatut = new ComboBox<Valeur>();comboLiStatut.setTriggerAction(TriggerAction.ALL);comboLiStatut.setEditable(false);comboLiStatut.setDisplayField("nom");comboLiStatut.setEmptyText("Sélectionez un statut...");comboLiStatut.setStore(magazinLiStatut);CellEditor statutEditor = new CellEditor(comboLiStatut) {@Overridepublic Object preProcessValue(Object value) {if (value == null) {return value;}//GWT.log("pre : "+value.toString(), null);return comboLiStatut.getStore().findModel("nom", (String) value);}@Overridepublic Object postProcessValue(Object value) {if (value == null) {return value;}//GWT.log("post : "+value.toString(), null);return ((Valeur) value).get("nom");}};column = new ColumnConfig("statut", "Statut", 100);column.setEditor(statutEditor);configs.add(column);column = new ColumnConfig("tps_w", "Temps travail", 100);column.setNumberFormat(NumberFormat.getFormat("##"));NumberField tpsWChp = new NumberField();tpsWChp.setFormat(NumberFormat.getFormat("##"));tpsWChp.setToolTip("Ce champ doit contenir un nombre");column.setEditor(new CellEditor(tpsWChp));configs.add(column);column = new ColumnConfig("specialites", "Spécialités botaniques", 150);TextField<String> speChp = new TextField<String>();column.setEditor(new CellEditor(speChp));configs.add(column);CheckColumnConfig checkColumn = new CheckColumnConfig("mark_contact", "Contact ?", 60);configs.add(checkColumn);ContentPanel cp = new ContentPanel();cp.setHeading("Personnes travaillant sur les collections");cp.setIconStyle("icone-table");cp.setLayout(new FitLayout());cp.setFrame(true);ToolBar toolBar = new ToolBar();TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {@Overridepublic void componentSelected(ToolBarEvent ce) {Personne personne = new Personne();grillePersonnel.stopEditing();personnelGrilleMagazin.insert(personne, 0);grillePersonnel.startEditing(0, 0);// Mise à jour du nombre de personnel travaillant sur les collectionsnbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());// Activation du bouton supprimer si la grille contient un élémentif (grillePersonnel.getStore().getCount() > 0) {ce.component.enable();}}});toolBar.add(ajouterPersonnelBtn);toolBar.add(new SeparatorToolItem());TextToolItem supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {@Overridepublic void componentSelected(ToolBarEvent ce) {grillePersonnel.getStore().remove(grillePersonnel.getStore().getAt(0));// Mise à jour du nombre de personnel travaillant sur les collectionsnbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());// Désactivation du bouton supprimer si la grille contient plus d'élémentif (grillePersonnel.getStore().getCount() == 0) {ce.item.disable();}}});toolBar.add(supprimerPersonnelBtn);cp.setTopComponent(toolBar);ColumnModel cm = new ColumnModel(configs);grillePersonnel = new EditorGrid<Personne>(personnelGrilleMagazin, cm);grillePersonnel.setBorders(true);grillePersonnel.setSelectionModel(sm);grillePersonnel.addPlugin(sm);grillePersonnel.addPlugin(checkColumn);grillePersonnel.setSize(1010, 400);cp.add(grillePersonnel);return cp;}public void rafraichir(Object nouvelleDonnees) {if (nouvelleDonnees instanceof ValeurListe) {ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;List<Valeur> liste = new ArrayList<Valeur>();for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {liste.add(listeValeurs.get(it.next()));}// Test pour savoir si la liste contient des élémentsif (liste.size() > 0) {Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);if (listeValeurs.getId().equals(config.getListeId("stpr"))) {magazinLstpr.removeAll();magazinLstpr.add(liste);comboLstpr.setStore(magazinLstpr);}if (listeValeurs.getId().equals(config.getListeId("stpu"))) {magazinLstpu.removeAll();magazinLstpu.add(liste);comboLstpu.setStore(magazinLstpu);}if (listeValeurs.getId().equals(config.getListeId("statut"))) {magazinLiStatut.removeAll();magazinLiStatut.add(liste);comboLiStatut.setStore(magazinLiStatut);}if (listeValeurs.getId().equals(config.getListeId("fonction"))) {magazinLiFonction.removeAll();magazinLiFonction.add(liste);comboLiFonction.setStore(magazinLiFonction);}GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);} else {GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);}}}}