Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 109 → Rev 110

/trunk/src/org/tela_botanica/client/vues/FormStructureVue.java
16,6 → 16,7
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
51,6 → 52,7
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.tips.ToolTipConfig;
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;
84,6 → 86,20
private ContentPanel trukMeubleStockageCp = null;
private CheckBoxGroup trukParametreStockageCacGrpChp = null;
private ContentPanel trukParametreStockageCp = null;
private ContentPanel trukCollectionAutreCp = null;
private CheckBoxGroup trukCollectionAutreCacGrpChp = null;
private CheckBoxGroup trukOpRestauCacGrpChp = null;
private ContentPanel trukOpRestauCp = null;
private ContentPanel ceMaterielConservationCp = null;
private CheckBoxGroup ceMaterielConservationCacGrpChp = null;
private CheckBoxGroup trukAutreMaterielCacGrpChp = null;
private ContentPanel trukAutreMaterielCp = null;
private ContentPanel trukTraitementCp = null;
private CheckBoxGroup trukTraitementCacGrpChp = null;
private ContentPanel trukPoisonTraitementCp;
private ContentPanel trukInsecteTraitementCp;
private CheckBoxGroup trukInsecteTraitementCacGrpChp;
private CheckBoxGroup trukPoisonTraitementCacGrpChp;
public FormStructureVue() {
//+-----------------------------------------------------------------------------------------------------------+
91,13 → 107,8
setLayout(new FitLayout());
coelModele = Registry.get(RegistreId.MODELE);
// Création de la disposition : FIELDSET
FormLayout layoutFieldset = new FormLayout();
layoutFieldset.setLabelWidth(200);
layoutFieldset.setPadding(4);
 
//+-----------------------------------------------------------------------------------------------------------+
// Création du panneau Formulaire
// Création du panneau du FORMULAIRE GÉNÉRAL
FormPanel panel = new FormPanel();
panel.setFrame(true);
panel.setIconStyle("icone-form-ajouter");
106,271 → 117,16
panel.setButtonAlign(HorizontalAlignment.CENTER);
panel.setLayout(new FlowLayout());
 
//+-----------------------------------------------------------------------------------------------------------+
// Création des onglets
TabPanel onglets = new TabPanel();
onglets.setAutoHeight(true);
//tabs.setDeferredRender(false);
// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner)
onglets.setHeight("100%");
//+-----------------------------------------------------------------------------------------------------------+
// Onlget formulaire IDENTIFICATION
TabItem identificationOnglet = new TabItem();
identificationOnglet.setText("Identification");
identificationOnglet.setLayout(new FormLayout());
onglets.add(creerOngletIdentification());
 
// 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 : Acronyme
LayoutContainer 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>() {
@Override
public 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 Structure
LayoutContainer 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>() {
@Override
public 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 ADRESSE
LayoutContainer 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 EMAIL
LayoutContainer principalFdTelMail = new LayoutContainer();
principalFdTelMail.setLayout(new ColumnLayout());
LayoutContainer gaucheFdTelMail = new LayoutContainer();
gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
LayoutContainer droiteFdTelMail = new LayoutContainer();
droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
FieldSet fieldSetTelMail = new FieldSet();
fieldSetTelMail.setHeading("Communication");
fieldSetTelMail.setCollapsible(true);
fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
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 PERSONNEL
onglets.add(creerOngletPersonnel());
385,8 → 141,6
TabItem valorisationOnglet = new TabItem();
valorisationOnglet.setText("Valorisation");
valorisationOnglet.setLayout(new FormLayout());
 
onglets.add(valorisationOnglet);
//+-----------------------------------------------------------------------------------------------------------+
408,6 → 162,7
private TabItem creerOngletConservation() {
conservationOnglet = new TabItem();
conservationOnglet.setText("Conservation");
conservationOnglet.setScrollMode(Scroll.AUTO);
conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
RadioGroup markFormationRGrpChp = new RadioGroup("mark_formation_grp");
438,6 → 193,61
creerChoixUniqueBr(markCollectionCommuneRGrpChp, "mark_collection_commune");
conservationOnglet.add(markCollectionCommuneRGrpChp);
trukCollectionAutreCp = creerChoixMultipleCp("autreCollection");
conservationOnglet.add(trukCollectionAutreCp);
RadioGroup markAccesControleRGrpChp = new RadioGroup("mark_acces_controle_grp");
markAccesControleRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
creerChoixUniqueBr(markAccesControleRGrpChp, "mark_acces_controle");
conservationOnglet.add(markAccesControleRGrpChp);
RadioGroup markRestaurationRGrpChp = new RadioGroup("restauration_grp");
markRestaurationRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
creerChoixUniqueBr(markRestaurationRGrpChp, "mark_restauration");
conservationOnglet.add(markRestaurationRGrpChp);
trukOpRestauCp = creerChoixMultipleCp("opRestau");
conservationOnglet.add(trukOpRestauCp);
ceMaterielConservationCp = creerChoixMultipleCp("onep");
conservationOnglet.add(ceMaterielConservationCp);
trukAutreMaterielCp = creerChoixMultipleCp("autreMateriel");
conservationOnglet.add(trukAutreMaterielCp);
RadioGroup markTraitementRGrpChp = new RadioGroup("traitement_grp");
markTraitementRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
creerChoixUniqueBr(markTraitementRGrpChp, "mark_traitement");
conservationOnglet.add(markTraitementRGrpChp);
trukTraitementCp = creerChoixMultipleCp("insecteTraitement");
conservationOnglet.add(trukTraitementCp);
RadioGroup markCollectionAcquisitionRGrpChp = new RadioGroup("collection_acquisition_grp");
markCollectionAcquisitionRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
creerChoixUniqueBr(markCollectionAcquisitionRGrpChp, "mark_collection_acquisition");
conservationOnglet.add(markCollectionAcquisitionRGrpChp);
RadioGroup markEchantillonAcquisitionRGrpChp = new RadioGroup("echantillon_acquisition_grp");
markEchantillonAcquisitionRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
creerChoixUniqueBr(markEchantillonAcquisitionRGrpChp, "mark_echantillon_acquisition");
conservationOnglet.add(markEchantillonAcquisitionRGrpChp);
 
RadioGroup markTraitementAcquisitionRGrpChp = new RadioGroup("traitement_acquisition_grp");
markTraitementAcquisitionRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
creerChoixUniqueBr(markTraitementAcquisitionRGrpChp, "mark_traitement_acquisition");
conservationOnglet.add(markTraitementAcquisitionRGrpChp);
LabelField question = new LabelField();
question.setFieldLabel("Si oui, lesquels ?");
conservationOnglet.add(question);
trukPoisonTraitementCp = creerChoixMultipleCp("poisonTraitement");
conservationOnglet.add(trukPoisonTraitementCp);
trukInsecteTraitementCp = creerChoixMultipleCp("insecteTraitement");
conservationOnglet.add(trukInsecteTraitementCp);
return conservationOnglet;
}
445,9 → 255,8
private TabItem creerOngletPersonnel() {
personnelOnglet = new TabItem();
personnelOnglet.setText("Personnel");
FormLayout personnelOngletLayout = new FormLayout();
personnelOngletLayout.setLabelWidth(400);
personnelOnglet.setLayout(personnelOngletLayout);
personnelOnglet.setScrollMode(Scroll.AUTO);
personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, null));
NumberField nbreTotalPersonneStructureChp = new NumberField();
nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
603,8 → 412,10
ContentPanel cp = new ContentPanel();
cp.setHeading("Personnes travaillant sur les collections");
cp.setIconStyle("icone-table");
cp.setIconStyle("icone-table");
cp.setScrollMode(Scroll.AUTO);
cp.setLayout(new FitLayout());
cp.setSize(1100, 200);
cp.setFrame(true);
ToolBar toolBar = new ToolBar();
650,15 → 461,255
grillePersonnel.setSelectionModel(sm);
grillePersonnel.addPlugin(sm);
grillePersonnel.addPlugin(checkColumn);
grillePersonnel.setSize(1010, 400);
grillePersonnel.setAutoExpandColumn("specialites");
cp.add(grillePersonnel);
return cp;
}
private TabItem creerOngletIdentification() {
//+-----------------------------------------------------------------------------------------------------------+
// Onlget formulaire IDENTIFICATION
TabItem identificationOnglet = new TabItem();
identificationOnglet.setText("Identification");
identificationOnglet.setLayout(new FormLayout());
 
//+-----------------------------------------------------------------------------------------------------------+
// Fieldset IDENTITÉ
FieldSet fieldSetIdentite = new FieldSet();
fieldSetIdentite.setHeading("Identité");
fieldSetIdentite.setCollapsible(true);
fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
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 : Acronyme
LayoutContainer ligne = new LayoutContainer();
ligne.setLayout(new ColumnLayout());
LayoutContainer gauche = new LayoutContainer();
gauche.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
LayoutContainer droite = new LayoutContainer();
droite.setLayout(creerFormLayout(0, null, 0));
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>() {
@Override
public 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 Structure
LayoutContainer ligneTs = new LayoutContainer();
ligneTs.setLayout(new ColumnLayout());
LayoutContainer gaucheTs = new LayoutContainer();
gaucheTs.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
LayoutContainer droiteTs = new LayoutContainer();
droiteTs.setLayout(creerFormLayout(0, null, 0));
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>() {
@Override
public 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 ADRESSE
LayoutContainer principalFdAdresse = new LayoutContainer();
principalFdAdresse.setLayout(new ColumnLayout());
LayoutContainer gaucheFdAdresse = new LayoutContainer();
gaucheFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
LayoutContainer droiteFdAdresse = new LayoutContainer();
droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
FieldSet fieldSetAdresse = new FieldSet();
fieldSetAdresse.setHeading("Adresse");
fieldSetAdresse.setCollapsible(true);
fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4));
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 EMAIL
LayoutContainer principalFdTelMail = new LayoutContainer();
principalFdTelMail.setLayout(new ColumnLayout());
LayoutContainer gaucheFdTelMail = new LayoutContainer();
gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
LayoutContainer droiteFdTelMail = new LayoutContainer();
droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
FieldSet fieldSetTelMail = new FieldSet();
fieldSetTelMail.setHeading("Communication");
fieldSetTelMail.setCollapsible(true);
fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
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);
return identificationOnglet;
}
/** Méthode simplifiant la création de FormLayout.
* Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
*
* @param labelWidth largeur des labels
* @param labelWidth largeur des labels.
* @param labelAlign alignement des labels
* @param padding padding du layout
* @return
665,8 → 716,12
*/
private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
FormLayout formLayout = new FormLayout();
formLayout.setLabelWidth(labelWidth);
formLayout.setLabelAlign(labelAlign);
if (labelWidth != null) {
formLayout.setLabelWidth(labelWidth);
}
if (labelAlign != null) {
formLayout.setLabelAlign(labelAlign);
}
if (padding != null) {
formLayout.setPadding(padding);
}
703,7 → 758,6
coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
ContentPanel cp = new ContentPanel();
cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
cp.setWidth("100%");
cp.setHeaderVisible(false);
return cp;
}
721,10 → 775,13
*/
private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, String labelTxt, ValeurListe listeValeurs, Boolean boolAutreChp) {
cacGroupe.setFieldLabel(labelTxt);
cacGroupe.setAutoWidth(true);
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
String nom = listeValeurs.get(it.next()).get("nom");
CheckBox cac = new CheckBox();
GWT.log("Taille '"+nom+"' : "+nom.length(), null);
// TODO : supprimer le code ci-dessous si inutile
/*
//GWT.log("Taille '"+nom+"' : "+nom.length(), null);
// Calcul de la largeur de la checkbox en fonction de la taille du label
int largeur = nom.length()*10;
if (nom.length() > 15) {
734,6 → 791,7
largeur = 250;
}
cac.setWidth(largeur);
*/
cac.setBoxLabel(nom);
cacGroupe.add(cac);
}
791,6 → 849,7
creerChoixMultipleCac(trukLocalStockageCp, trukLocalStockageCacGrpChp, labelTxt, listeValeurs, true);
}
if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
trukMeubleStockageCp.setToolTip(new ToolTipConfig("Rayonnages mobiles", "rayonnages sur rails pouvant être déplacés, manuellement ou automatiquement, de façon à utiliser l'espace ordinairement occupé par les allées de desserte entre travées."));
trukMeubleStockageCacGrpChp = new CheckBoxGroup();
String labelTxt = "Avez vous des meubles spécifiques au stockage des collections botaniques ?";
creerChoixMultipleCac(trukMeubleStockageCp, trukMeubleStockageCacGrpChp, labelTxt, listeValeurs, true);
800,7 → 859,49
String labelTxt = "Quels paramètres maîtrisez vous ?";
creerChoixMultipleCac(trukParametreStockageCp, trukParametreStockageCacGrpChp, labelTxt, listeValeurs, true);
}
GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
trukCollectionAutreCacGrpChp = new CheckBoxGroup();
String labelTxt = "Si oui, lesquelles ?";
creerChoixMultipleCac(trukCollectionAutreCp, trukCollectionAutreCacGrpChp, labelTxt, listeValeurs, true);
}
if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
trukOpRestauCacGrpChp = new CheckBoxGroup();
String labelTxt = "Si oui, lesquelles ?";
creerChoixMultipleCac(trukOpRestauCp, trukOpRestauCacGrpChp, labelTxt, listeValeurs, true);
}
if (listeValeurs.getId().equals(config.getListeId("onep"))) {
ceMaterielConservationCacGrpChp = new CheckBoxGroup();
String labelTxt = "Utilisez vous du matériel de conservation ?";
ceMaterielConservationCp.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..."));
creerChoixMultipleCac(ceMaterielConservationCp, ceMaterielConservationCacGrpChp, labelTxt, listeValeurs, true);
}
if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
trukAutreMaterielCacGrpChp = new CheckBoxGroup();
String labelTxt = "Si non, qu'utilisez vous comme matériel ?";
creerChoixMultipleCac(trukAutreMaterielCp, trukAutreMaterielCacGrpChp, labelTxt, listeValeurs, true);
}
if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
trukPoisonTraitementCacGrpChp = new CheckBoxGroup();
String labelTxt = "Empoisonnement";
trukPoisonTraitementCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
trukPoisonTraitementCacGrpChp.setLabelSeparator("");
creerChoixMultipleCac(trukPoisonTraitementCp, trukPoisonTraitementCacGrpChp, labelTxt, listeValeurs, true);
}
if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
if (trukTraitementCp.isRendered() && trukTraitementCp.getItemByItemId("trukTraitementCacGrpChp") == null) {
trukTraitementCacGrpChp = new CheckBoxGroup();
trukTraitementCacGrpChp.setId("trukTraitementCacGrpChp");
creerChoixMultipleCac(trukTraitementCp, trukTraitementCacGrpChp, "Si oui, lesquels ?", listeValeurs, true);
}
if (trukInsecteTraitementCp.isRendered() && trukInsecteTraitementCp.getItemByItemId("trukInsecteTraitementCacGrpChp") == null) {
trukInsecteTraitementCacGrpChp = new CheckBoxGroup();
trukInsecteTraitementCacGrpChp.setId("trukInsecteTraitementCacGrpChp");
trukInsecteTraitementCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
trukInsecteTraitementCacGrpChp.setLabelSeparator("");
creerChoixMultipleCac(trukInsecteTraitementCp, trukInsecteTraitementCacGrpChp, "Désinsectisation", listeValeurs, true);
}
}
//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
} else {
GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
}
/trunk/src/org/tela_botanica/client/modeles/Configuration.java
43,6 → 43,12
listesId.put("localStockage", Integer.valueOf(configuration.get("listeStockageLocal")));
listesId.put("meubleStockage", Integer.valueOf(configuration.get("listeStockageMeuble")));
listesId.put("parametreStockage", Integer.valueOf(configuration.get("listeStockageParametre")));
listesId.put("autreCollection", Integer.valueOf(configuration.get("listeCollectionAutre")));
listesId.put("opRestau", Integer.valueOf(configuration.get("listeRestaurationOperation")));
listesId.put("onep", Integer.valueOf(configuration.get("listeONEP")));
listesId.put("autreMateriel", Integer.valueOf(configuration.get("listeMaterielAutre")));
listesId.put("poisonTraitement", Integer.valueOf(configuration.get("listeEmpoisonnement")));
listesId.put("insecteTraitement", Integer.valueOf(configuration.get("listeDesinsectisation")));
}
 
/**
/trunk/src/org/tela_botanica/public/config.js
14,5 → 14,17
// liste 16 : Liste des types de mobilier de stockage de collections
listeStockageMeuble:1019,
// liste 17 : Liste des paramètres de contrôle environnemental d'un local
listeStockageParametre:1020
listeStockageParametre:1020,
// liste 18 : Liste des types de collection non botanique
listeCollectionAutre:1021,
// liste 19 : Liste des types d'opération de restauration pour les collections botaniques
listeRestaurationOperation:1022,
// liste 20 : Liste oui/non/en partie
listeONEP:1023,
// liste 21 : Liste du matériel dit de nom conservation des parts d'herbier
listeMaterielAutre:1024,
// liste 22 : Liste de traitement anti-insecte pour les collections botaniques
listeDesinsectisation:1025,
// liste 23 : Liste des poisons utilisés pour les collections botaniques
listeEmpoisonnement:1026
};