Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 100 Rev 102
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line 2... Line 2...
2
 
2
 
3
import java.util.ArrayList;
-
 
4
import java.util.Collections;
-
 
5
import java.util.Comparator;
3
import java.util.ArrayList;
6
import java.util.Iterator;
4
import java.util.Iterator;
Line 7... Line -...
7
import java.util.List;
-
 
8
 
5
import java.util.List;
9
import org.tela_botanica.client.Mediateur;
6
 
10
import org.tela_botanica.client.Modele;
7
import org.tela_botanica.client.Modele;
11
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.RegistreId;
12
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
13
import org.tela_botanica.client.modeles.Configuration;
10
import org.tela_botanica.client.modeles.Configuration;
14
import org.tela_botanica.client.modeles.InterneValeur;
11
import org.tela_botanica.client.modeles.InterneValeur;
15
import org.tela_botanica.client.modeles.InterneValeurListe;
-
 
16
import org.tela_botanica.client.modeles.Structure;
12
import org.tela_botanica.client.modeles.InterneValeurListe;
17
import org.tela_botanica.client.modeles.StructureListe;
13
import org.tela_botanica.client.modeles.Personne;
Line 18... Line 14...
18
import org.tela_botanica.client.modeles.Valeur;
14
import org.tela_botanica.client.modeles.Valeur;
19
import org.tela_botanica.client.modeles.ValeurListe;
15
import org.tela_botanica.client.modeles.ValeurListe;
20
 
-
 
21
import com.extjs.gxt.ui.client.Registry;
-
 
22
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
-
 
23
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
-
 
24
import com.extjs.gxt.ui.client.data.BasePagingLoader;
-
 
25
import com.extjs.gxt.ui.client.data.JsonReader;
-
 
26
import com.extjs.gxt.ui.client.data.ListLoadResult;
-
 
27
import com.extjs.gxt.ui.client.data.ModelData;
-
 
28
import com.extjs.gxt.ui.client.data.ModelType;
-
 
29
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
-
 
30
import com.extjs.gxt.ui.client.data.PagingLoadResult;
16
 
31
import com.extjs.gxt.ui.client.data.PagingLoader;
17
import com.extjs.gxt.ui.client.Registry;
32
import com.extjs.gxt.ui.client.data.ScriptTagProxy;
18
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
-
 
19
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
33
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
20
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
34
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
21
import com.extjs.gxt.ui.client.store.ListStore;
35
import com.extjs.gxt.ui.client.store.ListStore;
22
import com.extjs.gxt.ui.client.widget.ContentPanel;
36
import com.extjs.gxt.ui.client.widget.LayoutContainer;
23
import com.extjs.gxt.ui.client.widget.LayoutContainer;
37
import com.extjs.gxt.ui.client.widget.TabItem;
24
import com.extjs.gxt.ui.client.widget.TabItem;
38
import com.extjs.gxt.ui.client.widget.TabPanel;
25
import com.extjs.gxt.ui.client.widget.TabPanel;
39
import com.extjs.gxt.ui.client.widget.button.Button;
26
import com.extjs.gxt.ui.client.widget.button.Button;
40
import com.extjs.gxt.ui.client.widget.form.ComboBox;
27
import com.extjs.gxt.ui.client.widget.form.ComboBox;
41
import com.extjs.gxt.ui.client.widget.form.DateField;
28
import com.extjs.gxt.ui.client.widget.form.DateField;
42
import com.extjs.gxt.ui.client.widget.form.FieldSet;
-
 
43
import com.extjs.gxt.ui.client.widget.form.FormPanel;
29
import com.extjs.gxt.ui.client.widget.form.FieldSet;
44
import com.extjs.gxt.ui.client.widget.form.Radio;
30
import com.extjs.gxt.ui.client.widget.form.FormPanel;
45
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
-
 
46
import com.extjs.gxt.ui.client.widget.form.TextField;
31
import com.extjs.gxt.ui.client.widget.form.NumberField;
-
 
32
import com.extjs.gxt.ui.client.widget.form.TextField;
-
 
33
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
-
 
34
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
-
 
35
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
-
 
36
import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
-
 
37
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
-
 
38
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
47
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
39
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
48
import com.extjs.gxt.ui.client.widget.form.DateField.DateFieldMessages;
40
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
49
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
41
import com.extjs.gxt.ui.client.widget.grid.Grid;
50
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
42
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
51
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
43
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
52
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
44
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
-
 
45
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
-
 
46
import com.extjs.gxt.ui.client.widget.layout.FormData;
-
 
47
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
53
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
48
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
54
import com.extjs.gxt.ui.client.widget.layout.FormData;
49
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
-
 
50
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
Line 55... Line 51...
55
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
51
import com.google.gwt.core.client.GWT;
Line 56... Line 52...
56
import com.google.gwt.core.client.GWT;
52
import com.google.gwt.i18n.client.DateTimeFormat;
57
import com.google.gwt.i18n.client.DateTimeFormat;
53
import com.google.gwt.i18n.client.NumberFormat;
Line 88... Line 84...
88
		panel.setHeading("Ajout d'une institution");  
84
		panel.setHeading("Ajout d'une institution");  
