34,6 → 34,8 |
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.Radio; |
import com.extjs.gxt.ui.client.widget.form.RadioGroup; |
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; |
49,7 → 51,6 |
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.layout.LayoutData; |
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; |
81,6 → 82,8 |
private ContentPanel trukLocalStockageCp = null; |
private CheckBoxGroup trukMeubleStockageCacGrpChp = null; |
private ContentPanel trukMeubleStockageCp = null; |
private CheckBoxGroup trukParametreStockageCacGrpChp = null; |
private ContentPanel trukParametreStockageCp = null; |
|
public FormStructureVue() { |
//+-----------------------------------------------------------------------------------------------------------+ |
407,44 → 410,34 |
conservationOnglet.setText("Conservation"); |
conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null)); |
|
CheckBoxGroup markFormationCacGrpChp = new CheckBoxGroup(); |
CheckBox ouiMarkFormationCac = new CheckBox(); |
ouiMarkFormationCac.setBoxLabel("Oui"); |
CheckBox nonMarkFormationCac = new CheckBox(); |
nonMarkFormationCac.setBoxLabel("Non"); |
markFormationCacGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?"); |
markFormationCacGrpChp.add(ouiMarkFormationCac); |
markFormationCacGrpChp.add(nonMarkFormationCac); |
conservationOnglet.add(markFormationCacGrpChp); |
RadioGroup markFormationRGrpChp = new RadioGroup("mark_formation_grp"); |
markFormationRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?"); |
creerChoixUniqueBr(markFormationRGrpChp, "mark_formation"); |
conservationOnglet.add(markFormationRGrpChp); |
|
TextField<String> formationChp = new TextField<String>(); |
formationChp.setFieldLabel("Lesquelles ?"); |
conservationOnglet.add(formationChp); |
|
CheckBoxGroup markInteretFormationCacGrpChp = new CheckBoxGroup(); |
CheckBox ouiMarkInteretFormationCac = new CheckBox(); |
ouiMarkInteretFormationCac.setBoxLabel("Oui"); |
CheckBox nonMarkInteretFormationCac = new CheckBox(); |
nonMarkInteretFormationCac.setBoxLabel("Non"); |
markInteretFormationCacGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?"); |
markInteretFormationCacGrpChp.add(ouiMarkInteretFormationCac); |
markInteretFormationCacGrpChp.add(nonMarkInteretFormationCac); |
conservationOnglet.add(markInteretFormationCacGrpChp); |
RadioGroup markInteretFormationRGrpChp = new RadioGroup("mark_interet_formation_grp"); |
markInteretFormationRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?"); |
creerChoixUniqueBr(markInteretFormationRGrpChp, "mark_interet_formation_grp"); |
conservationOnglet.add(markInteretFormationRGrpChp); |
|
coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("localStockage")); |
trukLocalStockageCp = new ContentPanel(); |
trukLocalStockageCp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0)); |
trukLocalStockageCp.setWidth(800); |
trukLocalStockageCp.setHeaderVisible(false); |
trukLocalStockageCp = creerChoixMultipleCp("localStockage"); |
conservationOnglet.add(trukLocalStockageCp); |
|
coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("meubleStockage")); |
trukMeubleStockageCp = new ContentPanel(); |
trukMeubleStockageCp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0)); |
trukMeubleStockageCp.setWidth(800); |
trukMeubleStockageCp.setHeaderVisible(false); |
trukMeubleStockageCp = creerChoixMultipleCp("meubleStockage"); |
conservationOnglet.add(trukMeubleStockageCp); |
|
trukParametreStockageCp = creerChoixMultipleCp("parametreStockage"); |
conservationOnglet.add(trukParametreStockageCp); |
|
RadioGroup markCollectionCommuneRGrpChp = new RadioGroup("mark_collection_commune_grp"); |
markCollectionCommuneRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections dans les mêmes locaux (problème de conservation en commun) ?"); |
creerChoixUniqueBr(markCollectionCommuneRGrpChp, "mark_collection_commune"); |
conservationOnglet.add(markCollectionCommuneRGrpChp); |
|
return conservationOnglet; |
} |
|
680,6 → 673,87 |
return formLayout; |
} |
|
/** Méthode simplifiant la création de bouton radio oui/non |
* |
* @param listeNom nom de la liste de valeur |
* @return |
*/ |
private void creerChoixUniqueBr(RadioGroup radioGroup, String attributNom ) { |
Radio ouiRadio = new Radio(); |
ouiRadio.setName(attributNom); |
ouiRadio.setBoxLabel("Oui"); |
//ouiRadio.setValue(true); |
|
Radio nonRadio = new Radio(); |
nonRadio.setName(attributNom); |
nonRadio.setBoxLabel("Non"); |
|
radioGroup.add(ouiRadio); |
radioGroup.add(nonRadio); |
} |
|
/** Méthode simplifiant la création de choix multiple sous forme de case à cocher. |
* 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 |
*/ |
private ContentPanel creerChoixMultipleCp(String listeNom) { |
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; |
} |
|
/** Méthode simplifiant la création de choix multiple sous forme de case à cocher. |
* Apelle un service retournant la liste des valeurs représentant les cases à cocher. |
* Ajoute ou pas un champ "Autre". |
* |
* @param cp panneau conteant le groupe de case à cocher |
* @param cacGroup le groupe de case à cocher |
* @param labelTxt le texte du champ |
* @param listeValeurs la liste de valeurs à transformer en case à cocher |
* @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître |
* @return |
*/ |
private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, String labelTxt, ValeurListe listeValeurs, Boolean boolAutreChp) { |
cacGroupe.setFieldLabel(labelTxt); |
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); |
// Calcul de la largeur de la checkbox en fonction de la taille du label |
int largeur = nom.length()*10; |
if (nom.length() > 15) { |
largeur = 170; |
} |
if (nom.length() > 25) { |
largeur = 250; |
} |
cac.setWidth(largeur); |
cac.setBoxLabel(nom); |
cacGroupe.add(cac); |
} |
cp.add(cacGroupe); |
|
if (boolAutreChp == true) { |
ContentPanel autreCp = new ContentPanel(); |
autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0)); |
autreCp.setHeaderVisible(false); |
TextField<String> autreTrukLocalStockageChp = new TextField<String>(); |
autreTrukLocalStockageChp.setFieldLabel("Autre"); |
autreTrukLocalStockageChp.setLabelStyle("font-weight:normal;"); |
autreTrukLocalStockageChp.setWidth(300); |
autreCp.add(autreTrukLocalStockageChp); |
cp.add(autreCp); |
} |
|
cp.layout(); |
} |
|
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof ValeurListe) { |
ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees; |
713,63 → 787,19 |
} |
if (listeValeurs.getId().equals(config.getListeId("localStockage"))) { |
trukLocalStockageCacGrpChp = new CheckBoxGroup(); |
trukLocalStockageCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?"); |
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) { |
String nom = listeValeurs.get(it.next()).get("nom"); |
CheckBox trukLocalStockageCac = new CheckBox(); |
// Calcul de la largeur de la checkbox en fonction de la taille du label |
int largeur = nom.length()*10; |
if (nom.length() > 20) { |
largeur = 170; |
} |
trukLocalStockageCac.setWidth(largeur); |
trukLocalStockageCac.setBoxLabel(nom); |
trukLocalStockageCacGrpChp.add(trukLocalStockageCac); |
} |
trukLocalStockageCp.add(trukLocalStockageCacGrpChp); |
|
ContentPanel autreCp = new ContentPanel(); |
autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0)); |
autreCp.setHeaderVisible(false); |
TextField<String> autreTrukLocalStockageChp = new TextField<String>(); |
autreTrukLocalStockageChp.setFieldLabel("Autre"); |
autreTrukLocalStockageChp.setLabelStyle("font-weight:normal;"); |
autreTrukLocalStockageChp.setWidth(300); |
autreCp.add(autreTrukLocalStockageChp); |
trukLocalStockageCp.add(autreCp); |
|
trukLocalStockageCp.layout(); |
String labelTxt = "Avez vous des locaux spécifiques de stockage des collections botaniques ?"; |
creerChoixMultipleCac(trukLocalStockageCp, trukLocalStockageCacGrpChp, labelTxt, listeValeurs, true); |
} |
if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) { |
trukMeubleStockageCacGrpChp = new CheckBoxGroup(); |
trukMeubleStockageCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?"); |
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) { |
String nom = listeValeurs.get(it.next()).get("nom"); |
CheckBox trukMeubleStockageCac = new CheckBox(); |
GWT.log("Taille : "+nom.length(), null); |
// Calcul de la largeur de la checkbox en fonction de la taille du label |
int largeur = nom.length()*8; |
if (nom.length() > 20) { |
largeur = 170; |
} |
trukMeubleStockageCac.setWidth(largeur); |
trukMeubleStockageCac.setBoxLabel(nom); |
trukMeubleStockageCacGrpChp.add(trukMeubleStockageCac); |
} |
trukMeubleStockageCp.add(trukMeubleStockageCacGrpChp); |
|
ContentPanel autreCp = new ContentPanel(); |
autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0)); |
autreCp.setHeaderVisible(false); |
TextField<String> autreTrukLocalStockageChp = new TextField<String>(); |
autreTrukLocalStockageChp.setFieldLabel("Autre"); |
autreTrukLocalStockageChp.setLabelStyle("font-weight:normal;"); |
autreTrukLocalStockageChp.setWidth(300); |
autreCp.add(autreTrukLocalStockageChp); |
trukMeubleStockageCp.add(autreCp); |
|
trukMeubleStockageCp.layout(); |
String labelTxt = "Avez vous des meubles spécifiques au stockage des collections botaniques ?"; |
creerChoixMultipleCac(trukMeubleStockageCp, trukMeubleStockageCacGrpChp, labelTxt, listeValeurs, true); |
} |
if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) { |
trukParametreStockageCacGrpChp = new CheckBoxGroup(); |
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); |
} else { |
GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null); |