Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 567 → Rev 569

/trunk/src/org/tela_botanica/client/vues/StructureForm.java
4,9 → 4,11
import java.util.Iterator;
import java.util.List;
 
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Information;
47,6 → 49,7
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.Component;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.MessageBox;
68,6 → 71,7
import com.extjs.gxt.ui.client.widget.form.TextArea;
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.Field.FieldImages;
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.CheckColumnConfig;
87,12 → 91,12
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
import com.extjs.gxt.ui.client.widget.layout.HBoxLayout.HBoxLayoutAlign;
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
//import com.extjs.gxt.ui.client.widget.toolbar.AdapterToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
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;
import com.google.gwt.user.client.ui.Image;
 
public class StructureForm extends LayoutContainer implements Rafraichissable {
174,29 → 178,29
private TextField<String> provenanceRechercheAutreChp;
private TextField<String> typeRechercheAutreChp;
private CheckBoxGroup localStockageTrukCacGrpChp = null;
private ContentPanel localStockageTrukCp = null;
private LayoutContainer localStockageTrukCp = null;
private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
private ContentPanel meubleStockageTrukCp = null;
private LayoutContainer meubleStockageTrukCp = null;
private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
private ContentPanel parametreStockageTrukCp = null;
private ContentPanel collectionAutreTrukCp = null;
private LayoutContainer parametreStockageTrukCp = null;
private LayoutContainer collectionAutreTrukCp = null;
private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
private CheckBoxGroup opRestauTrukCacGrpChp = null;
private ContentPanel opRestauTrukCp = null;
private LayoutContainer opRestauTrukCp = null;
private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
private ContentPanel autreMaterielTrukCp = null;
private ContentPanel traitementTrukCp = null;
private LayoutContainer autreMaterielTrukCp = null;
private LayoutContainer traitementTrukCp = null;
private CheckBoxGroup traitementTrukCacGrpChp = null;
private ContentPanel poisonTraitementTrukCp = null;
private ContentPanel insecteTraitementTrukCp = null;
private LayoutContainer poisonTraitementTrukCp = null;
private LayoutContainer insecteTraitementTrukCp = null;
private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
private ContentPanel autreCollectionTrukCp = null;
private LayoutContainer autreCollectionTrukCp = null;
private CheckBoxGroup autreCollectionTrukCacGrpChp = null;
private ContentPanel provenanceRechercheTrukCp = null;
private LayoutContainer provenanceRechercheTrukCp = null;
private CheckBoxGroup provenanceRechercheTrukCacGrpChp = null;
private CheckBoxGroup typeRechercheTrukCacGrpChp = null;
private ContentPanel typeRechercheTrukCp = null;
private LayoutContainer typeRechercheTrukCp = null;
private TextField<String> futureActionChp = null;
private TextField<String> sansMotifAccesChp = null;
private TextField<String> avecMotifAccesChp = null;
208,7 → 212,7
// Onglet VALORISATION
private StructureValorisation valorisation = null;
private RadioGroup actionMarkRGrpChp = null;
private ContentPanel actionTrukCp = null;
private LayoutContainer actionTrukCp = null;
private CheckBoxGroup actionTrukCacGrpChp = null;
private RadioGroup futureActionMarkRGrpChp;
private RadioGroup rechercheMarkRGrpChp;
215,7 → 219,7
private RadioGroup sansMotifAccesMarkRGrpChp;
private RadioGroup avecMotifAccesMarkRGrpChp;
private TextField<String> publicationChp;
private ContentPanel materielConservationCp;
private LayoutContainer materielConservationCp;
private ListStore<Personne> personneExistanteMagazin;
private ComboBox<Personne> personneExistanteCombo;
private Button supprimerPersonnelBtn;
785,7 → 789,7
valorisationOnglet = new TabItem();
valorisationOnglet.setText("Valorisation");
valorisationOnglet.setScrollMode(Scroll.AUTO);
valorisationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
valorisationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP));
valorisationOnglet.setStyleAttribute("padding", "10px");
valorisationOnglet.setData("acces", false); // Permet de savoir si l'onblet a été accédé par l'utilisateur
valorisationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
799,20 → 803,22
valorisationOnglet.add(actionMarkRGrpChp);
actionTrukCp = creerChoixMultipleCp("actionValorisation");
actionTrukCp = creerChoixMultipleCp();
actionTrukCp.hide();
actionTrukCacGrpChp = new CheckBoxGroup();
actionTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
valorisationOnglet.add(actionTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "actionValorisation");
publicationChp = new TextArea();
publicationChp.setFieldLabel("Quelques titres des ouvrages, articles scientifiques, ...");
valorisationOnglet.add(publicationChp, new FormData(550, 0));
autreCollectionTrukCp = creerChoixMultipleCp("autreCollection");
autreCollectionTrukCp = creerChoixMultipleCp();
autreCollectionTrukCacGrpChp = new CheckBoxGroup();
autreCollectionTrukCacGrpChp.setFieldLabel("L'organisme dispose-t-il d'autres collections (permettant une valorisation pluridisciplinaire) ?");
valorisationOnglet.add(autreCollectionTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "autreCollection");
futureActionMarkRGrpChp = creerChoixUniqueRadioGroupe("future_action_mark", "ouiNon");
futureActionMarkRGrpChp.setFieldLabel("Envisagez vous des actions de valorisation dans le cadre de votre politique culturelle ?");
834,17 → 840,19
rechercheMarkRGrpChp.setFieldLabel("Vos collections botaniques sont-elles utilisées pour des recherches scientifiques ?");
valorisationOnglet.add(rechercheMarkRGrpChp);
provenanceRechercheTrukCp = creerChoixMultipleCp("continentEtFr");
provenanceRechercheTrukCp = creerChoixMultipleCp();
provenanceRechercheTrukCp.hide();
provenanceRechercheTrukCacGrpChp = new CheckBoxGroup();
provenanceRechercheTrukCacGrpChp.setFieldLabel("Si oui, par des chercheurs (professionnels ou amateurs) de quelle provenance ?");
valorisationOnglet.add(provenanceRechercheTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "autreCollection");
typeRechercheTrukCp = creerChoixMultipleCp("typeRecherche");
typeRechercheTrukCp = creerChoixMultipleCp();
typeRechercheTrukCp.hide();
typeRechercheTrukCacGrpChp = new CheckBoxGroup();
typeRechercheTrukCacGrpChp.setFieldLabel("Et pour quelles recherches ?");
valorisationOnglet.add(typeRechercheTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "typeRecherche");
sansMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("sans_motif_acces_mark", "ouiNon");
sansMotifAccesMarkRGrpChp.setFieldLabel("Peut-on consulter vos collections botaniques sans motif de recherches scientifiques ?");
883,7 → 891,7
conservationOnglet = new TabItem();
conservationOnglet.setText("Conservation");
conservationOnglet.setScrollMode(Scroll.AUTO);
conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP));
conservationOnglet.setStyleAttribute("padding", "10px");
conservationOnglet.setData("acces", false);
conservationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
913,30 → 921,34
interetFormationMarkRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
conservationOnglet.add(interetFormationMarkRGrpChp);
localStockageTrukCp = creerChoixMultipleCp("localStockage");
localStockageTrukCacGrpChp = new CheckBoxGroup();
localStockageTrukCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
localStockageTrukCp = creerChoixMultipleCp();
conservationOnglet.add(localStockageTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "localStockage");
meubleStockageTrukCp = creerChoixMultipleCp("meubleStockage");
meubleStockageTrukCp = creerChoixMultipleCp();
meubleStockageTrukCacGrpChp = new CheckBoxGroup();
meubleStockageTrukCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
conservationOnglet.add(meubleStockageTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "meubleStockage");
parametreStockageTrukCp = creerChoixMultipleCp("parametreStockage");
parametreStockageTrukCp = creerChoixMultipleCp();
parametreStockageTrukCacGrpChp = new CheckBoxGroup();
parametreStockageTrukCacGrpChp.setFieldLabel("Quels paramètres maîtrisez vous ?");
conservationOnglet.add(parametreStockageTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "parametreStockage");
collectionCommuneMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_commune_mark", "ouiNon");
collectionCommuneMarkRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections dans les mêmes locaux (problème de conservation en commun) ?");
conservationOnglet.add(collectionCommuneMarkRGrpChp);
collectionAutreTrukCp = creerChoixMultipleCp("autreCollection");
collectionAutreTrukCp = creerChoixMultipleCp();
collectionAutreTrukCacGrpChp = new CheckBoxGroup();
collectionAutreTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
collectionAutreTrukCp.hide();
conservationOnglet.add(collectionAutreTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "autreCollection");
accesControleMarkRGrpChp = creerChoixUniqueRadioGroupe("mark_acces_controle", "ouiNon");
accesControleMarkRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
946,35 → 958,39
restaurationMarkRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
conservationOnglet.add(restaurationMarkRGrpChp);
opRestauTrukCp = creerChoixMultipleCp("opRestau");
opRestauTrukCp = creerChoixMultipleCp();
opRestauTrukCacGrpChp = new CheckBoxGroup();
opRestauTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
opRestauTrukCp.hide();
conservationOnglet.add(opRestauTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "opRestau");
// Création d'un ContentPanel vide et du groupe de bouton radio
// Le groupe de bouton radio recevra les boutons au moment de la réception des données (rafraichir()) et ser à ce moment là ajouter au ContenetPanel
materielConservationCp = creerChoixMultipleCp("onep");
materielConservationCp = creerChoixMultipleCp();
conservationOnglet.add(materielConservationCp);
materielConservationCeRGrpChp = creerChoixUniqueRadioGroupe("materiel_conservation_ce", "onep");
materielConservationCeRGrpChp.setFieldLabel("Utilisez vous du matériel de conservation ?");
materielConservationCeRGrpChp.setToolTip(new ToolTipConfig("Matériel de conservation", "matériel spécialisé pour la conservation des archives ou du patrimoine fragile. Ce matériel possède des propriétés mécaniques et chimiques qui font qu'il résiste dans le temps et que sa dégradation n'entraîne pas de dommages sur le matériel qu'il aide à conserver. Exemples : papier neutre, papier gommé, etc..."));
mediateur.obtenirListeValeurEtRafraichir(this, "onep");
autreMaterielTrukCp = creerChoixMultipleCp("autreMateriel");
autreMaterielTrukCp = creerChoixMultipleCp();
autreMaterielTrukCacGrpChp = new CheckBoxGroup();
autreMaterielTrukCacGrpChp.setFieldLabel("Si non, qu'utilisez vous comme matériel ?");
autreMaterielTrukCp.hide();
conservationOnglet.add(autreMaterielTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "autreMateriel");
traitementMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_mark", "ouiNon");
traitementMarkRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
conservationOnglet.add(traitementMarkRGrpChp);
traitementTrukCp = creerChoixMultipleCp("insecteTraitement");
traitementTrukCp = creerChoixMultipleCp();
traitementTrukCp.hide();
traitementTrukCacGrpChp = new CheckBoxGroup();
traitementTrukCacGrpChp.setFieldLabel("Si oui, lesquels ?");
conservationOnglet.add(traitementTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "insecteTraitement");
collectionAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_acquisition_mark", "ouiNon");
collectionAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
994,7 → 1010,7
traitementAcquisitionMarkLabel.setFieldLabel("Si oui, lesquels ?");
conservationOnglet.add(traitementAcquisitionMarkLabel);
poisonTraitementTrukCp = creerChoixMultipleCp("poisonTraitement");
poisonTraitementTrukCp = creerChoixMultipleCp();
poisonTraitementTrukCp.hide();
poisonTraitementTrukCacGrpChp = new CheckBoxGroup();
poisonTraitementTrukCacGrpChp.setFieldLabel("Empoisonnement");
1001,8 → 1017,9
poisonTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
poisonTraitementTrukCacGrpChp.setLabelSeparator("");
conservationOnglet.add(poisonTraitementTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "poisonTraitement");
insecteTraitementTrukCp = creerChoixMultipleCp("insecteTraitement");
insecteTraitementTrukCp = creerChoixMultipleCp();
insecteTraitementTrukCp.hide();
insecteTraitementTrukCacGrpChp = new CheckBoxGroup();
insecteTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
1009,6 → 1026,7
insecteTraitementTrukCacGrpChp.setLabelSeparator("");
insecteTraitementTrukCacGrpChp.setFieldLabel("Désinsectisation");
conservationOnglet.add(insecteTraitementTrukCp);
mediateur.obtenirListeValeurEtRafraichir(this, "insecteTraitement");
return conservationOnglet;
}
1146,7 → 1164,7
personnelOnglet = new TabItem();
personnelOnglet.setText("Personnel");
personnelOnglet.setScrollMode(Scroll.AUTO);
personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, 0));
personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT));
identificationOnglet.setStyleAttribute("padding", "10px");
personnelOnglet.setData("acces", false); // Permet de savoir si l'onblet a été accédé par l'utilisateur
personnelOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
1167,7 → 1185,7
ContentPanel cp = new ContentPanel();
cp.setHeading("Personnes travaillant sur les collections");
cp.setIconStyle("icone-table");
cp.setIcon(Images.ICONES.table());
//cp.setScrollMode(Scroll.AUTO);
cp.setLayout(new FitLayout());
//cp.setWidth(1250);
1194,7 → 1212,6
configs.add(r);
ColumnConfig column = new ColumnConfig("fonction", "Fonction", 150);
mediateur.obtenirListeValeurEtRafraichir(this, "fonction");
fonctionsMagazin = new ListStore<Valeur>();
fonctionsCombo = new ComboBox<Valeur>();
1202,6 → 1219,7
fonctionsCombo.setEditable(true);
fonctionsCombo.setDisplayField("nom");
fonctionsCombo.setStore(fonctionsMagazin);
mediateur.obtenirListeValeurEtRafraichir(this, "fonction");
fonctionEditor = new CellEditor(fonctionsCombo) {
@Override
1287,7 → 1305,6
column.setEditor(new CellEditor(emailChp));
configs.add(column);
mediateur.obtenirListeValeurEtRafraichir(this, "statut");
magazinLiStatut = new ListStore<Valeur>();
magazinLiStatut.add(new ArrayList<Valeur>());
1297,6 → 1314,7
comboLiStatut.disableTextSelection(true);
comboLiStatut.setDisplayField("nom");
comboLiStatut.setStore(magazinLiStatut);
mediateur.obtenirListeValeurEtRafraichir(this, "statut");
CellEditor statutEditor = new CellEditor(comboLiStatut) {
@Override
1340,7 → 1358,7
ToolBar toolBar = new ToolBar();
Button ajouterPersonnelBtn = new Button("Ajouter");
ajouterPersonnelBtn.setIconStyle("icone-vcard-ajouter");
ajouterPersonnelBtn.setIcon(Images.ICONES.vcardAjouter());
ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
1353,7 → 1371,7
toolBar.add(new SeparatorToolItem());
supprimerPersonnelBtn = new Button("Supprimer");
supprimerPersonnelBtn.setIconStyle("icone-vcard-supprimer");
supprimerPersonnelBtn.setIcon(Images.ICONES.vcardSupprimer());
supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
1380,7 → 1398,7
toolBar.add(new SeparatorToolItem());
Button rafraichirPersonnelBtn = new Button("Rafraichir");
rafraichirPersonnelBtn.setIconStyle("icone-rafraichir");
rafraichirPersonnelBtn.setIcon(Images.ICONES.rafraichir());
rafraichirPersonnelBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
1491,7 → 1509,7
FieldSet fieldSetIdentite = new FieldSet();
fieldSetIdentite.setHeading("Identité");
fieldSetIdentite.setCollapsible(true);
fieldSetIdentite.setLayout(creerFormLayout(120, LabelAlign.LEFT, 4));
fieldSetIdentite.setLayout(creerFormLayout(120, LabelAlign.LEFT));
nomStructureChp = new TextField<String>();
nomStructureChp.setTabIndex(tabIndex++);
1518,9 → 1536,9
ligne.setSize(600, -1);
LayoutContainer gauche = new LayoutContainer();
gauche.setLayout(creerFormLayout(120, LabelAlign.LEFT, 0));
gauche.setLayout(creerFormLayout(120, LabelAlign.LEFT));
LayoutContainer droite = new LayoutContainer();
droite.setLayout(creerFormLayout(10, LabelAlign.LEFT, 0));
droite.setLayout(creerFormLayout(10, LabelAlign.LEFT));
ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();
acronymes.add(InterneValeurListe.getTypeAcronyme());
1577,10 → 1595,10
ligneTs.setSize(600, -1);
LayoutContainer gaucheTs = new LayoutContainer();
gaucheTs.setLayout(creerFormLayout(120, LabelAlign.LEFT, 0));
gaucheTs.setLayout(creerFormLayout(120, LabelAlign.LEFT));
LayoutContainer droiteTs = new LayoutContainer();
droiteTs.setLayout(creerFormLayout(10, LabelAlign.LEFT, 0));
droiteTs.setLayout(creerFormLayout(10, LabelAlign.LEFT));
ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();
typesStructure.add(InterneValeurListe.getTypeStructure());
1613,7 → 1631,6
});
gaucheTs.add(comboTypeStructure, new FormData("95%"));
mediateur.obtenirListeValeurEtRafraichir(this, "stpu");
magazinLstpu = new ListStore<Valeur>();
comboLstpu = new ComboBox<Valeur>();
comboLstpu.setTabIndex(tabIndex++);
1625,8 → 1642,8
comboLstpu.setStore(magazinLstpu);
comboLstpu.hide();
droiteTs.add(comboLstpu, new FormData("95%"));
mediateur.obtenirListeValeurEtRafraichir(this, "stpu");
mediateur.obtenirListeValeurEtRafraichir(this, "stpr");
magazinLstpr = new ListStore<Valeur>();
comboLstpr = new ComboBox<Valeur>();
comboLstpr.setTabIndex(tabIndex++);
1638,6 → 1655,7
comboLstpr.setStore(magazinLstpr);
comboLstpr.hide();
droiteTs.add(comboLstpr, new FormData("95%"));
mediateur.obtenirListeValeurEtRafraichir(this, "stpr");
ligneTs.add(gaucheTs, new ColumnData(0.5));
ligneTs.add(droiteTs, new ColumnData(0.5));
1666,16 → 1684,16
principalFdAdresse.setSize(600, -1);
LayoutContainer gaucheFdAdresse = new LayoutContainer();
gaucheFdAdresse.setLayout(creerFormLayout(null, LabelAlign.LEFT, 0));
gaucheFdAdresse.setLayout(creerFormLayout(null, LabelAlign.LEFT));
LayoutContainer droiteFdAdresse = new LayoutContainer();
droiteFdAdresse.setLayout(creerFormLayout(null, LabelAlign.LEFT, 0));
droiteFdAdresse.setLayout(creerFormLayout(null, LabelAlign.LEFT));
FieldSet fieldSetAdresse = new FieldSet();
fieldSetAdresse.setHeading("Adresse");
fieldSetAdresse.setCollapsible(true);
fieldSetAdresse.setLayout(creerFormLayout(null, LabelAlign.LEFT, 0));
fieldSetAdresse.setLayout(creerFormLayout(null, LabelAlign.LEFT));
adrChp = new TextArea();
adrChp.setTabIndex(tabIndex++);
1697,7 → 1715,6
regionChp.setFieldLabel("Région");
gaucheFdAdresse.add(regionChp, new FormData("95%"));
mediateur.obtenirListeValeurEtRafraichir(this, "pays");
magazinPays = new ListStore<Valeur>();
comboPays = new ComboBox<Valeur>();
comboPays.setTabIndex(tabIndex++);
1711,6 → 1728,7
comboPays.setTriggerAction(TriggerAction.ALL);
comboPays.setStore(magazinPays);
droiteFdAdresse.add(comboPays, new FormData("95%"));
mediateur.obtenirListeValeurEtRafraichir(this, "pays");
principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));
principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));
1722,19 → 1740,19
// Fieldset TÉLÉPHONE et EMAIL
LayoutContainer principalFdTelMail = new LayoutContainer();
principalFdTelMail.setLayout(new ColumnLayout());
principalFdTelMail.setSize(800, -1);
principalFdTelMail.setSize(700, -1);
LayoutContainer gaucheFdTelMail = new LayoutContainer();
gaucheFdTelMail.setLayout(creerFormLayout(null, LabelAlign.LEFT, 0));
gaucheFdTelMail.setLayout(creerFormLayout(60, LabelAlign.LEFT));
LayoutContainer droiteFdTelMail = new LayoutContainer();
droiteFdTelMail.setLayout(creerFormLayout(null, LabelAlign.LEFT, 0));
droiteFdTelMail.setLayout(creerFormLayout(60, LabelAlign.LEFT));
FieldSet fieldSetTelMail = new FieldSet();
fieldSetTelMail.setHeading("Communication");
fieldSetTelMail.setCollapsible(true);
fieldSetTelMail.setLayout(creerFormLayout(null, LabelAlign.LEFT, 4));
fieldSetTelMail.setLayout(creerFormLayout(null, LabelAlign.LEFT));
telChp = new TextField<String>();
telChp.setTabIndex(tabIndex++);
1825,7 → 1843,7
* @param padding padding du layout
* @return
*/
private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign) {
FormLayout formLayout = new FormLayout();
if (labelWidth != null) {
formLayout.setLabelWidth(labelWidth);
1947,15 → 1965,12
* Apelle un service retournant la liste des valeurs représentant les cases à cocher.
* Ajoute ou pas un champ "Autre".
*
* @param listeNom nom de la liste de valeur
* @return
* @return ContentPanel le panneau contenant les cases à cocher
*/
private ContentPanel creerChoixMultipleCp(String listeNom) {
mediateur.obtenirListeValeurEtRafraichir(this, listeNom);
ContentPanel cp = new ContentPanel();
cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
cp.setHeaderVisible(false);
return cp;
private LayoutContainer creerChoixMultipleCp() {
LayoutContainer conteneur = new LayoutContainer();
conteneur.setLayout(creerFormLayout(650, LabelAlign.TOP));
return conteneur;
}
/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1968,7 → 1983,7
* @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître
* @return
*/
private void creerChoixMultipleCac(ContentPanel cp, final CheckBoxGroup cacGroupe, ValeurListe listeValeurs, final Field<String> autreChp) {
private void creerChoixMultipleCac(LayoutContainer cp, final CheckBoxGroup cacGroupe, ValeurListe listeValeurs, final Field<String> autreChp) {
cp.addListener(Events.Hide, new Listener<BaseEvent>() {
 
public void handleEvent(BaseEvent be) {
1977,7 → 1992,9
}
});
cacGroupe.setAutoWidth(true);
cacGroupe.setStyleAttribute("padding", "3px");
cacGroupe.setData("liste_id", listeValeurs.getId());
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
Valeur val = listeValeurs.get(it.next());
1994,16 → 2011,16
cp.add(cacGroupe);
if (autreChp != null) {
ContentPanel autreCp = new ContentPanel();
autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
autreCp.setHeaderVisible(false);
// FIXME : éviter le chevauchement du texte des cases à cocher avec le label "Autre" sur les petits écrans
LayoutContainer conteneur = new LayoutContainer();
conteneur.setLayout(creerFormLayout(50, LabelAlign.LEFT));
autreChp.setId("autre-"+listeValeurs.getId());
autreChp.setFieldLabel("Autre");
autreChp.setLabelStyle("font-weight:normal;");
autreCp.add(autreChp);
cp.add(autreCp);
autreChp.setLabelStyle("font-weight:normal;float:left;width:50px;");
conteneur.add(autreChp, new FormData(500, 0));
cp.add(conteneur);
}
cp.layout();
}
2089,6 → 2106,7
}
} else if (nouvelleDonnees instanceof ValeurListe) {
ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
List<Valeur> liste = listeValeurs.toList();
 
// Test pour savoir si la liste contient des éléments
2135,12 → 2153,12
creerChoixMultipleCac(parametreStockageTrukCp, parametreStockageTrukCacGrpChp, listeValeurs, parametreStockageAutreChp);
}
if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
if (collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
if (collectionAutreTrukCp != null && collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
collectionAutreTrukCacGrpChp.setId("collectionAutreTrukCacGrpChp");
collectionAutreAutreChp = new TextField<String>();
creerChoixMultipleCac(collectionAutreTrukCp, collectionAutreTrukCacGrpChp, listeValeurs, collectionAutreAutreChp);
}
if (autreCollectionTrukCp.getItemByItemId("autreCollectionTrukCacGrpChp") == null) {
if (autreCollectionTrukCp != null && autreCollectionTrukCp.getItemByItemId("autreCollectionTrukCacGrpChp") == null) {
autreCollectionTrukCacGrpChp.setId("autreCollectionTrukCacGrpChp");
autreCollectionAutreChp = new TextField<String>();
creerChoixMultipleCac(autreCollectionTrukCp, autreCollectionTrukCacGrpChp, listeValeurs, autreCollectionAutreChp);
2164,12 → 2182,12
creerChoixMultipleCac(poisonTraitementTrukCp, poisonTraitementTrukCacGrpChp, listeValeurs, poisonTraitementAutreChp);
}
if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
if (traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
if (traitementTrukCp != null && traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
traitementTrukCacGrpChp.setId("traitementTrukCacGrpChp");
traitementAutreChp = new TextField<String>();
creerChoixMultipleCac(traitementTrukCp, traitementTrukCacGrpChp, listeValeurs, traitementAutreChp);
}
if (insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
if (insecteTraitementTrukCp != null && insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
insecteTraitementTrukCacGrpChp.setId("insecteTraitementTrukCacGrpChp");
insecteTraitementAutreChp = new TextField<String>();
creerChoixMultipleCac(insecteTraitementTrukCp, insecteTraitementTrukCacGrpChp, listeValeurs, insecteTraitementAutreChp);