Subversion Repositories eFlore/Applications.coel

Rev

Rev 108 | Rev 110 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 108 Rev 109
Line 32... Line 32...
32
import com.extjs.gxt.ui.client.widget.form.DateField;
32
import com.extjs.gxt.ui.client.widget.form.DateField;
33
import com.extjs.gxt.ui.client.widget.form.FieldSet;
33
import com.extjs.gxt.ui.client.widget.form.FieldSet;
34
import com.extjs.gxt.ui.client.widget.form.FormPanel;
34
import com.extjs.gxt.ui.client.widget.form.FormPanel;
35
import com.extjs.gxt.ui.client.widget.form.LabelField;
35
import com.extjs.gxt.ui.client.widget.form.LabelField;
36
import com.extjs.gxt.ui.client.widget.form.NumberField;
36
import com.extjs.gxt.ui.client.widget.form.NumberField;
-
 
37
import com.extjs.gxt.ui.client.widget.form.Radio;
-
 
38
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
37
import com.extjs.gxt.ui.client.widget.form.TextField;
39
import com.extjs.gxt.ui.client.widget.form.TextField;
38
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
40
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
39
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
41
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
40
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
42
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
41
import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
43
import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
Line 47... Line 49...
47
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
49
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
48
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
50
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
49
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
51
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
50
import com.extjs.gxt.ui.client.widget.layout.FormData;
52
import com.extjs.gxt.ui.client.widget.layout.FormData;
51
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
53
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
52
import com.extjs.gxt.ui.client.widget.layout.LayoutData;
-
 
53
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
54
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
54
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
55
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
55
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
56
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
56
import com.google.gwt.core.client.GWT;
57
import com.google.gwt.core.client.GWT;
57
import com.google.gwt.i18n.client.DateTimeFormat;
58
import com.google.gwt.i18n.client.DateTimeFormat;
Line 79... Line 80...
79
	private TabItem conservationOnglet = null;
80
	private TabItem conservationOnglet = null;
80
	private CheckBoxGroup trukLocalStockageCacGrpChp = null;
81
	private CheckBoxGroup trukLocalStockageCacGrpChp = null;
81
	private ContentPanel trukLocalStockageCp = null;
82
	private ContentPanel trukLocalStockageCp = null;
82
	private CheckBoxGroup trukMeubleStockageCacGrpChp = null;
83
	private CheckBoxGroup trukMeubleStockageCacGrpChp = null;
83
	private ContentPanel trukMeubleStockageCp = null;
84
	private ContentPanel trukMeubleStockageCp = null;
-
 
85
	private CheckBoxGroup trukParametreStockageCacGrpChp = null;
-
 
86
	private ContentPanel trukParametreStockageCp = null;
Line 84... Line 87...
84
	
87
	
