Subversion Repositories eFlore/Applications.coel

Rev

Rev 1513 | Rev 1908 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1513 Rev 1680
1
package org.tela_botanica.client.composants;
1
package org.tela_botanica.client.composants;
2
 
2
 
3
 
3
 
4
import org.tela_botanica.client.ComposantClass;
4
import org.tela_botanica.client.ComposantClass;
5
import org.tela_botanica.client.ComposantId;
5
import org.tela_botanica.client.ComposantId;
6
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.RegistreId;
7
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.i18n.Constantes;
8
import org.tela_botanica.client.i18n.Constantes;
9
import org.tela_botanica.client.images.Images;
9
import org.tela_botanica.client.images.Images;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.modeles.Information;
11
import org.tela_botanica.client.modeles.Information;
12
 
12
 
13
import com.extjs.gxt.ui.client.Registry;
13
import com.extjs.gxt.ui.client.Registry;
14
import com.extjs.gxt.ui.client.Style.Scroll;
14
import com.extjs.gxt.ui.client.Style.Scroll;
15
import com.extjs.gxt.ui.client.event.ButtonEvent;
15
import com.extjs.gxt.ui.client.event.ButtonEvent;
16
import com.extjs.gxt.ui.client.event.SelectionListener;
16
import com.extjs.gxt.ui.client.event.SelectionListener;
17
import com.extjs.gxt.ui.client.util.Format;
17
import com.extjs.gxt.ui.client.util.Format;
18
import com.extjs.gxt.ui.client.util.Params;
18
import com.extjs.gxt.ui.client.util.Params;
19
import com.extjs.gxt.ui.client.widget.Dialog;
19
import com.extjs.gxt.ui.client.widget.Dialog;
20
import com.extjs.gxt.ui.client.widget.LayoutContainer;
20
import com.extjs.gxt.ui.client.widget.LayoutContainer;
21
import com.extjs.gxt.ui.client.widget.Text;
21
import com.extjs.gxt.ui.client.widget.Text;
22
import com.extjs.gxt.ui.client.widget.button.Button;
22
import com.extjs.gxt.ui.client.widget.button.Button;
23
import com.extjs.gxt.ui.client.widget.form.CheckBox;
23
import com.extjs.gxt.ui.client.widget.form.CheckBox;
24
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
24
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
25
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
25
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
26
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
26
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
27
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
27
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
28
import com.google.gwt.user.client.ui.HTML;
28
import com.google.gwt.user.client.ui.HTML;
29
 
29
 
