New file |
0,0 → 1,157 |
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)); |
} |
|
@Override |
protected 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); |
} |
|
@Override |
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(); |
} |
} |
|
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(); |
} |
} |
} |
|
} |
|
|
} |
Property changes: |
Added: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/LicenceFenetre.java:r11-893,1209-1382 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/LicenceFenetre.java:r1383-1511 |
Merged /branches/v1.0-syrah/src/org/tela_botanica/client/composants/LicenceFenetre.java:r1136-1368 |