89
		panel.setButtonAlign(HorizontalAlignment.CENTER);  
85
		panel.setButtonAlign(HorizontalAlignment.CENTER);  
90
		panel.setLayout(new FlowLayout());
86
		panel.setLayout(new FlowLayout());
Line 91... Line 87...
91
 
87
 
92
		// Création des onglets
88
		// Création des onglets
-
 
89
		TabPanel onglets = new TabPanel();
93
		TabPanel onglets = new TabPanel();  
90
		onglets.setAutoHeight(true);
Line 94... Line 91...
94
		//tabs.setDeferredRender(false);  
91
		//tabs.setDeferredRender(false);  
95
		
92
		
96
		//+-----------------------------------------------------------------------------------------------------------+
93
		//+-----------------------------------------------------------------------------------------------------------+
Line 136... Line 133...
136
		comboAcronyme.setStore(acronymes);
133
		comboAcronyme.setStore(acronymes);
137
		comboAcronyme.setEditable(false);
134
		comboAcronyme.setEditable(false);
138
		comboAcronyme.setTypeAhead(true);  
135
		comboAcronyme.setTypeAhead(true);  
139
		comboAcronyme.setTriggerAction(TriggerAction.ALL);
136
		comboAcronyme.setTriggerAction(TriggerAction.ALL);
140
		comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
137
		comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
-
 
138
			@Override
141
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
139
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
142
				String acronymeAbr = se.getSelectedItem().getAbr();
140
				String acronymeAbr = se.getSelectedItem().getAbr();