85
	public FormStructureVue() {
88
	public FormStructureVue() {
86
		//+-----------------------------------------------------------------------------------------------------------+		
89
		//+-----------------------------------------------------------------------------------------------------------+		
87
		// Initialisation de variables
90
		// Initialisation de variables
Line 405... Line 408...
405
	private TabItem creerOngletConservation() {
408
	private TabItem creerOngletConservation() {
406
		conservationOnglet = new TabItem();
409
		conservationOnglet = new TabItem();
407
		conservationOnglet.setText("Conservation");
410
		conservationOnglet.setText("Conservation");
408
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
411
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
Line 409... Line 412...
409
		
412
		
410
		CheckBoxGroup markFormationCacGrpChp = new CheckBoxGroup();
-
 
411
		CheckBox ouiMarkFormationCac = new CheckBox();
-
 
412
		ouiMarkFormationCac.setBoxLabel("Oui");
-
 
413
		CheckBox nonMarkFormationCac = new CheckBox();
-
 
414
		nonMarkFormationCac.setBoxLabel("Non");
413
		RadioGroup markFormationRGrpChp = new RadioGroup("mark_formation_grp");
415
		markFormationCacGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
-
 
416
		markFormationCacGrpChp.add(ouiMarkFormationCac);
414
		markFormationRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
417
		markFormationCacGrpChp.add(nonMarkFormationCac);
415
		creerChoixUniqueBr(markFormationRGrpChp, "mark_formation");
Line 418... Line 416...
418
		conservationOnglet.add(markFormationCacGrpChp);
416
		conservationOnglet.add(markFormationRGrpChp);
419
		
417
		
420
		TextField<String> formationChp = new TextField<String>();
418
		TextField<String> formationChp = new TextField<String>();
Line 421... Line 419...
421
		formationChp.setFieldLabel("Lesquelles ?");
419
		formationChp.setFieldLabel("Lesquelles ?");
422
		conservationOnglet.add(formationChp);
-
 
423
		
-
 
424
		CheckBoxGroup markInteretFormationCacGrpChp = new CheckBoxGroup();
-
 
425
		CheckBox ouiMarkInteretFormationCac = new CheckBox();
-
 
426
		ouiMarkInteretFormationCac.setBoxLabel("Oui");
420
		conservationOnglet.add(formationChp);
427
		CheckBox nonMarkInteretFormationCac = new CheckBox();
-
 
428
		nonMarkInteretFormationCac.setBoxLabel("Non");
421
		
429
		markInteretFormationCacGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");  
422
		RadioGroup markInteretFormationRGrpChp = new RadioGroup("mark_interet_formation_grp");
430
		markInteretFormationCacGrpChp.add(ouiMarkInteretFormationCac);  
423
		markInteretFormationRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
431
		markInteretFormationCacGrpChp.add(nonMarkInteretFormationCac);  
-
 
432
		conservationOnglet.add(markInteretFormationCacGrpChp);
424
		creerChoixUniqueBr(markInteretFormationRGrpChp, "mark_interet_formation_grp");
433
		
-
 
434
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("localStockage"));
-
 
435
		trukLocalStockageCp = new ContentPanel();
-
 
436
		trukLocalStockageCp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
425
		conservationOnglet.add(markInteretFormationRGrpChp);
Line 437... Line -...
437
		trukLocalStockageCp.setWidth(800);
-
 
438
		trukLocalStockageCp.setHeaderVisible(false);
426
		
439
		conservationOnglet.add(trukLocalStockageCp);
-
 
440
		
-
 
441
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("meubleStockage"));
-
 
442
		trukMeubleStockageCp = new ContentPanel();
427
		trukLocalStockageCp = creerChoixMultipleCp("localStockage");
Line -... Line 428...
-
 
428
		conservationOnglet.add(trukLocalStockageCp);
-
 
429
		
-
 
430
		trukMeubleStockageCp = creerChoixMultipleCp("meubleStockage");
-
 
431
		conservationOnglet.add(trukMeubleStockageCp);
-
 
432
		
-
 
433
		trukParametreStockageCp = creerChoixMultipleCp("parametreStockage");
-
 
434
		conservationOnglet.add(trukParametreStockageCp);
-
 
435
		
443
		trukMeubleStockageCp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
436
		RadioGroup markCollectionCommuneRGrpChp = new RadioGroup("mark_collection_commune_grp");
444
		trukMeubleStockageCp.setWidth(800);
437
		markCollectionCommuneRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections  dans les mêmes locaux (problème de conservation en commun) ?");
Line 445... Line 438...
445
		trukMeubleStockageCp.setHeaderVisible(false);
438
		creerChoixUniqueBr(markCollectionCommuneRGrpChp, "mark_collection_commune");
Line 678... Line 671...
678
			formLayout.setPadding(padding);
671
			formLayout.setPadding(padding);
679
		}
672
		}
680
		return formLayout;
673
		return formLayout;
681
	}
674
	}
Line -... Line 675...
-
 
675
	
-
 
676
	/** Méthode simplifiant la création de bouton radio oui/non
-
 
677
	 * 
-
 
678
	 * @param listeNom nom de la liste de valeur
-
 
679
	 * @return
-
 
680
	 */
-
 
681
	private void creerChoixUniqueBr(RadioGroup radioGroup, String attributNom ) {
-
 
682
		Radio ouiRadio = new Radio();
-
 
683
		ouiRadio.setName(attributNom);
-
 
684
		ouiRadio.setBoxLabel("Oui");  
-
 
685
		//ouiRadio.setValue(true);  
-
 
686
		
-
 
687
		Radio nonRadio = new Radio();  
-
 
688
		nonRadio.setName(attributNom);  
-
 
689
		nonRadio.setBoxLabel("Non");  
-
 
690
		
-
 
691
		radioGroup.add(ouiRadio);  
-
 
692
		radioGroup.add(nonRadio);  
-
 
693
	}