30
public class LicenceFenetre extends Dialog implements Rafraichissable{
30
public class LicenceFenetre extends Dialog implements Rafraichissable{
31
	
31
	
32
	private Constantes i18nC = null;
32
	private Constantes i18nC = null;
33
	protected Button validerBouton = null;
33
	protected Button validerBouton = null;
34
	private Button annulerBouton = null;
34
	private Button annulerBouton = null;
35
	
35
	
36
	private String messageErreurTpl = "<div id='" + ComposantId.DIV_IDENTIFICATION_MSG + "'>{message}</div>";
36
	private String messageErreurTpl = "<div id='" + ComposantId.DIV_IDENTIFICATION_MSG + "'>{message}</div>";
37
	private LayoutContainer messageErreur;
37
	private LayoutContainer messageErreur;
38
	private HTML texteLicence;
38
	private HTML texteLicence;
39
	private String licenceTpl = "<div class='{css_corps}'>{licence}</div>";
39
	private String licenceTpl = "<div class='{css_corps}'>{licence}</div>";
40
	private IdentificationFenetre fenetreIdentification;
40
	private IdentificationFenetre fenetreIdentification;
41
	private CheckBox accepter;
41
	private CheckBox accepter;
42
	
42
	
43
	public LicenceFenetre(IdentificationFenetre vueARafraichir)	{
43
	public LicenceFenetre(IdentificationFenetre vueARafraichir)	{
44
		
44
		
45
		fenetreIdentification = vueARafraichir;
45
		fenetreIdentification = vueARafraichir;
46
		
46
		
47
		setSize(500, 300);
47
		setSize(500, 300);
48
		setPlain(true);
48
		setPlain(true);
49
		setHeading("Licence d'utilisation");
49
		setHeadingHtml("Licence d'utilisation");
50
		setIcon(Images.ICONES.application());
50
		setIcon(Images.ICONES.application());
51
		setLayout(new RowLayout());
51
		setLayout(new RowLayout());
52
		setButtons(Dialog.OKCANCEL);
52
		setButtons(Dialog.OKCANCEL);
53
		
53
		
54
		messageErreur = new LayoutContainer();
54
		messageErreur = new LayoutContainer();
55
		messageErreur.setLayout(new FitLayout());
55
		messageErreur.setLayout(new FitLayout());
56
		add(messageErreur);
56
		add(messageErreur);
57
		
57
		
58
		LayoutContainer licence = new LayoutContainer();
58
		LayoutContainer licence = new LayoutContainer();
59
		licence.setSize("98%", "75%");
59
		licence.setSize("98%", "75%");
60
		licence.setStyleAttribute("padding", "5px");
60
		licence.setStyleAttribute("padding", "5px");
61
		licence.setLayout(new FlowLayout());
61
		licence.setLayout(new FlowLayout());
62
		licence.setScrollMode(Scroll.AUTO);
62
		licence.setScrollMode(Scroll.AUTO);
63
		
63
		
64
		texteLicence = new HTML();
64
		texteLicence = new HTML();
65
		licence.add(texteLicence);
65
		licence.add(texteLicence);
66
		add(licence);
66
		add(licence);
67
		
67
		
68
		LayoutContainer cbContainer = new LayoutContainer(new ColumnLayout());
68
		LayoutContainer cbContainer = new LayoutContainer(new ColumnLayout());
69
		accepter = new CheckBox();
69
		accepter = new CheckBox();
70
		cbContainer.add(accepter);
70
		cbContainer.add(accepter);
71
		add(cbContainer);
71
		add(cbContainer);
72
		
72
		
73
		Text txtAccepter = new Text(Mediateur.i18nC.licenceJaccepte());
73
		Text txtAccepter = new Text(Mediateur.i18nC.licenceJaccepte());
74
		txtAccepter.setStyleAttribute("padding", "3px");
74
		txtAccepter.setStyleAttribute("padding", "3px");
75
		cbContainer.add(txtAccepter);
75
		cbContainer.add(txtAccepter);
76
		setClosable(false);
76
		setClosable(false);
77
		
77
		
78
		show();
78
		show();
79
		initialiserComposants();
79
		initialiserComposants();
80
	}
80
	}
81
	
81
	
82
	public void initialiserComposants()	{
82
	public void initialiserComposants()	{
83
		Params licenceParam = new Params();
83
		Params licenceParam = new Params();
84
		licenceParam.set("message", Mediateur.i18nC.licenceAccepter());
84
		licenceParam.set("message", Mediateur.i18nC.licenceAccepter());
85
		messageErreur.el().setInnerHtml(Format.substitute(messageErreurTpl, licenceParam));
85
		messageErreur.el().setInnerHtml(Format.substitute(messageErreurTpl, licenceParam));
86
		
86
		
87
		Params parametres = new Params();
87
		Params parametres = new Params();
88
		String licence = Mediateur.i18nC.licence();
88
		String licence = Mediateur.i18nC.licence();
89
		parametres.set("licence", licence);
89
		parametres.set("licence", licence);
90
		parametres.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
90
		parametres.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
91
		texteLicence.setHTML(Format.substitute(licenceTpl, parametres));
91
		texteLicence.setHTML(Format.substitute(licenceTpl, parametres));
92
	}
92
	}
93
 
93
 
94
	@Override
94
	@Override
95
	protected void createButtons() {
95
	protected void createButtons() {
96
		// FIXME : l'instanciation dans le constructeur ne marche pas pour cette méthode...
96
		// FIXME : l'instanciation dans le constructeur ne marche pas pour cette méthode...
97
		i18nC = Mediateur.i18nC;
97
		i18nC = Mediateur.i18nC;
98
		
98
		
99
		getButtonBar().removeAll();
99
		getButtonBar().removeAll();
100
		
100
		
101
		validerBouton = new Button(i18nC.valider());
101
		validerBouton = new Button(i18nC.valider());
102
		validerBouton.setItemId(OK);
102
		validerBouton.setItemId(OK);
103
		validerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
103
		validerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
104
			public void componentSelected(ButtonEvent ce) {
104
			public void componentSelected(ButtonEvent ce) {
105
				onButtonPressed(ce.getButton());
105
				onButtonPressed(ce.getButton());
106
			}
106
			}
107
		});
107
		});
