Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 504 → Rev 505

/trunk/src/org/tela_botanica/client/vues/PublicationForm.java
16,7 → 16,7
 
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.ButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
32,7 → 32,6
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.user.client.Window;
import com.google.gwt.user.client.ui.HTML;
 
public class PublicationForm extends LayoutContainer implements Rafraichissable {
39,15 → 38,15
 
private Mediateur mediateur = null;
FormPanel panel = null ;
FormPanel panel = null;
private String idStructureEdition = "" ;
private String idPublication = "" ;
private String idProjet = "" ;
private String metaPubli = "" ;
private String idStructureEdition = "";
private String idPublication = "";
private String idProjet = "";
private String metaPubli = "";
private PersonneListe listePersonneAuteur = null ;
private ListStore<Personne> storeAuteurs = null ;
private PersonneListe listePersonneAuteur = null;
private ListStore<Personne> storeAuteurs = null;
private ArrayList<ComboBox<Personne>> listeAuteurs = null;
private TextField<String> nomArticle = null;
62,13 → 61,11
private TextField<String> pagesPub = null;
private String mode = "AJOUT";
FieldSet fieldSetAuteurs = null ;
FieldSet fieldSetAuteurs = null;
 
private Publication publi;
 
public PublicationForm() {
setLayout(new FitLayout());
mediateur = Registry.get(RegistreId.MEDIATEUR);
78,7 → 75,7
// Création de la disposition : FIELDSET
FormLayout layoutFieldset = new FormLayout();
layoutFieldset.setLabelWidth(200);
layoutFieldset.setPadding(4);
//layoutFieldset.setPadding(4);
 
//+-----------------------------------------------------------------------------------------------------------+
// Création du panneau Formulaire
100,12 → 97,12
panel.add(fieldSetAuteurs);
genererChampsAuteur("",false);
genererChampsAuteur("", false);
// Création de la disposition : FIELDSET
FormLayout layoutFieldset2 = new FormLayout();
layoutFieldset.setLabelWidth(200);
layoutFieldset.setPadding(4);
//layoutFieldset.setPadding(4);
// Fieldset Infos Générales
FieldSet fieldSetInfosGen = new FieldSet();
113,7 → 110,6
fieldSetInfosGen.setCollapsible(true);
fieldSetInfosGen.setLayout(layoutFieldset2);
panel.add(fieldSetInfosGen);
nomArticle = new TextField<String>();
132,7 → 128,7
// Création de la disposition : FIELDSET
FormLayout layoutFieldset3 = new FormLayout();
layoutFieldset.setPadding(4);
//layoutFieldset.setPadding(4);
// Fieldset Edition
FieldSet fieldSetEdition = new FieldSet();
164,31 → 160,27
pagesPub = new TextField<String>();
pagesPub.setFieldLabel("Pages");
fieldSetEdition.add(comboListeEditeurs,new FormData(500,20));
fieldSetEdition.add(datePub, new FormData(75,20));
fieldSetEdition.add(comboListeEditeurs, new FormData(500, 20));
fieldSetEdition.add(datePub, new FormData(75, 20));
fieldSetEdition.add(tomPub);
fieldSetEdition.add(fasciculePub);
fieldSetEdition.add(pagesPub, new FormData(100,20));
fieldSetEdition.add(pagesPub, new FormData(100, 20));
// Ajout des boutons au panneau formulaire
Button annulerBtn = new Button("Annuler");
annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
 
annulerBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ComponentEvent ce) {
public void componentSelected(ButtonEvent be) {
mediateur.clicMenu("Publications");
}
});
panel.addButton(annulerBtn);
Button validerBtn = new Button("Valider");
validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
 
validerBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ComponentEvent ce) {
public void componentSelected(ButtonEvent be) {
soumettreFormulaire();
}
});
panel.addButton(validerBtn);
199,12 → 191,11
public void rafraichir(Object nouvelleDonnees) {
// Si on a reçu les details d'une publication
if(nouvelleDonnees instanceof Publication) {
 
if (nouvelleDonnees instanceof Publication) {
mode = "MODIF" ;
publi = (Publication)nouvelleDonnees;
genererChampsAuteur(publi.getIdAuteur(),false);
publi = (Publication) nouvelleDonnees;
genererChampsAuteur(publi.getIdAuteur(), false);
nomArticle.setValue(publi.getTitre());
intituleCollPub.setValue(publi.getCollection());
222,37 → 213,36
}
// Si on a reçu une liste des editeurs
if(nouvelleDonnees instanceof StructureListe) {
if (nouvelleDonnees instanceof StructureListe) {
storeEditeurs.removeAll();
StructureListe listeStructure = (StructureListe) nouvelleDonnees;
storeEditeurs.add((List<Structure>) listeStructure.toList());
if(mode.equals("MODIF")) {
if (mode.equals("MODIF")) {
comboListeEditeurs.setValue((Structure) listeStructure.get(idStructureEdition));
}
comboListeEditeurs.expand();
}
if(nouvelleDonnees instanceof PersonneListe) {
if (nouvelleDonnees instanceof PersonneListe) {
storeAuteurs.removeAll();
listePersonneAuteur = (PersonneListe)nouvelleDonnees;
Set<String> listeStructureSet = listePersonneAuteur.keySet();
for(Iterator<String> it = listeStructureSet.iterator() ; it.hasNext() ;) {
for (Iterator<String> it = listeStructureSet.iterator(); it.hasNext();) {
storeAuteurs.add(listePersonneAuteur.get(it.next()));
}
if(mode.equals("MODIF")) {
genererChampsAuteur(publi.getIdAuteur(),false);
if (mode.equals("MODIF")) {
genererChampsAuteur(publi.getIdAuteur(), false);
}
}
}
private void soumettreFormulaire() {
String auteur = "" ;
for(int i = 0 ; i < listeAuteurs.size() ; i++) {
String auteur = "";
for (int i = 0; i < listeAuteurs.size(); i++) {
auteur += listeAuteurs.get(i).getValue();
if(i != listeAuteurs.size() -1) {
if (i != listeAuteurs.size() -1) {
auteur += "|";
}
}
276,14 → 266,12
}
private void genererChampsAuteur(String auteursStr, boolean ajouter) {
String[] auteurs = auteursStr.split(";;");
LayoutContainer conteneurChamps = new LayoutContainer();
if(auteurs.length != 0) {
if (auteurs.length != 0) {
listeAuteurs = new ArrayList<ComboBox<Personne>>(auteurs.length);
}
else{
} else {
listeAuteurs = new ArrayList<ComboBox<Personne>>(1);
ajouter = true ;
}
295,38 → 283,33
fieldSetAuteurs.add(labelAuteur);
int i = 0;
for(i = 0 ; i < auteurs.length ; i++) {
for (i = 0; i < auteurs.length; i++) {
conteneurChamps.add(creerTextFieldEtBouton(auteurs[i]));
}
if(ajouter) {
if (ajouter) {
conteneurChamps.add(creerTextFieldEtBouton(null));
}
Button ajoutAuteurBtn = new Button("Ajouter un auteur");
ajoutAuteurBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
ajoutAuteurBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
 
@Override
public void componentSelected(ComponentEvent ce) {
public void componentSelected(ButtonEvent be) {
String idsAuteurs = "" ;
for(int i = 0 ; i < listeAuteurs.size() ; i++) {
Personne enCours = listeAuteurs.get(i).getValue() ;
String valeurChampAuteur = " " ;
Personne enCours = listeAuteurs.get(i).getValue();
String valeurChampAuteur = " ";
if(enCours != null) {
valeurChampAuteur = enCours.getId();
} else {
valeurChampAuteur = null;
}
else
{
valeurChampAuteur = null ;
if(valeurChampAuteur != null) {
idsAuteurs += valeurChampAuteur;
}
if(valeurChampAuteur != null)
{
idsAuteurs += valeurChampAuteur ;
}
idsAuteurs += ";;" ;
idsAuteurs += ";;";
}
genererChampsAuteur(idsAuteurs,true);
}
339,14 → 322,13
}
public HorizontalPanel creerTextFieldEtBouton(String valeurDefaut) {
HorizontalPanel p = new HorizontalPanel();
HorizontalPanel p = new HorizontalPanel() ;
// Création de la disposition : FIELDSET
FormLayout layoutPanelTF = new FormLayout();
p.setLayout(layoutPanelTF);
final ComboBox<Personne> tf = new ComboBox<Personne>() ;
final ComboBox<Personne> tf = new ComboBox<Personne>();
tf.setDisplayField("fmt_nom_complet");
tf.setStore(storeAuteurs);
if(valeurDefaut != null && !valeurDefaut.equals("") ) {
357,36 → 339,30
listeAuteurs.add(tf);
Button supp = new Button("-");
supp.addSelectionListener(new SelectionListener<ComponentEvent>() {
supp.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ComponentEvent ce) {
String idsAuteurs = "" ;
public void componentSelected(ButtonEvent be) {
String idsAuteurs = "";
listeAuteurs.remove(tf);
for(int i = 0 ; i < listeAuteurs.size() ; i++) {
for (int i = 0; i < listeAuteurs.size(); i++) {
Personne enCours = listeAuteurs.get(i).getValue() ;
String valeurChampAuteur = " " ;
if(enCours != null) {
String valeurChampAuteur = " ";
if (enCours != null) {
valeurChampAuteur = enCours.getId();
} else {
valeurChampAuteur = null;
}
else
{
valeurChampAuteur = null ;
}
if(valeurChampAuteur != null & !valeurChampAuteur.equals(""))
{
idsAuteurs += valeurChampAuteur ;
if (valeurChampAuteur != null & !valeurChampAuteur.equals("")) {
idsAuteurs += valeurChampAuteur;
} else {
idsAuteurs += " ";
}
else
{
idsAuteurs += " " ;
if (i != listeAuteurs.size() - 1) {
idsAuteurs += ";;";
}
if(i != listeAuteurs.size() - 1) {
idsAuteurs+= ";;";
}
}
genererChampsAuteur(idsAuteurs,false);
}
396,6 → 372,6
p.add(supp);
fieldSetAuteurs.add(p);
return p ;
return p;
}
}
}