Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 877 → Rev 878

/trunk/src/org/tela_botanica/client/vues/ProjetForm.java
5,8 → 5,10
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
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.Personne;
14,9 → 16,12
import org.tela_botanica.client.modeles.Projet;
import org.tela_botanica.client.modeles.Structure;
import org.tela_botanica.client.modeles.StructureListe;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.util.Pattern;
import org.tela_botanica.client.util.UtilArray;
 
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
34,12 → 39,22
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;
import com.google.gwt.user.client.Window;
 
 
public class ProjetForm extends Formulaire implements Rafraichissable {
private Projet projet;
private String listeValeurIndexationDureeId = "dureesIndexation";
private int listeValeurIndexationDureeInt = 1072;
private String listeValeurIndexationFrequenceId = "frequencesIndexation";
private int listeValeurIndexationFrequenceInt = 1073;
private ListStore<Valeur> listeIndexationDuree = null;
private ListStore<Valeur> listeIndexationFrequence = null;
private FieldSet generalitesFieldset = null;
private TextField<String> nomChp = null;
private TextField<String> abreviationChp = null;
55,9 → 70,11
private FieldSet indexationFieldset = null;
private TextField<String> indexationHeureChp = null;
private TextField<String> indexationDureeChp = null;
private TextField<String> indexationFrequenceChp = null;
private ComboBox<Valeur> indexationDureeChp = null;
private ComboBox<Valeur> indexationFrequenceChp = null;
private boolean listeIndexationDureeChargee = false;
private boolean listeIndexationFrequenceChargee = false;
 
private boolean formulaireValideOk = false;
private boolean projetValideOk = false;
74,12 → 91,12
initialiserProjetForm(mediateurCourrant, projetId);
}
private void initialiserProjetForm(Mediateur mediateurCourrant, String projetId) {
private void initialiserProjetForm(Mediateur mediateurCourant, String projetId) {
projet = new Projet();
projet.setId(projetId);
String modeDeCreation = (projet.getId().isEmpty() ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER);
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.PUBLICATION);
initialiserFormulaire(mediateurCourant, modeDeCreation, MenuApplicationId.PROJET);
panneauFormulaire.setLayout(new FlowLayout());
String titre = genererTitreFormulaire();
95,14 → 112,17
panneauFormulaire.add(indexationFieldset);
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
mediateurCourrant.selectionnerProjet(this, projetId);
mediateurCourant.selectionnerProjet(this, projetId);
}
mediateurCourant.obtenirListeValeurEtRafraichir(this, listeValeurIndexationDureeId);
mediateurCourant.obtenirListeValeurEtRafraichir(this, listeValeurIndexationFrequenceId);
}
private String genererTitreFormulaire() {
String titre = "Ajout d'une projet";
if (mode.equals(Formulaire.MODE_MODIFIER)) {
titre = "Modification d'une projet - "+i18nC.id()+": "+projet.getId();
titre = "Modification d'un projet - "+i18nC.id()+": "+projet.getId();
}
return titre;
}
181,21 → 201,29
indexationFieldset.setLayout(layout);
indexationHeureChp = new TextField<String>();
indexationHeureChp.setFieldLabel("Heure d'indexation");
indexationHeureChp.setFieldLabel(i18nC.projetIndexationHeure());
indexationFieldset.add(indexationHeureChp, new FormData(80, 0));
// liste 1073
listeIndexationFrequence = new ListStore<Valeur>();
indexationFrequenceChp = new ComboBox<Valeur>();
indexationFrequenceChp.setStore(listeIndexationFrequence);
indexationFrequenceChp.setDisplayField("nom");
indexationFrequenceChp.setEditable(false);
indexationFrequenceChp.setFieldLabel(i18nC.projetIndexationFrequence());
indexationFieldset.add(indexationFrequenceChp, new FormData(120, 0));
// liste 1072
indexationDureeChp = new TextField<String>();
indexationDureeChp.setFieldLabel("Durée d'indexation");
listeIndexationDuree = new ListStore<Valeur>();
indexationDureeChp = new ComboBox<Valeur>();
indexationDureeChp.setStore(listeIndexationDuree);
indexationDureeChp.setDisplayField("nom");
indexationDureeChp.setEditable(false);
indexationDureeChp.setFieldLabel(i18nC.projetIndexationDuree());
indexationFieldset.add(indexationDureeChp, new FormData(80, 0));
// liste 1073
indexationFrequenceChp = new TextField<String>();
indexationFrequenceChp.setFieldLabel("Fréquence d'indexation");
indexationFieldset.add(indexationFrequenceChp, new FormData(50, 0));
}
 
203,9 → 231,30
if (nouvellesDonnees instanceof Projet) {
// Si on a reçu les details d'une projet
rafraichirProjet((Projet) nouvellesDonnees);
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
GWT.log("Un projet est arrivé : "+((Projet) nouvellesDonnees).getNom(), null);
}
if(nouvellesDonnees instanceof ValeurListe) {
ValeurListe nValeurListe = (ValeurListe)nouvellesDonnees;
if(nValeurListe.getId() == listeValeurIndexationDureeInt) {
for(Iterator<String> it = nValeurListe.keySet().iterator(); it.hasNext();) {
listeIndexationDuree.add(nValeurListe.get(it.next()));
listeIndexationDuree.sort("id_valeur", SortDir.ASC);
listeIndexationDureeChargee = true;
}
 
}
if(nValeurListe.getId() == listeValeurIndexationFrequenceInt) {
for(Iterator<String> it = nValeurListe.keySet().iterator(); it.hasNext();) {
listeIndexationFrequence.add(nValeurListe.get(it.next()));
listeIndexationFrequence.sort("id_valeur", SortDir.ASC);
listeIndexationFrequenceChargee = true;
}
}
}
if (etreValide()) {
initialiserValidation();
repandreRafraichissement();
234,9 → 283,9
private void repandreRafraichissement() {
if (vueExterneARafraichirApresValidation != null) {
String type = "projet_modifiee";
String type = "projet_modifie";
if (mode.equals(Formulaire.MODE_AJOUTER)) {
type = "projet_ajoutee";
type = "projet_ajoute";
}
Information info = new Information(type);
info.setDonnee(0, projet);
286,6 → 335,25
private void peuplerFormulaire() {
nomChp.setValue(projet.getNom());
abreviationChp.setValue(projet.getAbreviation());
descriptionChp.setValue(projet.getDescription());
resumeChp.setValue(projet.getResume());
urlChp.setValue(projet.getUrl());
motsClesChp.setValue(projet.getMotsCles());
citationChp.setValue(projet.getCitation());
licenceChp.setValue(projet.getLicence());
markPublicChp.setValue(Boolean.parseBoolean(projet.getMarkPublic()));
indexationHeureChp.setValue(projet.getIndexationHeure());
indexationFrequenceChp.select(listeIndexationFrequence.findModel(projet.getIndexationFreq()));
indexationDureeChp.select(listeIndexationDuree.findModel(projet.getIndexationDuree()));
doLayout(true);
Window.alert("Gna !!");
}
private Projet collecterProjet() {
330,5 → 398,4
return ecouteur;
}
}