Subversion Repositories eFlore/Applications.coel

Rev

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

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