-
 
694
	
-
 
695
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
-
 
696
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
-
 
697
	 * Ajoute ou pas un champ "Autre".
-
 
698
	 * 
-
 
699
	 * @param listeNom nom de la liste de valeur
-
 
700
	 * @return
-
 
701
	 */
-
 
702
	private ContentPanel creerChoixMultipleCp(String listeNom) {
-
 
703
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
-
 
704
		ContentPanel cp = new ContentPanel();
-
 
705
		cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
-
 
706
		cp.setWidth("100%");
-
 
707
		cp.setHeaderVisible(false);
-
 
708
		return cp;
-
 
709
	}
-
 
710
	
-
 
711
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
-
 
712
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
-
 
713
	 * Ajoute ou pas un champ "Autre".
-
 
714
	 * 
-
 
715
	 * @param cp panneau conteant le groupe de case à cocher
-
 
716
	 * @param cacGroup le groupe de case à cocher
-
 
717
	 * @param labelTxt le texte du champ
-
 
718
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
-
 
719
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître 
-
 
720
	 * @return
-
 
721
	 */
-
 
722
	private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, String labelTxt, ValeurListe listeValeurs, Boolean boolAutreChp) {
-
 
723
		cacGroupe.setFieldLabel(labelTxt);
-
 
724
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
-
 
725
			String nom =  listeValeurs.get(it.next()).get("nom");
-
 
726
			CheckBox cac = new CheckBox();
-
 
727
			GWT.log("Taille '"+nom+"' : "+nom.length(), null);
-
 
728
			// Calcul de la largeur de la checkbox en fonction de la taille du label
-
 
729
			int largeur = nom.length()*10;
-
 
730
			if (nom.length() > 15) {
-
 
731
				largeur = 170;
-
 
732
			}
-
 
733
			if (nom.length() > 25) {
-
 
734
				largeur = 250;
-
 
735
			}
-
 
736
			cac.setWidth(largeur);
-
 
737
			cac.setBoxLabel(nom);
-
 
738
			cacGroupe.add(cac);
-
 
739
		}
-
 
740
		cp.add(cacGroupe);
-
 
741
		
-
 
742
		if (boolAutreChp == true) {
-
 
743
			ContentPanel autreCp = new ContentPanel();
-
 
744
			autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
-
 
745
			autreCp.setHeaderVisible(false);
-
 
746
			TextField<String> autreTrukLocalStockageChp = new TextField<String>();
-
 
747
			autreTrukLocalStockageChp.setFieldLabel("Autre");
-
 
748
			autreTrukLocalStockageChp.setLabelStyle("font-weight:normal;");
-
 
749
			autreTrukLocalStockageChp.setWidth(300);
-
 
750
			autreCp.add(autreTrukLocalStockageChp);
-
 
751
			cp.add(autreCp);
-
 
752
		}
-
 
753
		
-
 
754
		cp.layout();
-
 
755
	}
682
	
756
	
