Rev 639 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;import org.tela_botanica.client.Mediateur;import org.tela_botanica.client.i18n.Constantes;import org.tela_botanica.client.images.Images;import com.extjs.gxt.ui.client.Style.HorizontalAlignment;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.widget.LayoutContainer;import com.extjs.gxt.ui.client.widget.TabItem;import com.extjs.gxt.ui.client.widget.TabPanel;import com.extjs.gxt.ui.client.widget.button.Button;import com.extjs.gxt.ui.client.widget.button.ButtonBar;import com.extjs.gxt.ui.client.widget.form.FormPanel;import com.extjs.gxt.ui.client.widget.layout.FitLayout;import com.extjs.gxt.ui.client.widget.layout.FormLayout;import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;import com.google.gwt.user.client.ui.AbstractImagePrototype;public abstract class Formulaire extends LayoutContainer {public static final String MODE_AJOUTER = "AJOUT";public static final String MODE_MODIFIER = "MODIF";public static final String CODE_BOUTON_VALIDER = "VA";public static final String CODE_BOUTON_APPLIQUER = "AP";public static final String CODE_BOUTON_ANNULER = "AN";public static final String CODE_BOUTON_REINITIALISER = "RE";protected Constantes i18nC = null;protected Mediateur mediateur = null;protected String mode = null;protected int tabIndex = 100;protected FormPanel panneauFormulaire = null;protected ButtonBar barreOutilsValidation = null;protected TabPanel onglets = null;public Formulaire(Mediateur mediateurCourrant, String modeDeCreation) {// Initialisation de variablesmode = modeDeCreation;mediateur = mediateurCourrant;i18nC = Mediateur.i18nC;// Iniatilisation du layoutContainersetLayout(new FitLayout());setBorders(false);// Création du panneau du FORMULAIRE GÉNÉRALpanneauFormulaire = new FormPanel();panneauFormulaire.setBodyBorder(false);panneauFormulaire.setFrame(true);panneauFormulaire.setIcon(Images.ICONES.formAjouter());panneauFormulaire.setCollapsible(false);panneauFormulaire.setHeading(i18nC.titreAjoutFormStructurePanneau());panneauFormulaire.setButtonAlign(HorizontalAlignment.CENTER);panneauFormulaire.setLayout(new FitLayout());}protected abstract void creerOnglets();protected TabItem creerOnglet(String nom, String id) {TabItem onglet = new TabItem();onglet.setId(id);onglet.setText(nom);onglet.setLayout(new FormLayout());onglet.setStyleAttribute("padding", "10px");onglet.setScrollMode(Scroll.AUTO);onglet.setData("acces", false);return onglet;}protected void creerBarreOutilsValidation() {barreOutilsValidation = new ButtonBar();barreOutilsValidation.setAlignment(HorizontalAlignment.LEFT);barreOutilsValidation.add(creerBoutonFormulaire(i18nC.reinitialiser(), Images.ICONES.reinitialiser(), CODE_BOUTON_REINITIALISER));barreOutilsValidation.add(new FillToolItem());barreOutilsValidation.add(creerBoutonFormulaire(i18nC.appliquer(), Images.ICONES.appliquer(), CODE_BOUTON_APPLIQUER));barreOutilsValidation.add(creerBoutonFormulaire(i18nC.annuler(), Images.ICONES.annuler(), CODE_BOUTON_ANNULER));barreOutilsValidation.add(creerBoutonFormulaire(i18nC.valider(), Images.ICONES.valider(), CODE_BOUTON_VALIDER));panneauFormulaire.setBottomComponent(barreOutilsValidation);}protected Button creerBoutonFormulaire(String nom, AbstractImagePrototype icone, final String code) {SelectionListener<ButtonEvent> ecouteur = creerEcouteurBoutonFormulaire(code);Button bouton = creerBouton(nom, icone, ecouteur);return bouton;}protected abstract SelectionListener<ButtonEvent> creerEcouteurBoutonFormulaire(final String code);protected Button creerBouton(String nom, AbstractImagePrototype icone, SelectionListener<ButtonEvent> ecouteur) {Button bouton = new Button(nom);bouton.setIcon(icone);bouton.addSelectionListener(ecouteur);return bouton;}}