Rev 1071 | Rev 1104 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.composants;import org.tela_botanica.client.ComposantId;import org.tela_botanica.client.Mediateur;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.images.Images;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.modeles.Information;import com.extjs.gxt.ui.client.Registry;import com.extjs.gxt.ui.client.Style.Scroll;import com.extjs.gxt.ui.client.util.Format;import com.extjs.gxt.ui.client.util.Params;import com.extjs.gxt.ui.client.widget.Dialog;import com.extjs.gxt.ui.client.widget.LayoutContainer;import com.extjs.gxt.ui.client.widget.Text;import com.extjs.gxt.ui.client.widget.button.Button;import com.extjs.gxt.ui.client.widget.form.CheckBox;import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;import com.extjs.gxt.ui.client.widget.layout.FitLayout;import com.extjs.gxt.ui.client.widget.layout.FlowLayout;import com.extjs.gxt.ui.client.widget.layout.RowLayout;import com.google.gwt.user.client.ui.HTML;public class LicenceFenetre extends Dialog implements Rafraichissable{private String messageErreurTpl = "<div id='" + ComposantId.DIV_IDENTIFICATION_MSG + "'>{message}</div>";private LayoutContainer messageErreur;private HTML texteLicence;private String licenceTpl = "<div style='padding:15px; width:400px;'>{licence}</div>";private IdentificationFenetre fenetreIdentification;private CheckBox accepter;public LicenceFenetre(IdentificationFenetre vueARafraichir) {fenetreIdentification = vueARafraichir;setSize(500, 300);setPlain(true);setHeading("Licence d'utilisation");setIcon(Images.ICONES.application());setLayout(new RowLayout());setButtons(Dialog.OKCANCEL);messageErreur = new LayoutContainer();messageErreur.setLayout(new FitLayout());add(messageErreur);LayoutContainer licence = new LayoutContainer();licence.setSize("98%", "75%");licence.setStyleAttribute("padding", "5px");licence.setLayout(new FlowLayout());licence.setScrollMode(Scroll.AUTO);texteLicence = new HTML();licence.add(texteLicence);add(licence);LayoutContainer cbContainer = new LayoutContainer(new ColumnLayout());accepter = new CheckBox();cbContainer.add(accepter);add(cbContainer);Text txtAccepter = new Text(Mediateur.i18nC.licenceJaccepte());txtAccepter.setStyleAttribute("padding", "3px");cbContainer.add(txtAccepter);setClosable(false);show();initialiserComposants();}public void initialiserComposants() {Params licenceParam = new Params();licenceParam.set("message", Mediateur.i18nC.licenceAccepter());messageErreur.el().setInnerHtml(Format.substitute(messageErreurTpl, licenceParam));String licence = Mediateur.i18nC.licence();Params param = new Params();param.set("licence", licence);texteLicence.setHTML(Format.substitute(licenceTpl, param));}@Overrideprotected void createButtons() {super.createButtons();}protected void onButtonPressed(Button button) {if (Dialog.OK.equals(button.getItemId())) {button.setEnabled(false);boolean licenceAcceptee = accepter.getValue();if (licenceAcceptee == true) {((Mediateur) Registry.get(RegistreId.MEDIATEUR)).accepterLicence(this);} else {hide();}} else {hide();}}@Overridepublic void rafraichir(Object nouvellesDonnees) {if (nouvellesDonnees instanceof Information) {Information info = (Information) nouvellesDonnees;if (info.getType().equals("maj_licence")) {String licence = info.getDonnee(0).toString();if (licence.equals("1")) {hide();fenetreIdentification.onSubmit();} else {//Licence non acceptée, on masque la fenêtre pour laisser// affiché la fenêtre d'identification qui est en erreur.hide();}}}}}