Rev 1513 | 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.ComposantClass;import org.tela_botanica.client.ComposantId;import org.tela_botanica.client.Mediateur;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.i18n.Constantes;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.event.ButtonEvent;import com.extjs.gxt.ui.client.event.SelectionListener;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 Constantes i18nC = null;protected Button validerBouton = null;private Button annulerBouton = null;private String messageErreurTpl = "<div id='" + ComposantId.DIV_IDENTIFICATION_MSG + "'>{message}</div>";private LayoutContainer messageErreur;private HTML texteLicence;private String licenceTpl = "<div class='{css_corps}'>{licence}</div>";private IdentificationFenetre fenetreIdentification;private CheckBox accepter;public LicenceFenetre(IdentificationFenetre vueARafraichir) {fenetreIdentification = vueARafraichir;setSize(500, 300);setPlain(true);setHeadingHtml("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));Params parametres = new Params();String licence = Mediateur.i18nC.licence();parametres.set("licence", licence);parametres.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);texteLicence.setHTML(Format.substitute(licenceTpl, parametres));}@Overrideprotected void createButtons() {// FIXME : l'instanciation dans le constructeur ne marche pas pour cette méthode...i18nC = Mediateur.i18nC;getButtonBar().removeAll();validerBouton = new Button(i18nC.valider());validerBouton.setItemId(OK);validerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {public void componentSelected(ButtonEvent ce) {onButtonPressed(ce.getButton());}});annulerBouton = new Button(i18nC.annuler());annulerBouton.setItemId(CANCEL);annulerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {public void componentSelected(ButtonEvent ce) {onButtonPressed(ce.getButton());}});addButton(annulerBouton);addButton(validerBouton);}@Overrideprotected 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();}}public 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();}}}}}