Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 103 Rev 108
Line 14... Line 14...
14
import org.tela_botanica.client.modeles.Valeur;
14
import org.tela_botanica.client.modeles.Valeur;
15
import org.tela_botanica.client.modeles.ValeurListe;
15
import org.tela_botanica.client.modeles.ValeurListe;
Line 16... Line 16...
16
 
16
 
17
import com.extjs.gxt.ui.client.Registry;
17
import com.extjs.gxt.ui.client.Registry;
18
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
-
 
19
import com.extjs.gxt.ui.client.event.ComponentEvent;
18
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
20
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
19
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
21
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
20
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
22
import com.extjs.gxt.ui.client.event.SelectionListener;
21
import com.extjs.gxt.ui.client.event.SelectionListener;
23
import com.extjs.gxt.ui.client.event.ToolBarEvent;
22
import com.extjs.gxt.ui.client.event.ToolBarEvent;
24
import com.extjs.gxt.ui.client.store.ListStore;
23
import com.extjs.gxt.ui.client.store.ListStore;
25
import com.extjs.gxt.ui.client.widget.ContentPanel;
24
import com.extjs.gxt.ui.client.widget.ContentPanel;
26
import com.extjs.gxt.ui.client.widget.LayoutContainer;
25
import com.extjs.gxt.ui.client.widget.LayoutContainer;
27
import com.extjs.gxt.ui.client.widget.TabItem;
26
import com.extjs.gxt.ui.client.widget.TabItem;
28
import com.extjs.gxt.ui.client.widget.TabPanel;
27
import com.extjs.gxt.ui.client.widget.TabPanel;
-
 
28
import com.extjs.gxt.ui.client.widget.button.Button;
-
 
29
import com.extjs.gxt.ui.client.widget.form.CheckBox;
29
import com.extjs.gxt.ui.client.widget.button.Button;
30
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
30
import com.extjs.gxt.ui.client.widget.form.ComboBox;
31
import com.extjs.gxt.ui.client.widget.form.ComboBox;
31
import com.extjs.gxt.ui.client.widget.form.DateField;
32
import com.extjs.gxt.ui.client.widget.form.DateField;
32
import com.extjs.gxt.ui.client.widget.form.FieldSet;
33
import com.extjs.gxt.ui.client.widget.form.FieldSet;
33
import com.extjs.gxt.ui.client.widget.form.FormPanel;
34
import com.extjs.gxt.ui.client.widget.form.FormPanel;
Line 46... Line 47...
46
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
47
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
47
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
48
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
48
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
49
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
49
import com.extjs.gxt.ui.client.widget.layout.FormData;
50
import com.extjs.gxt.ui.client.widget.layout.FormData;
50
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
51
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
-
 
52
import com.extjs.gxt.ui.client.widget.layout.LayoutData;
51
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
53
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
52
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
54
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
53
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
55
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
54
import com.google.gwt.core.client.GWT;
56
import com.google.gwt.core.client.GWT;
55
import com.google.gwt.i18n.client.DateTimeFormat;
57
import com.google.gwt.i18n.client.DateTimeFormat;
Line 68... Line 70...
68
	private ComboBox<Valeur> comboLiFonction = null;
70
	private ComboBox<Valeur> comboLiFonction = null;
69
	private ComboBox<InterneValeur> comboAcronyme = null;
71
	private ComboBox<InterneValeur> comboAcronyme = null;
70
	private TextField<String> ihChp = null;
72
	private TextField<String> ihChp = null;
71
	private TextField<String> mnhnChp = null;
73
	private TextField<String> mnhnChp = null;
72
	private ComboBox<InterneValeur> comboTypeStructure = null;
74
	private ComboBox<InterneValeur> comboTypeStructure = null;
-
 
75
	private TabItem personnelOnglet = null;
73
	private EditorGrid<Personne> grillePersonnel = null;
76
	private EditorGrid<Personne> grillePersonnel = null;
74
	private ListStore<Personne> personnelGrilleMagazin = null;
77
	private ListStore<Personne> personnelGrilleMagazin = null;
75
	private LabelField nbreTotalPersonnelChp = null;
78
	private LabelField nbreTotalPersonnelChp = null;
-
 
79
	private TabItem conservationOnglet = null;
-
 
80
	private CheckBoxGroup trukLocalStockageCacGrpChp = null;
-
 
81
	private ContentPanel trukLocalStockageCp = null;
-
 
82
	private CheckBoxGroup trukMeubleStockageCacGrpChp = null;
-
 
83
	private ContentPanel trukMeubleStockageCp = null;
Line 76... Line 84...
76
	
84
	
77
	public FormStructureVue() {
85
	public FormStructureVue() {
78
		//+-----------------------------------------------------------------------------------------------------------+		
86
		//+-----------------------------------------------------------------------------------------------------------+		
79
		// Initialisation de variables
87
		// Initialisation de variables
Line 323... Line 331...
323
		
331
		
324
		LayoutContainer principalFdTelMail = new LayoutContainer();  
332
		LayoutContainer principalFdTelMail = new LayoutContainer();  
Line 325... Line 333...
325
		principalFdTelMail.setLayout(new ColumnLayout());
333
		principalFdTelMail.setLayout(new ColumnLayout());
326
		
-
 
327
		LayoutContainer gaucheFdTelMail = new LayoutContainer();
-
 
328
		layoutGauche = new FormLayout();
-
 
329
		layoutGauche.setLabelAlign(LabelAlign.LEFT);
-
 
330
		layoutGauche.setLabelWidth(100);
334
		
Line 331... Line 335...
331
		layoutGauche.setPadding(0);
335
		LayoutContainer gaucheFdTelMail = new LayoutContainer();
332
		gaucheFdTelMail.setLayout(layoutGauche);
-
 
333
		
-
 
334
		LayoutContainer droiteFdTelMail = new LayoutContainer();
-
 
335
		layoutDroite = new FormLayout();
-
 
336
		layoutDroite.setLabelAlign(LabelAlign.LEFT);
336
		gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
Line 337... Line 337...
337
		layoutDroite.setLabelWidth(100);
337
		
338
		layoutDroite.setPadding(0);
338
		LayoutContainer droiteFdTelMail = new LayoutContainer();
339
		droiteFdTelMail.setLayout(layoutDroite);
339
		droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
Line 340... Line -...
340
		
-
 
341
		FieldSet fieldSetTelMail = new FieldSet();
-
 
342
		fieldSetTelMail.setHeading("Communication");
-
 
343
		fieldSetTelMail.setCollapsible(true);
340
		
Line 344... Line 341...
344
		
341
		FieldSet fieldSetTelMail = new FieldSet();
345
		layoutFieldset = new FormLayout();  
342
		fieldSetTelMail.setHeading("Communication");
346
		layoutFieldset.setLabelWidth(200);  
343
		fieldSetTelMail.setCollapsible(true);
Line 375... Line 372...
375
		// Onlget formulaire PERSONNEL
372
		// Onlget formulaire PERSONNEL
376
		onglets.add(creerOngletPersonnel());
373
		onglets.add(creerOngletPersonnel());
Line 377... Line 374...
377
		
374
		
378
		//+-----------------------------------------------------------------------------------------------------------+
375
		//+-----------------------------------------------------------------------------------------------------------+
379
		// Onlget formulaire CONSERVATION
-
 
380
		TabItem conservationOnglet = new TabItem();  
376
		// Onlget formulaire CONSERVATION
381
		conservationOnglet.setText("Conservation");  
-
 
382
		conservationOnglet.setLayout(new FormLayout());
-
 
383
 
-
 
384
		
377
		onglets.add(creerOngletConservation());
Line 385... Line 378...
385
		onglets.add(conservationOnglet);
378
		onglets.setSelection(conservationOnglet);
386
		
379
		
387
		//+-----------------------------------------------------------------------------------------------------------+
380
		//+-----------------------------------------------------------------------------------------------------------+
388
		// Onlget formulaire VALORISATION
381
		// Onlget formulaire VALORISATION
Line 406... Line 399...
406
		panel.addButton(validerBtn);
399
		panel.addButton(validerBtn);
Line 407... Line 400...
407
		
400
		
408
		// Ajout du panneau Formulaire à la disposition générale
401
		// Ajout du panneau Formulaire à la disposition générale
409
		add(panel);		  
402
		add(panel);		  
-
 
403
	}
-
 
404
	
-
 
405
	private TabItem creerOngletConservation() {
-
 
406
		conservationOnglet = new TabItem();
-
 
407
		conservationOnglet.setText("Conservation");
-
 
408
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
-
 
409
		
-
 
410
		CheckBoxGroup markFormationCacGrpChp = new CheckBoxGroup();
-
 
411
		CheckBox ouiMarkFormationCac = new CheckBox();
-
 
412
		ouiMarkFormationCac.setBoxLabel("Oui");
-
 
413
		CheckBox nonMarkFormationCac = new CheckBox();
-
 
414
		nonMarkFormationCac.setBoxLabel("Non");
-
 
415
		markFormationCacGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
-
 
416
		markFormationCacGrpChp.add(ouiMarkFormationCac);
-
 
417
		markFormationCacGrpChp.add(nonMarkFormationCac);
-
 
418
		conservationOnglet.add(markFormationCacGrpChp);
-
 
419
		
-
 
420
		TextField<String> formationChp = new TextField<String>();
-
 
421
		formationChp.setFieldLabel("Lesquelles ?");
-
 
422
		conservationOnglet.add(formationChp);
-
 
423
		
-
 
424
		CheckBoxGroup markInteretFormationCacGrpChp = new CheckBoxGroup();
-
 
425
		CheckBox ouiMarkInteretFormationCac = new CheckBox();
-
 
426
		ouiMarkInteretFormationCac.setBoxLabel("Oui");
-
 
427
		CheckBox nonMarkInteretFormationCac = new CheckBox();
-
 
428
		nonMarkInteretFormationCac.setBoxLabel("Non");
-
 
429
		markInteretFormationCacGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");  
-
 
430
		markInteretFormationCacGrpChp.add(ouiMarkInteretFormationCac);  
-
 
431
		markInteretFormationCacGrpChp.add(nonMarkInteretFormationCac);  
-
 
432
		conservationOnglet.add(markInteretFormationCacGrpChp);
-
 
433
		
-
 
434
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("localStockage"));
-
 
435
		trukLocalStockageCp = new ContentPanel();
-
 
436
		trukLocalStockageCp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
-
 
437
		trukLocalStockageCp.setWidth(800);
-
 
438
		trukLocalStockageCp.setHeaderVisible(false);
-
 
439
		conservationOnglet.add(trukLocalStockageCp);
-
 
440
		
-
 
441
		coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("meubleStockage"));
-
 
442
		trukMeubleStockageCp = new ContentPanel();
-
 
443
		trukMeubleStockageCp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
-
 
444
		trukMeubleStockageCp.setWidth(800);
-
 
445
		trukMeubleStockageCp.setHeaderVisible(false);
-
 
446
		conservationOnglet.add(trukMeubleStockageCp);
-
 
447
		
-
 
448
		return conservationOnglet;
-
 
449
	}
410
	}
450
	
411
 
451
	
412
	private TabItem creerOngletPersonnel() {
452
	private TabItem creerOngletPersonnel() {
413
		TabItem personnelOnglet = new TabItem();
453
		personnelOnglet = new TabItem();
414
		personnelOnglet.setText("Personnel");
454
		personnelOnglet.setText("Personnel");
415
		FormLayout personnelOngletLayout = new FormLayout();
455
		FormLayout personnelOngletLayout = new FormLayout();
416
		personnelOngletLayout.setLabelWidth(400);
456
		personnelOngletLayout.setLabelWidth(400);
Line 621... Line 661...
621
  		
661
  		
622
		cp.add(grillePersonnel);
662
		cp.add(grillePersonnel);
623
		return cp;  
663
		return cp;  
Line -... Line 664...
-
 
664
	}  
-
 
665
	
-
 
666
	/** Méthode simplifiant la création de FormLayout.
-
 
667
	 * 
-
 
668
	 * @param labelWidth largeur des labels
-
 
669
	 * @param labelAlign alignement des labels
-
 
670
	 * @param padding padding du layout
-
 
671
	 * @return
-
 
672
	 */
-
 
673
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
-
 
674
		FormLayout formLayout = new FormLayout();
-
 
675
		formLayout.setLabelWidth(labelWidth);
-
 
676
		formLayout.setLabelAlign(labelAlign);
-
 
677
		if (padding != null) {
-
 
678
			formLayout.setPadding(padding);
-
 
679
		}
-
 
680
		return formLayout;
624
	}  
681
	}
625
	
682
	
626
	public void rafraichir(Object nouvelleDonnees) {
683
	public void rafraichir(Object nouvelleDonnees) {
Line 627... Line 684...
627
		if (nouvelleDonnees instanceof ValeurListe) {
684
		if (nouvelleDonnees instanceof ValeurListe) {
Line 652... Line 709...
652
				if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
709
				if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
653
					magazinLiFonction.removeAll();
710
					magazinLiFonction.removeAll();
654
					magazinLiFonction.add(liste);
711
					magazinLiFonction.add(liste);
655
					comboLiFonction.setStore(magazinLiFonction);
712
					comboLiFonction.setStore(magazinLiFonction);
656
				}
713
				}
-
 
714
				if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
-
 
715
					trukLocalStockageCacGrpChp = new CheckBoxGroup();
-
 
716
					trukLocalStockageCacGrpChp.setFieldLabel("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);
-
 
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
				}
-
 
743
				if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
-
 
744
					trukMeubleStockageCacGrpChp = new CheckBoxGroup();
-
 
745
					trukMeubleStockageCacGrpChp.setFieldLabel("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);
-
 
758
					}
-
 
759
					trukMeubleStockageCp.add(trukMeubleStockageCacGrpChp);
-
 
760
					
-
 
761
					ContentPanel autreCp = new ContentPanel();
-
 
762
					autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
-
 
763
					autreCp.setHeaderVisible(false);
-
 
764
					TextField<String> autreTrukLocalStockageChp = new TextField<String>();
-
 
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
				}
657
				GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
773
				GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
658
			} else {
774
			} else {
659
				GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
775
				GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
660
			}
776
			}
661
		}
777
		}