108
		
108
		
109
		annulerBouton = new Button(i18nC.annuler());
109
		annulerBouton = new Button(i18nC.annuler());
110
		annulerBouton.setItemId(CANCEL);
110
		annulerBouton.setItemId(CANCEL);
111
		annulerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
111
		annulerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
112
			public void componentSelected(ButtonEvent ce) {
112
			public void componentSelected(ButtonEvent ce) {
113
				onButtonPressed(ce.getButton());
113
				onButtonPressed(ce.getButton());
114
			}
114
			}
115
		});
115
		});
116
		
116
		
117
		addButton(annulerBouton);
117
		addButton(annulerBouton);
118
		addButton(validerBouton);
118
		addButton(validerBouton);
119
	}
119
	}
120
	
120
	
121
	@Override
121
	@Override
122
	protected void onButtonPressed(Button button) {
122
	protected void onButtonPressed(Button button) {
123
		if (Dialog.OK.equals(button.getItemId()))	{
123
		if (Dialog.OK.equals(button.getItemId()))	{
124
			button.setEnabled(false);
124
			button.setEnabled(false);
125
			boolean licenceAcceptee = accepter.getValue();
125
			boolean licenceAcceptee = accepter.getValue();
126
			if (licenceAcceptee == true)	{
126
			if (licenceAcceptee == true)	{
127
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).accepterLicence(this);
127
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).accepterLicence(this);
128
			} else	{
128
			} else	{
129
				hide();
129
				hide();
130
			}
130
			}
131
		} else {
131
		} else {
132
			hide();
132
			hide();
133
		}
133
		}
134
	}
134
	}
135
	
135
	
136
	public void rafraichir(Object nouvellesDonnees) {
136
	public void rafraichir(Object nouvellesDonnees) {
137
		if (nouvellesDonnees instanceof Information)	{
137
		if (nouvellesDonnees instanceof Information)	{
138
			Information info = (Information) nouvellesDonnees;
138
			Information info = (Information) nouvellesDonnees;
139
			if (info.getType().equals("maj_licence"))	{
139
			if (info.getType().equals("maj_licence"))	{
140
				
140
				
141
				String licence = info.getDonnee(0).toString();
141
				String licence = info.getDonnee(0).toString();
142
				if (licence.equals("1"))	{
142
				if (licence.equals("1"))	{
143
					hide();
143
					hide();
144
					fenetreIdentification.onSubmit();
144
					fenetreIdentification.onSubmit();
145
					
145
					
146
				} else	{
146
				} else	{
147
					//Licence non acceptée, on masque la fenêtre pour laisser 
147
					//Licence non acceptée, on masque la fenêtre pour laisser 
148
					// affiché la fenêtre d'identification qui est en erreur. 
148
					// affiché la fenêtre d'identification qui est en erreur. 
149
					hide();
149
					hide();
150
				}
150
				}
151
			}
151
			}
152
		}
152
		}
153
		
153
		
154
	}
154
	}
155
	
155
	
156
 
156
 
157
}
157
}