New file |
0,0 → 1,109 |
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 variables |
mode = modeDeCreation; |
mediateur = mediateurCourrant; |
i18nC = Mediateur.i18nC; |
|
// Iniatilisation du layoutContainer |
setLayout(new FitLayout()); |
setBorders(false); |
|
// Création du panneau du FORMULAIRE GÉNÉRAL |
panneauFormulaire = 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; |
} |
} |