Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 686 → Rev 687

/trunk/src/org/tela_botanica/client/vues/CollectionForm.java
1,34 → 1,69
package org.tela_botanica.client.vues;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampMultiValeurs;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionListe;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.Projet;
import org.tela_botanica.client.modeles.ProjetListe;
import org.tela_botanica.client.modeles.Structure;
import org.tela_botanica.client.modeles.StructureConservation;
import org.tela_botanica.client.modeles.StructureValorisation;
import org.tela_botanica.client.modeles.StructureListe;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.EventType;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.event.WidgetListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.store.Store;
import com.extjs.gxt.ui.client.store.StoreEvent;
import com.extjs.gxt.ui.client.store.StoreListener;
import com.extjs.gxt.ui.client.widget.Component;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
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.ComboBox;
import com.extjs.gxt.ui.client.widget.form.Field;
import com.extjs.gxt.ui.client.widget.form.FieldSet;
import com.extjs.gxt.ui.client.widget.form.HiddenField;
import com.extjs.gxt.ui.client.widget.form.LabelField;
import com.extjs.gxt.ui.client.widget.form.NumberField;
import com.extjs.gxt.ui.client.widget.form.Radio;
import com.extjs.gxt.ui.client.widget.form.TextArea;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.form.Validator;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
import com.extjs.gxt.ui.client.widget.layout.FormData;
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.ui.Widget;
 
public class CollectionForm extends Formulaire implements Rafraichissable {
36,15 → 71,32
private Collection collection = null;
private Collection collectionCollectee = null;
 
private HashMap<String, Widget>champs = new HashMap<String, Widget>();
private HashMap<String,FieldSet> champsFs = new HashMap<String,FieldSet>();
private HashMap<String,LayoutContainer> champsLc = new HashMap<String,LayoutContainer>();
private HashMap<String,HiddenField<String>> champsHfs = new HashMap<String,HiddenField<String>>();
private HashMap<String,TextField<String>> champsTfs = new HashMap<String,TextField<String>>();
private HashMap<String,TextArea> champsTa = new HashMap<String,TextArea>();
private HashMap<String,ChampMultiValeurs> champsCmv = new HashMap<String,ChampMultiValeurs>();
private HashMap<String,Text> champsT = new HashMap<String,Text>();
private HashMap<String,ComboBox<Valeur>> champsCbv = new HashMap<String,ComboBox<Valeur>>();
private HashMap<String,ListStore<Valeur>> champsLsv = new HashMap<String,ListStore<Valeur>>();
private TabItem generalOnglet = null;
private TabItem auteurOnglet = null;
private TabItem publicationOnglet = null;
private TabItem descriptionOnglet = null;
private TabItem contenuOnglet = null;
private TabItem documentOnglet = null;
private TabItem inventaireOnglet = null;
private ListStore<Projet> projetsStore;
private ComboBox<Projet> projetsCombo;
private ListStore<Structure> structuresStore;
private ComboBox<Structure> structuresCombo;
private ListStore<Collection> collectionsStore;
private ComboBox<Collection> collectionsCombo;
 
 
public CollectionForm(Mediateur mediateurCourrant, String modeDeCreation) {
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.COLLECTION);
}
60,6 → 112,9
// Onlget formulaire AUTEUR
onglets.add(creerOngletAuteur());
// Onlget formulaire PUBLICATION
onglets.add(creerOngletPublication());
// Onlget formulaire DESCRIPTION
onglets.add(creerOngletDescription());
80,46 → 135,7
}
private TabItem creerOngletGeneral() {
generalOnglet = creerOnglet(i18nC.collectionGeneral(), "general");
generalOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
//peuplerOngletGeneral();
generalOnglet.layout();
}
});
//+-----------------------------------------------------------------------------------------------------------+
// Champs cachés
HiddenField<String> idCollectionChp = new HiddenField<String>();
champs.put("idCollectionChp", idCollectionChp);
//+-----------------------------------------------------------------------------------------------------------+
// Fieldset ADMINISTRATIF
FieldSet administratifFieldSet = new FieldSet();
administratifFieldSet.setHeading(i18nC.collectionGeneralTitre());
administratifFieldSet.setCollapsible(true);
administratifFieldSet.setLayout(creerFormLayout(120, LabelAlign.LEFT));
 
TextField<String> nomChp = new TextField<String>();
nomChp.setTabIndex(tabIndex++);
nomChp.setFieldLabel(i18nC.nomCollection());
nomChp.setAllowBlank(false);
nomChp.getMessages().setBlankText(i18nC.champObligatoire());
administratifFieldSet.add(nomChp, new FormData(450, 0));
generalOnglet.add(administratifFieldSet);
//+-----------------------------------------------------------------------------------------------------------+
// Fieldset DESCRIPTION
FieldSet descriptionFieldSet = new FieldSet();
descriptionFieldSet.setHeading(i18nC.collectionDescriptionTitre());
descriptionFieldSet.setCollapsible(true);
descriptionFieldSet.setLayout(creerFormLayout(120, LabelAlign.LEFT));
generalOnglet.add(descriptionFieldSet);
 
//+-----------------------------------------------------------------------------------------------------------+
// Retour
generalOnglet = new CollectionFormGeneral(this);
return generalOnglet;
}
135,6 → 151,18
return auteurOnglet;
}
private TabItem creerOngletPublication() {
publicationOnglet = creerOnglet(i18nC.collectionPublication(), "publication");
publicationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
//peuplerOngletAuteur();
publicationOnglet.layout();
}
});
return publicationOnglet;
}
private TabItem creerOngletDescription() {
descriptionOnglet = creerOnglet(i18nC.collectionDescription(), "description");
descriptionOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
148,7 → 176,7
}
private TabItem creerOngletContenu() {
contenuOnglet = creerOnglet(i18nC.collectionDescription(), "contenu");
contenuOnglet = creerOnglet(i18nC.collectionContenu(), "contenu");
contenuOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
//peuplerOngletContenu();
160,7 → 188,7
}
private TabItem creerOngletDocument() {
documentOnglet = creerOnglet(i18nC.collectionDescription(), "document");
documentOnglet = creerOnglet(i18nC.collectionDocument(), "document");
documentOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
//peuplerOngletDocument();
172,7 → 200,7
}
private TabItem creerOngletInventaire() {
inventaireOnglet = creerOnglet(i18nC.collectionDescription(), "inventaire");
inventaireOnglet = creerOnglet(i18nC.collectionInventaire(), "inventaire");
inventaireOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
//peuplerOngletInventaire();
200,7 → 228,7
verifierApresRafraichissement();
}
 
public void rafraichirInformation(Information info) {
private void rafraichirInformation(Information info) {
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
GWT.log("MESSAGES:\n"+info.getMessages().toString(), null);
}
217,12 → 245,28
}
}
public void rafraichirValeurListe(ValeurListe listeValeurs) {
private void rafraichirValeurListe(ValeurListe listeValeurs) {
List<Valeur> liste = listeValeurs.toList();
 
// Test pour savoir si la liste contient des éléments
if (liste.size() > 0) {
String[] listesTraitables = {};
Boolean implemente = false;
for (int i = 0; i < listesTraitables.length; i++) {
String id = listesTraitables[i];
GWT.log(id, null);
if (listeValeurs.getId().equals(config.getListeId(id))) {
champsLsv.get(id).removeAll();
champsLsv.get(id).add(liste);
champsCbv.get(id).setStore(champsLsv.get(id));
implemente = true;
break;
}
}
if (implemente == false) {
GWT.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!", null);
}
}
}