143
				if (acronymeAbr.equals("IH")) {
141
				if (acronymeAbr.equals("IH")) {
144
					mnhnChp.hide();
142
					mnhnChp.hide();
145
					ihChp.show();
143
					ihChp.show();
Line 200... Line 198...
200
		comboTypeStructure.setStore(typesStructure);
198
		comboTypeStructure.setStore(typesStructure);
201
		comboTypeStructure.setEditable(false);
199
		comboTypeStructure.setEditable(false);
202
		comboTypeStructure.setTypeAhead(true);  
200
		comboTypeStructure.setTypeAhead(true);  
203
		comboTypeStructure.setTriggerAction(TriggerAction.ALL);
201
		comboTypeStructure.setTriggerAction(TriggerAction.ALL);
204
		comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
202
		comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
-
 
203
			@Override
205
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
204
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
206
				String typeAbr = se.getSelectedItem().getAbr();
205
				String typeAbr = se.getSelectedItem().getAbr();
207
				if (typeAbr.equals("stpu")) {
206
				if (typeAbr.equals("stpu")) {
208
					comboLstpr.hide();
207
					comboLstpr.hide();
209
					comboLstpu.show();
208
					comboLstpu.show();
Line 363... Line 362...
363
		onglets.add(identificationOnglet);
362
		onglets.add(identificationOnglet);
Line 364... Line 363...
364
 
363
 
365
		//+-----------------------------------------------------------------------------------------------------------+
364
		//+-----------------------------------------------------------------------------------------------------------+
366
		// Onlget formulaire PERSONNEL
365
		// Onlget formulaire PERSONNEL
367
		TabItem personnelOnglet = new TabItem();  
366
		TabItem personnelOnglet = new TabItem();  
-
 
367
		personnelOnglet.setText("Personnel");
-
 
368
		FormLayout personnelOngletLayout = new FormLayout();
368
		personnelOnglet.setText("Personnel");  
369
		personnelOngletLayout.setLabelWidth(400);
-
 
370
		personnelOnglet.setLayout(personnelOngletLayout);
-
 
371
		
-
 
372
		TextField<String> nbreTotalPersonneStructureChp = new TextField<String>();  
-
 
373
		nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
369
		personnelOnglet.setLayout(new FormLayout());
374
		personnelOnglet.add(nbreTotalPersonneStructureChp);
-
 
375
		
Line 370... Line 376...
370
 
376
		personnelOnglet.add(this.creerGrillePersonnel());
Line 371... Line 377...
371
		
377
		
372
		onglets.add(personnelOnglet);
378
		onglets.add(personnelOnglet);
Line 389... Line 395...
389
		
395
		
Line 390... Line 396...
390
		onglets.add(valorisationOnglet);
396
		onglets.add(valorisationOnglet);
391
		
397
		
392
		//+-----------------------------------------------------------------------------------------------------------+
-
 
393
		// Gestion du FORMULAIRE GÉNÉRAL
-
 
394
		// Ajout du type
-
 
395
		LayoutContainer typeConteneur = new LayoutContainer();
-
 
396
		layoutDroite = new FormLayout();
-
 
397
		layoutDroite.setLabelWidth(50);
-
 
398
		layoutDroite.setPadding(5);
-
 
399
		typeConteneur.setLayout(layoutDroite);
-
 
400
		
-
 
401
		RadioGroup group = new RadioGroup();  
-
 
402
		group.setFieldLabel("Type");
-
 
403
		Radio structureRadio = new Radio();  
-
 
404
		structureRadio.setBoxLabel("Structure");
-
 
405
		structureRadio.setValue(true);
-
 
406
		group.add(structureRadio);
-
 
407
		Radio particulierRadio = new Radio();
-
 
408
		particulierRadio.setBoxLabel("Particulier");
-
 
409
		group.add(particulierRadio);
-
 
Line 410... Line 398...
410
		typeConteneur.add(group);
398
		//+-----------------------------------------------------------------------------------------------------------+
411
		panel.add(typeConteneur);
399
		// Gestion du FORMULAIRE GÉNÉRAL
Line 412... Line 400...
412
		
400
		
Line 421... Line 409...
421
		
409
		
422
		// Ajout du panneau Formulaire à la disposition générale
410
		// Ajout du panneau Formulaire à la disposition générale
423
		add(panel);		  
411
		add(panel);		  
Line -... Line 412...
-
 
412
	}
-
 
413
 
-
 
414
	private ContentPanel creerGrillePersonnel() {  
-
 
415
		List<Personne> personnes = new ArrayList<Personne>();
-
 
416
		personnes.add(new Personne(Valeur.FONCTION_DIRECTEUR));
-
 
417
		personnes.add(new Personne(Valeur.FONCTION_CONSERVATEUR));
-
 
418
		
-
 
419
		List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
-
 
420
 
-
 
421
		CheckBoxSelectionModel<Personne> sm = new CheckBoxSelectionModel<Personne>();
-
 
422
		configs.add(sm.getColumn());
-
 
423
 
-
 
424
		ColumnConfig column = new ColumnConfig();
-
 
425
		column.setId("ce_truk_fonction");
-
 
426
		column.setHeader("Fonction");
-
 
427
		column.setWidth(100);
-
 
428
		configs.add(column);
-
 
429
		
-
 
430
		column = new ColumnConfig();  
-
 
431
		column.setId("prenom");  
-
 
432
		column.setHeader("Prénom");  
-
 
433
		column.setWidth(100);  
-
 
434
		configs.add(column);  
-
 
435
		
-
 
436
		column = new ColumnConfig();  
-
 
437
		column.setId("nom");
-
 
438
		column.setHeader("Nom");
-
 
439
		column.setWidth(75);
-
 
440
		TextField<String> text = new TextField<String>();  
-
 
441
		text.setAllowBlank(false);  
-
 
442
		text.setAutoValidate(true);  
-
 
443
		column.setEditor(new CellEditor(text));
-
 
444
		configs.add(column);  
-
 
445
 
-
 
446
		column = new ColumnConfig("tel", "Téléphone", 100);  
-
 
447
		configs.add(column);
-
 
448
 
-
 
449
		column = new ColumnConfig("fax", "Fax", 100);
-
 
450
		configs.add(column);
-
 
451
		
-
 
452
		column = new ColumnConfig("tps_w", "Temps travail", 0);
-
 
453
		column.setNumberFormat(NumberFormat.getDecimalFormat());
-
 
454
		column.setEditor(new CellEditor(new NumberField()));
-
 
455
		configs.add(column);
-
 
456
		
-
 
457
		column = new ColumnConfig("specialites", "Spécialités botaniques", 200);
-
 
458
		configs.add(column);
-
 
459
		
-
 
460
		CheckColumnConfig checkColumn = new CheckColumnConfig("mark_contact", "Contact ?", 55);
-
 
461
		configs.add(checkColumn);
-
 
462
		
-
 
463
		ContentPanel cp = new ContentPanel();
-
 
464
		cp.setHeading("Personnes travaillant sur les collections");
-
 
465
		cp.setFrame(true);
-
 
466
		cp.setIconStyle("icon-table");  
-
 
467
		cp.setLayout(new FitLayout());  
-
 
468
		
-
 
469
		ToolBar toolBar = new ToolBar();  
-
 
470
		toolBar.add(new TextToolItem("Ajouter", "icon-add"));  
-
 
471
		toolBar.add(new SeparatorToolItem());  
-
 
472
		toolBar.add(new TextToolItem("Supprimer", "icon-delete"));  
-
 
473
		cp.setTopComponent(toolBar);  
-
 
474
 
-
 
475
		ListStore<Personne> store = new ListStore<Personne>();  
-
 
476
		store.add(personnes);  
-
 
477
 
-
 
478
		ColumnModel cm = new ColumnModel(configs);
-
 
479
		
-
 
480
		EditorGrid<Personne> grid = new EditorGrid<Personne>(store, cm);  
-
 
481
		grid.setBorders(true);
-
 
482
		grid.setSelectionModel(sm);
-
 
483
		grid.addPlugin(sm);
-
 
484
		//grid.setAutoExpandColumn("nom");
-
 
485
		grid.addPlugin(checkColumn);
-
 
486
		grid.setHeight(400);
-
 
487
  		
-
 
488
		cp.add(grid);  
-
 
489
		return cp;  
424
	}
490
	}  
425
 
491
	
426
	public void rafraichir(Object nouvelleDonnees) {
492
	public void rafraichir(Object nouvelleDonnees) {
Line 427... Line 493...
427
		if (nouvelleDonnees instanceof ValeurListe) {
493
		if (nouvelleDonnees instanceof ValeurListe) {