683
	public void rafraichir(Object nouvelleDonnees) {
757
	public void rafraichir(Object nouvelleDonnees) {
684
		if (nouvelleDonnees instanceof ValeurListe) {
758
		if (nouvelleDonnees instanceof ValeurListe) {
Line 685... Line 759...
685
			ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
759
			ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
Line 711... Line 785...
711
					magazinLiFonction.add(liste);
785
					magazinLiFonction.add(liste);
712
					comboLiFonction.setStore(magazinLiFonction);
786
					comboLiFonction.setStore(magazinLiFonction);
713
				}
787
				}
714
				if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
788
				if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
715
					trukLocalStockageCacGrpChp = new CheckBoxGroup();
789
					trukLocalStockageCacGrpChp = new CheckBoxGroup();
716
					trukLocalStockageCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
790
					String labelTxt = "Avez vous des locaux spécifiques de stockage des collections botaniques ?";
717
					for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
-
 
718
						String nom =  listeValeurs.get(it.next()).get("nom");
-
 
719
						CheckBox trukLocalStockageCac = new CheckBox();
-
 
720
						// Calcul de la largeur de la checkbox en fonction de la taille du label
-
 
721
						int largeur = nom.length()*10;
-
 
722
						if (nom.length() > 20) {
-
 
723
							largeur = 170;
-
 
724
						}
-
 
725
						trukLocalStockageCac.setWidth(largeur);
-
 
726
						trukLocalStockageCac.setBoxLabel(nom);
-
 
727
						trukLocalStockageCacGrpChp.add(trukLocalStockageCac);
-
 
728
					}
-
 
729
					trukLocalStockageCp.add(trukLocalStockageCacGrpChp);
791
					creerChoixMultipleCac(trukLocalStockageCp, trukLocalStockageCacGrpChp, labelTxt, listeValeurs, true);
730
					
-
 
731
					ContentPanel autreCp = new ContentPanel();
-
 
732
					autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
-
 
733
					autreCp.setHeaderVisible(false);
-
 
734
					TextField<String> autreTrukLocalStockageChp = new TextField<String>();
-
 
735
					autreTrukLocalStockageChp.setFieldLabel("Autre");
-
 
736
					autreTrukLocalStockageChp.setLabelStyle("font-weight:normal;");
-
 
737
					autreTrukLocalStockageChp.setWidth(300);
-
 
738
					autreCp.add(autreTrukLocalStockageChp);
-
 
739
					trukLocalStockageCp.add(autreCp);
-
 
740
					
-
 
741
					trukLocalStockageCp.layout();
-
 
742
				}
792
				}
743
				if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
793
				if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
744
					trukMeubleStockageCacGrpChp = new CheckBoxGroup();
794
					trukMeubleStockageCacGrpChp = new CheckBoxGroup();
745
					trukMeubleStockageCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
795
					String labelTxt = "Avez vous des meubles spécifiques au stockage des collections botaniques ?";
746
					for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
-
 
747
						String nom =  listeValeurs.get(it.next()).get("nom");
-
 
748
						CheckBox trukMeubleStockageCac = new CheckBox();
-
 
749
						GWT.log("Taille : "+nom.length(), null);
-
 
750
						// Calcul de la largeur de la checkbox en fonction de la taille du label
-
 
751
						int largeur = nom.length()*8;
-
 
752
						if (nom.length() > 20) {
-
 
753
							largeur = 170;
-
 
754
						}
-
 
755
						trukMeubleStockageCac.setWidth(largeur);
-
 
756
						trukMeubleStockageCac.setBoxLabel(nom);
-
 
757
						trukMeubleStockageCacGrpChp.add(trukMeubleStockageCac);
796
					creerChoixMultipleCac(trukMeubleStockageCp, trukMeubleStockageCacGrpChp, labelTxt, listeValeurs, true);
758
					}
797
				}
759
					trukMeubleStockageCp.add(trukMeubleStockageCacGrpChp);
798
				if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
760
					
-
 
761
					ContentPanel autreCp = new ContentPanel();
799
					trukParametreStockageCacGrpChp = new CheckBoxGroup();
762
					autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
800
					String labelTxt = "Quels paramètres maîtrisez vous ?";
763
					autreCp.setHeaderVisible(false);
-
 
764
					TextField<String> autreTrukLocalStockageChp = new TextField<String>();
801
					creerChoixMultipleCac(trukParametreStockageCp, trukParametreStockageCacGrpChp, labelTxt, listeValeurs, true);
765
					autreTrukLocalStockageChp.setFieldLabel("Autre");
-
 
766
					autreTrukLocalStockageChp.setLabelStyle("font-weight:normal;");
-
 
767
					autreTrukLocalStockageChp.setWidth(300);
-
 
768
					autreCp.add(autreTrukLocalStockageChp);
-
 
769
					trukMeubleStockageCp.add(autreCp);
-
 
770
					
-
 
771
					trukMeubleStockageCp.layout();
-
 
772
				}
802
				}
773
				GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
803
				GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
774
			} else {
804
			} else {
775
				GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
805
				GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
776
			}
806
			}