New file |
0,0 → 1,238 |
package org.tela_botanica.client.vues; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.Modele; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.InterneValeur; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.Publication; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureConservation; |
import org.tela_botanica.client.modeles.StructureValorisation; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.HorizontalAlignment; |
import com.extjs.gxt.ui.client.event.ComponentEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.store.Store; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.DateField; |
import com.extjs.gxt.ui.client.widget.form.FieldSet; |
import com.extjs.gxt.ui.client.widget.form.FormPanel; |
import com.extjs.gxt.ui.client.widget.form.TextField; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
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.FormData; |
import com.extjs.gxt.ui.client.widget.layout.FormLayout; |
import com.google.gwt.core.client.GWT; |
|
public class FormPublicationVue extends LayoutContainer implements Rafraichissable { |
|
private Mediateur mediateur = null; |
|
FormPanel panel = null ; |
|
private ComboBox<Personne> comboListeAuteurs = null; |
private ListStore<Personne> storePersonne = null; |
|
private TextField<String> nomArticle = null; |
private TextField<String> nomPub = null; |
private TextField<String> intituleCollPub = null; |
private TextField<String> uriPub = null; |
|
private ComboBox<Structure> comboListeEditeurs = null; |
private ListStore<Structure> storeEditeurs = null; |
private DateField datePub = null; |
private TextField<String> tomPub = null; |
private TextField<String> fasciculePub = null; |
private TextField<String> pagesPub = null; |
private String mode = "AJOUT"; |
|
|
public FormPublicationVue() { |
|
setLayout(new FitLayout()); |
mediateur = Registry.get(RegistreId.MEDIATEUR); |
|
storePersonne = new ListStore<Personne>(); |
|
// Création de la disposition : FIELDSET |
FormLayout layoutFieldset = new FormLayout(); |
layoutFieldset.setLabelWidth(200); |
layoutFieldset.setPadding(4); |
|
//+-----------------------------------------------------------------------------------------------------------+ |
// Création du panneau Formulaire |
panel = new FormPanel(); |
panel.setFrame(true); |
panel.setIconStyle("icone-form-ajouter"); |
panel.setCollapsible(false); |
panel.setHeading("Ajout d'une publication"); |
panel.setButtonAlign(HorizontalAlignment.CENTER); |
panel.setLayout(new FlowLayout()); |
|
add(panel); |
|
// Fieldset Auteur |
FieldSet fieldSetAuteurs = new FieldSet(); |
fieldSetAuteurs.setHeading("Auteur(s)"); |
fieldSetAuteurs.setCollapsible(true); |
fieldSetAuteurs.setLayout(layoutFieldset); |
|
panel.add(fieldSetAuteurs); |
|
this.comboListeAuteurs = new ComboBox<Personne>(); |
comboListeAuteurs.setEmptyText("Sélectionner un auteur..."); |
comboListeAuteurs.setFieldLabel("Auteur de la publication"); |
comboListeAuteurs.setDisplayField("nom"); |
comboListeAuteurs.setStore(storePersonne); |
comboListeAuteurs.setEditable(true); |
comboListeAuteurs.setTypeAhead(true); |
comboListeAuteurs.setTriggerAction(TriggerAction.ALL); |
|
fieldSetAuteurs.add(comboListeAuteurs); |
|
// Création de la disposition : FIELDSET |
FormLayout layoutFieldset2 = new FormLayout(); |
layoutFieldset.setLabelWidth(200); |
layoutFieldset.setPadding(4); |
|
// Fieldset Infos Générales |
FieldSet fieldSetInfosGen = new FieldSet(); |
fieldSetInfosGen.setHeading("Informations générales"); |
fieldSetInfosGen.setCollapsible(true); |
fieldSetInfosGen.setLayout(layoutFieldset2); |
|
|
panel.add(fieldSetInfosGen); |
|
nomArticle = new TextField<String>(); |
nomArticle.setName("cpu"); |
nomArticle.setFieldLabel("Titre de l'article ou de l'ouvrage"); |
|
nomPub = new TextField<String>(); |
nomPub.setFieldLabel("Intitulé complet de la publication"); |
|
intituleCollPub = new TextField<String>(); |
intituleCollPub.setFieldLabel("Intitulé de la collection ou de la revue"); |
|
uriPub = new TextField<String>(); |
uriPub.setFieldLabel("URI de la publication"); |
|
fieldSetInfosGen.add(nomArticle); |
fieldSetInfosGen.add(nomPub); |
fieldSetInfosGen.add(intituleCollPub); |
fieldSetInfosGen.add(uriPub); |
|
// Création de la disposition : FIELDSET |
FormLayout layoutFieldset3 = new FormLayout(); |
layoutFieldset.setPadding(4); |
|
// Fieldset Edition |
FieldSet fieldSetEdition = new FieldSet(); |
fieldSetEdition.setHeading("Edition"); |
fieldSetEdition.setCollapsible(true); |
fieldSetEdition.setLayout(layoutFieldset3); |
|
panel.add(fieldSetEdition); |
|
storeEditeurs = new ListStore<Structure>(); |
comboListeEditeurs = new ComboBox<Structure>(); |
comboListeEditeurs.setEmptyText("Sélectionner un editeur..."); |
comboListeEditeurs.setFieldLabel("Editeur de la publication"); |
comboListeEditeurs.setDisplayField("nom"); |
comboListeEditeurs.setStore(storeEditeurs); |
comboListeEditeurs.setEditable(true); |
comboListeEditeurs.setTypeAhead(true); |
comboListeEditeurs.setTriggerAction(TriggerAction.ALL); |
|
datePub = new DateField(); |
datePub.setFieldLabel("Date de publication"); |
|
tomPub = new TextField<String>(); |
tomPub.setFieldLabel("Tome"); |
|
fasciculePub = new TextField<String>(); |
fasciculePub.setFieldLabel("Fascicule"); |
|
pagesPub = new TextField<String>(); |
pagesPub.setFieldLabel("Pages"); |
|
fieldSetEdition.add(comboListeEditeurs); |
fieldSetEdition.add(datePub, new FormData(75,20)); |
fieldSetEdition.add(tomPub); |
fieldSetEdition.add(fasciculePub); |
fieldSetEdition.add(pagesPub, new FormData(100,20)); |
|
// Ajout des boutons au panneau formulaire |
Button annulerBtn = new Button("Annuler"); |
annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() { |
|
@Override |
public void componentSelected(ComponentEvent ce) { |
mediateur.clicMenu("Publications"); |
} |
|
}); |
panel.addButton(annulerBtn); |
Button validerBtn = new Button("Valider"); |
validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() { |
|
@Override |
public void componentSelected(ComponentEvent ce) { |
soumettreFormulaire(); |
} |
|
}); |
panel.addButton(validerBtn); |
|
} |
|
public void rafraichir(Object nouvelleDonnees) { |
if(nouvelleDonnees instanceof Publication) { |
Publication publi = (Publication)nouvelleDonnees; |
|
comboListeAuteurs.setRawValue(publi.getAuteur()); |
nomArticle.setValue(publi.getTitre()); |
nomPub.setValue(publi.getNomComplet()); |
intituleCollPub.setValue(publi.getCollection()); |
uriPub.setValue(publi.getURI()); |
comboListeEditeurs.setRawValue(publi.getEditeur()); |
datePub.setRawValue(publi.getDateParution()); |
tomPub.setValue(publi.getIndicationNvt()); |
fasciculePub.setValue(publi.getFascicule()); |
pagesPub.setValue(publi.getPages()); |
|
panel.setHeading("Modification d'une publication"); |
|
mode = "MODIFICATION" ; |
} |
} |
|
private void soumettreFormulaire() { |
|
String auteur = comboListeAuteurs.getRawValue(); |
String nomArt = nomArticle.getValue(); |
String pub = nomPub.getValue(); |
String collPub = intituleCollPub.getValue(); |
String uri = uriPub.getValue(); |
String editeur = comboListeEditeurs.getRawValue(); |
String datePar = datePub.getRawValue(); |
String tome = tomPub.getValue(); |
String fascicule = fasciculePub.getValue(); |
String pages = pagesPub.getValue(); |
|
Publication publi = new Publication(pub,uri,auteur,collPub,nomArt,editeur,datePar,tome,fascicule,pages); |
|
if (mode.equals("AJOUT")) { |
mediateur.ajouterPublication(this, publi); |
} else if (mode.equals("MODIF")) { |
mediateur.modifierPublication(this, publi); |
} |
} |
} |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |