Subversion Repositories eFlore/Applications.coel

Rev

Rev 639 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
637 jp_milcent 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.i18n.Constantes;
5
import org.tela_botanica.client.images.Images;
6
 
7
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
8
import com.extjs.gxt.ui.client.Style.Scroll;
9
import com.extjs.gxt.ui.client.event.ButtonEvent;
10
import com.extjs.gxt.ui.client.event.SelectionListener;
11
import com.extjs.gxt.ui.client.widget.LayoutContainer;
12
import com.extjs.gxt.ui.client.widget.TabItem;
13
import com.extjs.gxt.ui.client.widget.TabPanel;
14
import com.extjs.gxt.ui.client.widget.button.Button;
15
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
16
import com.extjs.gxt.ui.client.widget.form.FormPanel;
17
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
18
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
19
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
20
import com.google.gwt.user.client.ui.AbstractImagePrototype;
21
 
22
public abstract class Formulaire extends LayoutContainer {
23
 
24
	public static final String MODE_AJOUTER = "AJOUT";
25
	public static final String MODE_MODIFIER = "MODIF";
26
 
27
	public static final String CODE_BOUTON_VALIDER = "VA";
28
	public static final String CODE_BOUTON_APPLIQUER = "AP";
29
	public static final String CODE_BOUTON_ANNULER = "AN";
30
	public static final String CODE_BOUTON_REINITIALISER = "RE";
31
 
32
	protected Constantes i18nC = null;
33
	protected Mediateur mediateur = null;
34
 
35
	protected String mode = null;
36
	protected int tabIndex = 100;
37
 
38
	protected FormPanel panneauFormulaire = null;
39
	protected ButtonBar barreOutilsValidation = null;
40
	protected TabPanel onglets = null;
41
 
42
	public Formulaire(Mediateur mediateurCourrant, String modeDeCreation) {
43
		// Initialisation de variables
44
		mode = modeDeCreation;
45
		mediateur = mediateurCourrant;
46
		i18nC = Mediateur.i18nC;
47
 
48
		// Iniatilisation du layoutContainer
49
		setLayout(new FitLayout());
50
		setBorders(false);
51
 
52
		// Création du panneau du FORMULAIRE GÉNÉRAL
53
		panneauFormulaire = new FormPanel();
54
		panneauFormulaire.setBodyBorder(false);
55
		panneauFormulaire.setFrame(true);
56
		panneauFormulaire.setIcon(Images.ICONES.formAjouter());
57
		panneauFormulaire.setCollapsible(false);
58
		panneauFormulaire.setHeading(i18nC.titreAjoutFormStructurePanneau());
59
		panneauFormulaire.setButtonAlign(HorizontalAlignment.CENTER);
60
		panneauFormulaire.setLayout(new FitLayout());
61
	}
62
 
63
	protected abstract void creerOnglets();
64
 
65
	protected TabItem creerOnglet(String nom, String id) {
66
		TabItem onglet = new TabItem();
67
		onglet.setId(id);
68
		onglet.setText(nom);
69
		onglet.setLayout(new FormLayout());
70
		onglet.setStyleAttribute("padding", "10px");
71
		onglet.setScrollMode(Scroll.AUTO);
72
		onglet.setData("acces", false);
73
 
74
		return onglet;
75
	}
76
 
77
	protected void creerBarreOutilsValidation() {
78
		barreOutilsValidation = new ButtonBar();
79
		barreOutilsValidation.setAlignment(HorizontalAlignment.LEFT);
80
 
81
		barreOutilsValidation.add(creerBoutonFormulaire(i18nC.reinitialiser(), Images.ICONES.reinitialiser(), CODE_BOUTON_REINITIALISER));
82
 
83
		barreOutilsValidation.add(new FillToolItem());
84
 
85
		barreOutilsValidation.add(creerBoutonFormulaire(i18nC.appliquer(), Images.ICONES.appliquer(), CODE_BOUTON_APPLIQUER));
86
 
87
		barreOutilsValidation.add(creerBoutonFormulaire(i18nC.annuler(), Images.ICONES.annuler(), CODE_BOUTON_ANNULER));
88
 
89
		barreOutilsValidation.add(creerBoutonFormulaire(i18nC.valider(), Images.ICONES.valider(), CODE_BOUTON_VALIDER));
90
 
91
		panneauFormulaire.setBottomComponent(barreOutilsValidation);
92
	}
93
 
94
	protected Button creerBoutonFormulaire(String nom, AbstractImagePrototype icone, final String code) {
95
		SelectionListener<ButtonEvent> ecouteur = creerEcouteurBoutonFormulaire(code);
96
		Button bouton = creerBouton(nom, icone, ecouteur);
97
		return bouton;
98
	}
99
 
100
	protected abstract SelectionListener<ButtonEvent> creerEcouteurBoutonFormulaire(final String code);
101
 
102
	protected Button creerBouton(String nom, AbstractImagePrototype icone, SelectionListener<ButtonEvent> ecouteur) {
103
		Button bouton = new Button(nom);
104
		bouton.setIcon(icone);
105
		bouton.addSelectionListener(ecouteur);
106
 
107
		return bouton;
108
	}
109
}