/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
204,7 → 204,7 |
if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) { |
afficherAccueil(); |
} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) { |
selectionnerProjets(panneauCentre); |
selectionnerProjet(panneauCentre, null); |
} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) { |
selectionnerStructure(panneauCentre, null); |
} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) { |
357,6 → 357,84 |
// GESTION des PROJETS |
//+----------------------------------------------------------------------------------------------------------------+ |
public void afficherFormProjet(String projetId) { |
panneauCentre.removeAll(); |
ProjetForm projetForm = new ProjetForm(this, projetId); |
panneauCentre.add(projetForm); |
panneauCentre.layout(); |
} |
public void afficherListeProjets(ProjetListe projetsACharger) { |
if (!(panneauCentre.getContenu() instanceof ProjetVue)) { |
panneauCentre.removeAll(); |
panneauCentre.add(new ProjetVue(this)); |
panneauCentre.setId(ComposantId.PANNEAU_PROJET_LISTE); |
panneauCentre.layout(); |
} |
panneauCentre.getContenu().rafraichir(projetsACharger); |
} |
public void clicListeProjet(Projet projet) { |
panneauCentre.getContenu().rafraichir(projet); |
} |
public void clicSupprimerProjet(final List<Projet> projetListe) { |
if (projetListe.size() <= 0) { |
MessageBox.alert("Attention", "Vous devez sélectionner un projet", null); |
} else { |
String message = "Voulez-vous vraiment supprimer ces projets ?"; |
if (projetListe.size() == 1) { |
message = "Voulez-vous vraiment supprimer ce projet ?"; |
} |
final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { |
public void handleEvent(MessageBoxEvent ce) { |
Dialog dialog = (Dialog) ce.getComponent(); |
Button btn = ce.getButtonClicked(); |
if (btn.getText().equals(dialog.yesText)) { |
modele.supprimerProjet(panneauCentre.getContenu(), projetListe); |
} |
} |
}; |
MessageBox.confirm("Supprimer un projet", message, listenerSuppression); |
} |
} |
public void clicModifierProjet(List<Projet> projetsSelectionnes) { |
if (projetsSelectionnes.size() == 0) { |
Info.display("Information", "Veuillez sélectionner un projet."); |
} else if (projetsSelectionnes.size() > 1) { |
Info.display("Information", "Veuillez sélectionner un seul projet à la fois."); |
} else if (projetsSelectionnes.size() == 1) { |
afficherFormProjet(projetsSelectionnes.get(0).getId()); |
} else { |
Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierProjet() du Médiateur."); |
} |
} |
public void clicAjouterProjet() { |
afficherFormProjet(null); |
} |
public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId) { |
modele.selectionnerProjet(vueARafraichir, projetId); |
} |
public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) { |
modele.ajouterProjet(vueARafraichir, projetCollecte); |
} |
public void modifierProjet(Rafraichissable vueARafraichir, Projet projetCollecte) { |
modele.modifierProjet(vueARafraichir, projetCollecte); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// SELECTION : projet |
/** |
* Retourne l'identifiant du projet courrant de l'application. |
*/ |
368,25 → 446,23 |
} |
return id; |
} |
//Greg : ajout d'un écouteur pour le changement liste projet |
public void selectionnerProjets(Rafraichissable vueARafraichir) { |
modele.selectionnerProjets(vueARafraichir); |
} |
public void selectionnerProjetCourant(Projet projetSelectionne) { |
Registry.register(RegistreId.PROJET_COURANT, projetSelectionne); |
if (panneauCentre.getContenu() instanceof PersonneVue) { |
//modele.selectionnerPersonne(contenuPanneauCentre, null, getProjetId(), null); |
selectionnerPersonne(panneauCentre, null, getProjetId()); |
//FIXME Le rafraichissement du panneau ne se fait pas! |
if (panneauCentre.getContenu() instanceof ProjetVue) { |
selectionnerProjet(panneauCentre.getContenu(), null); |
} else if (panneauCentre.getContenu() instanceof StructureVue) { |
modele.selectionnerStructure(panneauCentre.getContenu(), getProjetId(), null); |
selectionnerStructure(panneauCentre.getContenu(), null); |
} else if (panneauCentre.getContenu() instanceof CollectionVue) { |
modele.selectionnerCollection(panneauCentre.getContenu(), getProjetId(), null); |
selectionnerCollection(panneauCentre.getContenu(), null); |
} else if (panneauCentre.getContenu() instanceof PersonneVue) { |
selectionnerPersonne(panneauCentre.getContenu(), null, getProjetId()); |
} else if (panneauCentre.getContenu() instanceof PublicationVue) { |
selectionnerPublication(panneauCentre.getContenu(), null); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES STRUCTURES |
//+----------------------------------------------------------------------------------------------------------------+ |
971,85 → 1047,5 |
public void masquerPopinChargement() { |
((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide(); |
} |
public void afficherFormProjet(String projetId) { |
panneauCentre.removeAll(); |
ProjetForm projetForm = new ProjetForm(this, projetId); |
panneauCentre.add(projetForm); |
panneauCentre.layout(); |
} |
public void afficherListeProjets(ProjetListe projetsACharger) { |
if (!(panneauCentre.getContenu() instanceof ProjetVue)) { |
panneauCentre.removeAll(); |
panneauCentre.add(new ProjetVue(this)); |
panneauCentre.setId(ComposantId.PANNEAU_PROJET_LISTE); |
panneauCentre.layout(); |
} |
panneauCentre.getContenu().rafraichir(projetsACharger); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION des projets |
//+----------------------------------------------------------------------------------------------------------------+ |
public void clicListeProjet(Projet projet) { |
panneauCentre.getContenu().rafraichir(projet); |
} |
public void clicSupprimerProjet(final List<Projet> projetListe) { |
if (projetListe.size() <= 0) { |
MessageBox.alert("Attention", "Vous devez sélectionner un projet", null); |
} else { |
String message = "Voulez-vous vraiment supprimer ces projets ?"; |
if (projetListe.size() == 1) { |
message = "Voulez-vous vraiment supprimer ce projet ?"; |
} |
final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { |
public void handleEvent(MessageBoxEvent ce) { |
Dialog dialog = (Dialog) ce.getComponent(); |
Button btn = ce.getButtonClicked(); |
if (btn.getText().equals(dialog.yesText)) { |
modele.supprimerProjet(panneauCentre.getContenu(), projetListe); |
} |
} |
}; |
MessageBox.confirm("Supprimer un projet", message, listenerSuppression); |
} |
} |
public void clicModifierProjet(List<Projet> projetsSelectionnes) { |
if (projetsSelectionnes.size() == 0) { |
Info.display("Information", "Veuillez sélectionner un projet."); |
} else if (projetsSelectionnes.size() > 1) { |
Info.display("Information", "Veuillez sélectionner un seul projet à la fois."); |
} else if (projetsSelectionnes.size() == 1) { |
afficherFormProjet(projetsSelectionnes.get(0).getId()); |
} else { |
Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierProjet() du Médiateur."); |
} |
} |
public void clicAjouterProjet() { |
afficherFormProjet(null); |
} |
public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId) { |
modele.selectionnerProjet(vueARafraichir, projetId); |
} |
public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) { |
modele.ajouterProjet(vueARafraichir, projetCollecte); |
} |
public void modifierProjet(Rafraichissable vueARafraichir, Projet projetCollecte) { |
modele.modifierProjet(vueARafraichir, projetCollecte); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/ProjetDetailVue.java |
---|
24,22 → 24,20 |
private Html entete = null; |
private Html contenu = null; |
private final String listeValeurIndexationDureeId = "dureesIndexation"; |
private final int listeValeurIndexationDureeInt = 1072; |
private final String listeValeurIndexationFrequenceId = "frequencesIndexation"; |
private final int listeValeurIndexationFrequenceInt = 1073; |
private final String listeLanguesId = "langues"; |
private final int listeLanguesInt = 1071; |
private Projet projet = null; |
private boolean projetChargementOk = false; |
private String listeValeurIndexationDureeId = "dureesIndexation"; |
private int listeValeurIndexationDureeInt = 1072; |
private String listeValeurIndexationFrequenceId = "frequencesIndexation"; |
private int listeValeurIndexationFrequenceInt = 1073; |
private String listeLanguesId = "langues"; |
private int listeLanguesInt = 1071; |
private ValeurListe valeurListeIndexationDuree = null; |
private ValeurListe valeurListeIndexationDuree = null; |
private boolean listeIndexationDureeChargee = false; |
private ValeurListe valeurListeIndexationFrequence = null; |
private boolean listeIndexationFrequenceChargee = false; |
private ValeurListe valeurListeLangue = null; |
private boolean listeIndexationDureeChargee = false; |
private boolean listeIndexationFrequenceChargee = false; |
private boolean listeLangueChargee = false; |
public ProjetDetailVue(Mediateur mediateurCourant) { |
83,20 → 81,27 |
contenuTpl = |
"<div class='{css_corps}'>"+ |
" <div class='{css_fieldset}'>"+ |
" <h2>{i18n_titre_detail}</h2>"+ |
" <h2>{i18n_titre_info_generale}</h2>"+ |
" <span class='{css_label}'>{i18n_nom} :</span> {nom}<br />"+ |
" <span class='{css_label}'>{i18n_abreviation} :</span> {abreviation}<br />"+ |
" <span class='{css_label}'>{i18n_resume} :</span> {resume}<br />"+ |
" <span class='{css_label}'>{i18n_description} :</span> {description}<br />"+ |
" </div>"+ |
" <div class='{css_fieldset}'>"+ |
" <h2>{i18n_titre_complement}</h2>"+ |
" <span class='{css_label}'>{i18n_mot_cles} :</span> {mot_cles}<br />"+ |
" <span class='{css_label}'>{i18n_citation} :</span> {citation}<br />"+ |
" <span class='{css_label}'>{i18n_licence} :</span> {licence}<br />"+ |
" <span class='{css_label}'>{i18n_langue} :</span> {langue}<br />"+ |
" </div>"+ |
" <hr class='{css_clear}'/>"+ |
" <div class='{css_fieldset}'>"+ |
" <h2>{i18n_titre_indexation}</h2>"+ |
" <span class='{css_label}'>{i18n_indexation_heure} :</span> {indexation_heure}<br />"+ |
" <span class='{css_label}'>{i18n_indexation_duree} :</span> {indexation_duree}<br />"+ |
" <span class='{css_label}'>{i18n_indexation_frequence} :</span> {indexation_frequence}<br />"+ |
" <span class='{css_label}'>{i18n_mark_public} :</span> {mark_public}<br />"+ |
" </div>"+ |
" <hr class='{css_clear}'/>"+ |
"</div>"; |
} |
134,7 → 139,7 |
public void afficherDetailProjet() { |
Params contenuParams = new Params(); |
contenuParams.set("i18n_titre_detail", i18nC.projet()); |
contenuParams.set("i18n_titre_info_generale", i18nC.projetTitreInfoGenerale()); |
contenuParams.set("i18n_nom", i18nC.nom()); |
contenuParams.set("nom", projet.getNom()); |
148,9 → 153,11 |
contenuParams.set("i18n_description", i18nC.projetDescription()); |
contenuParams.set("description", projet.getDescription()); |
contenuParams.set("i18n_mots_cles", i18nC.projetMotsCles()); |
contenuParams.set("mots_cles", projet.getMotsCles()); |
contenuParams.set("i18n_titre_complement", i18nC.projetTitreComplement()); |
contenuParams.set("i18n_mot_cles", i18nC.projetMotsCles()); |
contenuParams.set("mot_cles", projet.getMotsCles()); |
contenuParams.set("i18n_citation", i18nC.projetCitation()); |
contenuParams.set("citation", projet.getCitation()); |
160,6 → 167,8 |
contenuParams.set("i18n_langue", i18nC.projetLangue()); |
contenuParams.set("langue", obtenirValeurLangue(projet.getLangue())); |
contenuParams.set("i18n_titre_indexation", i18nC.projetTitreIndexation()); |
contenuParams.set("i18n_indexation_heure", i18nC.projetIndexationHeure()); |
contenuParams.set("indexation_heure", projet.getIndexationHeure()); |
177,7 → 186,6 |
} |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Projet) { |
projet = (Projet) nouvellesDonnees; |
projetChargementOk = true; |
184,7 → 192,6 |
} else if (nouvellesDonnees instanceof ProjetListe) { |
projets = (ProjetListe) nouvellesDonnees; |
projetsChargementOk = true; |
GWT.log("projets recu", null); |
} else if(nouvellesDonnees instanceof ValeurListe) { |
ValeurListe nValeurListe = (ValeurListe)nouvellesDonnees; |
202,11 → 209,7 |
valeurListeLangue = (ValeurListe)nouvellesDonnees; |
listeLangueChargee = true; |
} |
GWT.log("une liste de valeurs est arrivée "+nValeurListe.getId(), null); |
} |
else { |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
217,7 → 220,7 |
private boolean avoirDonneesChargees() { |
boolean ok = false; |
if (projetsChargementOk && projetChargementOk && listeIndexationDureeChargee && listeLangueChargee && listeLangueChargee) { |
if (projetsChargementOk && projetChargementOk && listeIndexationDureeChargee && listeIndexationFrequenceChargee && listeLangueChargee) { |
ok = true; |
} |
return ok; |
/trunk/src/org/tela_botanica/client/vues/DetailVue.java |
---|
61,7 → 61,7 |
} |
private void chargerProjets() { |
mediateur.selectionnerProjets(this); |
mediateur.selectionnerProjet(this, null); |
} |
protected String construireTxtProjet(String idProjet) { |
/trunk/src/org/tela_botanica/client/vues/ProjetVue.java |
---|
6,6 → 6,7 |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.ProjetListe; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.Style.LayoutRegion; |
import com.extjs.gxt.ui.client.util.Margins; |
60,10 → 61,11 |
} else if (nouvellesDonnees instanceof ValeurListe) { |
panneauProjetDetail.rafraichir(nouvellesDonnees); |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
if (nouvellesDonnees != null) { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
} |
doLayout(); |
layout(); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/ProjetListeVue.java |
---|
93,7 → 93,7 |
colonnes.add(new ColumnConfig("abreviation", i18nC.projetAbreviation(), 200)); |
colonnes.add(new ColumnConfig("resume", i18nC.projetResume(), 300)); |
colonnes.add(new ColumnConfig("url", i18nC.projetUrl(), 200)); |
colonnes.add(new ColumnConfig("mots_cles", i18nC.projetMotsCles(), 280)); |
colonnes.add(new ColumnConfig("mot_cles", i18nC.projetMotsCles(), 280)); |
modeleDesColonnes = new ColumnModel(colonnes); |
159,9 → 159,20 |
if (nouvellesDonnees instanceof ProjetListe) { |
ProjetListe projets = (ProjetListe) nouvellesDonnees; |
if (projets != null) { |
List<Projet> liste = projets.toList(); |
List<Projet> projetsListe = projets.toList(); |
store.removeAll(); |
store.add(liste); |
if (mediateur.getProjetId() != null) { |
String projetIdSelectionne = mediateur.getProjetId(); |
Iterator<Projet> it = projetsListe.iterator(); |
while (it.hasNext()) { |
Projet projetCourant = it.next(); |
if (projetCourant.getId().equals(projetIdSelectionne)) { |
store.add(projetCourant); |
} |
} |
} else { |
store.add(projetsListe); |
} |
mediateur.actualiserPanneauCentral(); |
} |
} else if (nouvellesDonnees instanceof Information) { |
/trunk/src/org/tela_botanica/client/vues/MenuVue.java |
---|
88,7 → 88,7 |
} |
private void chargerProjets() { |
mediateur.selectionnerProjets(this); |
mediateur.selectionnerProjet(this, null); |
} |
private void ajouterProjetsAListe() { |
/trunk/src/org/tela_botanica/client/vues/CollectionFormGeneral.java |
---|
118,7 → 118,7 |
projetsCombo.setTriggerAction(TriggerAction.ALL); |
projetsCombo.setStore(new ListStore<Projet>()); |
liaisonFieldSet.add(projetsCombo, new FormData(450, 0)); |
mediateur.selectionnerProjets(this); |
mediateur.selectionnerProjet(this, null); |
structuresCombo = new ComboBox<Structure>(); |
structuresCombo.setTabIndex(tabIndex++); |
/trunk/src/org/tela_botanica/client/vues/PersonneForm.java |
---|
226,7 → 226,7 |
hmIdentite.put("cbProjets", cbProjets); |
mediateur.selectionnerProjets(this); |
mediateur.selectionnerProjet(this, null); |
left.add(fsProjet); |
/trunk/src/org/tela_botanica/client/vues/StructureForm.java |
---|
1460,7 → 1460,7 |
projetsMagazin = new ListStore<Projet>(); |
mediateur.selectionnerProjets(this); |
mediateur.selectionnerProjet(this, null); |
projetsCombo = new ComboBox<Projet>(); |
projetsCombo.setTabIndex(tabIndex++); |
projetsCombo.setFieldLabel("Projet"); |
/trunk/src/org/tela_botanica/client/vues/ProjetForm.java |
---|
10,13 → 10,16 |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.Pattern; |
import org.tela_botanica.client.util.UtilArray; |
import org.tela_botanica.client.util.UtilString; |
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; |
import com.extjs.gxt.ui.client.widget.Info; |
import com.extjs.gxt.ui.client.widget.MessageBox; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.form.CheckBox; |
27,9 → 30,7 |
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 ProjetForm extends Formulaire implements Rafraichissable { |
private Projet projet; |
96,8 → 97,7 |
initialiserFormulaire(mediateurCourant, modeDeCreation, MenuApplicationId.PROJET); |
panneauFormulaire.setLayout(new FlowLayout()); |
String titre = genererTitreFormulaire(); |
panneauFormulaire.setHeading(titre); |
actualiserTitreFormulaire(); |
creerZoneGeneralites(); |
panneauFormulaire.add(generalitesFieldset); |
111,20 → 111,20 |
creerTabIndex(); |
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) { |
mediateurCourant.selectionnerProjet(this, projetId); |
mediateur.selectionnerProjet(this, projetId); |
} |
mediateurCourant.obtenirListeValeurEtRafraichir(this, listeValeurIndexationDureeId); |
mediateurCourant.obtenirListeValeurEtRafraichir(this, listeValeurIndexationFrequenceId); |
mediateurCourant.obtenirListeValeurEtRafraichir(this, listeLanguesId); |
mediateur.obtenirListeValeurEtRafraichir(this, listeValeurIndexationDureeId); |
mediateur.obtenirListeValeurEtRafraichir(this, listeValeurIndexationFrequenceId); |
mediateur.obtenirListeValeurEtRafraichir(this, listeLanguesId); |
} |
private String genererTitreFormulaire() { |
String titre = "Ajout d'un projet"; |
private void actualiserTitreFormulaire() { |
String titre = i18nC.projetTitreFormAjout(); |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
titre = "Modification d'un projet - "+i18nC.id()+": "+projet.getId(); |
titre = i18nC.projetTitreFormModif()+" - "+i18nC.id()+": "+projet.getId(); |
} |
return titre; |
panneauFormulaire.setHeading(titre); |
} |
private void creerZoneGeneralites() { |
133,7 → 133,7 |
// Fieldset Infos Générales |
generalitesFieldset = new FieldSet(); |
generalitesFieldset.setHeading("Informations générales"); |
generalitesFieldset.setHeading(i18nC.projetTitreInfoGenerale()); |
generalitesFieldset.setCollapsible(true); |
generalitesFieldset.setLayout(layout); |
163,25 → 163,22 |
FormLayout layout = new FormLayout(); |
layout.setLabelWidth(100); |
// Fieldset Edition |
// Fieldset Complément |
complementFieldset = new FieldSet(); |
complementFieldset.setHeading("Informations complémentaires"); |
complementFieldset.setHeading(i18nC.projetTitreComplement()); |
complementFieldset.setCollapsible(true); |
complementFieldset.setLayout(layout); |
motsClesChp = new TextField<String>(); |
motsClesChp.setFieldLabel("Mots Clés"); |
complementFieldset.add(motsClesChp); |
citationChp = new TextField<String>(); |
citationChp.setFieldLabel("Citation"); |
complementFieldset.add(citationChp); |
licenceChp = new TextField<String>(); |
licenceChp.setFieldLabel("Licence"); |
complementFieldset.add(licenceChp); |
listeLangue = new ListStore<Valeur>(); |
192,12 → 189,10 |
langueChp.setForceSelection(true); |
langueChp.setTypeAhead(true); |
langueChp.setFieldLabel("Langue"); |
complementFieldset.add(langueChp); |
markPublicChp = new CheckBox(); |
markPublicChp.setFieldLabel("Public"); |
complementFieldset.add(markPublicChp); |
} |
205,15 → 200,14 |
FormLayout layout = new FormLayout(); |
layout.setLabelWidth(100); |
// Fieldset Edition |
// Fieldset Indexation |
indexationFieldset = new FieldSet(); |
indexationFieldset.setHeading("Indexation"); |
indexationFieldset.setHeading(i18nC.projetTitreIndexation()); |
indexationFieldset.setCollapsible(true); |
indexationFieldset.setLayout(layout); |
indexationHeureChp = new TextField<String>(); |
indexationHeureChp.setFieldLabel(i18nC.projetIndexationHeure()); |
indexationFieldset.add(indexationHeureChp, new FormData(80, 0)); |
// liste 1073 |
225,7 → 219,6 |
indexationFrequenceChp.setForceSelection(true); |
indexationFrequenceChp.setTypeAhead(true); |
indexationFrequenceChp.setFieldLabel(i18nC.projetIndexationFrequence()); |
indexationFieldset.add(indexationFrequenceChp, new FormData(120, 0)); |
// liste 1072 |
237,13 → 230,11 |
indexationDureeChp.setForceSelection(true); |
indexationDureeChp.setTypeAhead(true); |
indexationDureeChp.setFieldLabel(i18nC.projetIndexationDuree()); |
indexationFieldset.add(indexationDureeChp, new FormData(80, 0)); |
} |
private void creerTabIndex() { |
nomChp.setTabIndex(1); |
abreviationChp.setTabIndex(2); |
descriptionChp.setTabIndex(3); |
264,64 → 255,13 |
} |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Projet) { |
// Si on a reçu les details d'une projet |
rafraichirProjet((Projet) nouvellesDonnees); |
GWT.log("Un projet est arrivé : "+((Projet) nouvellesDonnees).getNom(), null); |
if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
rafraichirInformation(info); |
} else if (nouvellesDonnees instanceof ValeurListe) { |
ValeurListe nValeurListe = (ValeurListe)nouvellesDonnees; |
if (nValeurListe.getId() == listeValeurIndexationDureeInt) { |
valeurListeIndexationDuree = nValeurListe; |
for (Iterator<String> it = nValeurListe.keySet().iterator(); it.hasNext();) { |
listeIndexationDuree.add(nValeurListe.get(it.next())); |
listeIndexationDuree.sort("id_valeur", SortDir.ASC); |
} |
listeIndexationDureeChargee = true; |
if (mode.equals(MODE_MODIFIER)) { |
if (valeurListeIndexationDuree.get(projet.getIndexationDuree()) != null) { |
indexationDureeChp.setValue(valeurListeIndexationDuree.get(projet.getIndexationDuree())); |
indexationDureeChp.validate(); |
} |
} |
indexationDureeChp.expand(); |
} else if (nValeurListe.getId() == listeValeurIndexationFrequenceInt) { |
valeurListeIndexationFrequence = nValeurListe; |
for (Iterator<String> it = nValeurListe.keySet().iterator(); it.hasNext();) { |
listeIndexationFrequence.add(nValeurListe.get(it.next())); |
listeIndexationFrequence.sort("id_valeur", SortDir.ASC); |
} |
listeIndexationFrequenceChargee = true; |
if (mode.equals(MODE_MODIFIER)) { |
if (valeurListeIndexationFrequence.get(projet.getIndexationFreq()) != null) { |
indexationFrequenceChp.setValue(valeurListeIndexationFrequence.get(projet.getIndexationFreq())); |
indexationFrequenceChp.validate(); |
} |
} |
indexationFrequenceChp.expand(); |
} else if (nValeurListe.getId() == listeLanguesInt) { |
valeurListeLangue = nValeurListe; |
for (Iterator<String> it = nValeurListe.keySet().iterator(); it.hasNext();) { |
listeLangue.add(nValeurListe.get(it.next())); |
listeLangue.sort("id_valeur", SortDir.ASC); |
} |
listeLangueChargee = true; |
if (mode.equals(MODE_MODIFIER)) { |
if (valeurListeLangue.get(projet.getLangue()) != null) { |
langueChp.setValue(valeurListeLangue.get(projet.getLangue())); |
langueChp.validate(); |
} |
} |
} |
GWT.log("une liste de valeurs est arrivée "+nValeurListe.getId(), null); |
ValeurListe valeursListe = (ValeurListe) nouvellesDonnees; |
rafraichirValeurListe(valeursListe); |
Debug.log("une liste de valeurs est arrivée "+valeursListe.getId()); |
} |
if (etreValide()) { |
331,14 → 271,92 |
} |
} |
private void rafraichirProjet(Projet proj) { |
projet = proj; |
peuplerFormulaire(); |
private void rafraichirInformation(Information info) { |
final String type = info.getType(); |
// Gestion des problèmes |
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
Debug.log("MESSAGES:\n"+info.getMessages().toString()); |
} |
// Gestion des actions |
if (type.equals("selection_projet")) { |
if (info.getDonnee(0) != null) { |
projet = (Projet) info.getDonnee(0); |
} |
peuplerFormulaire(); |
actualiserTitreFormulaire(); |
} else if (type.equals("modif_projet") || type.equals("ajout_projet") ) { |
if (info.getDonnee(0) != null && info.getDonnee(0) instanceof String) { |
String projetId = (String) info.getDonnee(0); |
projet.setId(projetId); |
projetValideOk = true; |
} |
} |
// Gestion des messages |
if (type.equals("selection_projet")) { |
Info.display(i18nC.projetTitreFormModif(), info.toString()); |
} else if (type.equals("modif_projet")) { |
Info.display(i18nC.projetTitreFormModif(), info.toString()); |
} else if (type.equals("ajout_projet")) { |
if (!UtilString.isEmpty(projet.getId())) { |
info.setMessage("Le projet '"+projet.getId()+"' a bien été ajouté"); |
} |
Info.display(i18nC.projetTitreFormAjout(), info.toString()); |
} |
} |
private void rafraichirValeurListe(ValeurListe valeursListe) { |
if (valeursListe.getId() == listeValeurIndexationDureeInt) { |
valeurListeIndexationDuree = valeursListe; |
for (Iterator<String> it = valeursListe.keySet().iterator(); it.hasNext();) { |
listeIndexationDuree.add(valeursListe.get(it.next())); |
listeIndexationDuree.sort("id_valeur", SortDir.ASC); |
} |
listeIndexationDureeChargee = true; |
if (mode.equals(MODE_MODIFIER)) { |
if (valeurListeIndexationDuree.get(projet.getIndexationDuree()) != null) { |
indexationDureeChp.setValue(valeurListeIndexationDuree.get(projet.getIndexationDuree())); |
indexationDureeChp.validate(); |
} |
} |
indexationDureeChp.expand(); |
} else if (valeursListe.getId() == listeValeurIndexationFrequenceInt) { |
valeurListeIndexationFrequence = valeursListe; |
for (Iterator<String> it = valeursListe.keySet().iterator(); it.hasNext();) { |
listeIndexationFrequence.add(valeursListe.get(it.next())); |
listeIndexationFrequence.sort("id_valeur", SortDir.ASC); |
} |
listeIndexationFrequenceChargee = true; |
if (mode.equals(MODE_MODIFIER)) { |
if (valeurListeIndexationFrequence.get(projet.getIndexationFreq()) != null) { |
indexationFrequenceChp.setValue(valeurListeIndexationFrequence.get(projet.getIndexationFreq())); |
indexationFrequenceChp.validate(); |
} |
} |
indexationFrequenceChp.expand(); |
} else if (valeursListe.getId() == listeLanguesInt) { |
valeurListeLangue = valeursListe; |
for (Iterator<String> it = valeursListe.keySet().iterator(); it.hasNext();) { |
listeLangue.add(valeursListe.get(it.next())); |
listeLangue.sort("id_valeur", SortDir.ASC); |
} |
listeLangueChargee = true; |
if (mode.equals(MODE_MODIFIER)) { |
if (valeurListeLangue.get(projet.getLangue()) != null) { |
langueChp.setValue(valeurListeLangue.get(projet.getLangue())); |
langueChp.validate(); |
} |
} |
} |
} |
private Boolean etreValide() { |
Boolean valide = false; |
GWT.log("formulaire"+formulaireValideOk+" - Projet :"+projetValideOk, null); |
if (formulaireValideOk && projetValideOk) { |
valide = true; |
} |
364,11 → 382,9 |
public boolean soumettreFormulaire() { |
formulaireValideOk = verifierFormulaire(); |
GWT.log("Form?"+formulaireValideOk, null); |
if (formulaireValideOk) { |
Projet projetCollecte = collecterProjet(); |
if (projetCollecte != null) { |
GWT.log("Info collectée ? ok", null); |
if (mode.equals(Formulaire.MODE_AJOUTER)) { |
mediateur.ajouterProjet(this, projetCollecte); |
} else if (mode.equals(Formulaire.MODE_MODIFIER)) { |
409,11 → 425,9 |
} |
String heure = indexationHeureChp.getValue(); |
if (heure != null && ! heure.isEmpty() && !heure.matches(Pattern.heureMinute)) { |
messages.add("L'heureMinute d'indexation saisie n'est pas valide !"); |
} else { |
if(heure.matches(Pattern.heureMinute)) { |
heure += ":00"; |
if (!UtilString.isEmpty(heure)) { |
if (!heure.matches(Pattern.heureMinute)) { |
messages.add("L'heureMinute d'indexation saisie n'est pas valide !"); |
} |
} |
476,35 → 490,36 |
} |
private Projet collecterProjet() { |
Projet projetARetourner = new Projet(); |
Projet projetCollecte = (Projet) projet.cloner(new Projet()); |
projetARetourner.setNom(nomChp.getValue()); |
projetARetourner.setAbreviation(abreviationChp.getValue()); |
projetARetourner.setDescription(descriptionChp.getValue()); |
projetARetourner.setResume(resumeChp.getValue()); |
projetARetourner.setUrl(urlChp.getValue()); |
projetCollecte.setNom(nomChp.getValue()); |
projetCollecte.setAbreviation(abreviationChp.getValue()); |
projetCollecte.setDescription(descriptionChp.getValue()); |
projetCollecte.setResume(resumeChp.getValue()); |
projetCollecte.setUrl(urlChp.getValue()); |
projetARetourner.setMotsCles(motsClesChp.getValue()); |
projetARetourner.setCitation(citationChp.getValue()); |
projetARetourner.setLicence(licenceChp.getValue()); |
projetCollecte.setMotsCles(motsClesChp.getValue()); |
projetCollecte.setCitation(citationChp.getValue()); |
projetCollecte.setLicence(licenceChp.getValue()); |
if (langueChp.getValue() != null) { |
projetCollecte.setLangue(langueChp.getValue().getId()); |
} |
String markPublic = (markPublicChp.getValue()) ? "1" : "0"; |
projetCollecte.setMarkPublic(markPublic); |
if (markPublicChp.getValue()) { |
projetCollecte.setMarkPublic("1"); |
} else { |
projetCollecte.setMarkPublic("0"); |
projetCollecte.setIndexationHeure(indexationHeureChp.getValue()); |
if (indexationFrequenceChp.getValue() != null) { |
projetCollecte.setIndexationFreq(indexationFrequenceChp.getValue().getId()); |
} |
projetARetourner.setIndexationHeure(indexationHeureChp.getValue()); |
projetARetourner.setIndexationDuree(indexationDureeChp.getValue().getId()); |
projetARetourner.setIndexationFreq(indexationFrequenceChp.getValue().getId()); |
if (indexationDureeChp.getValue() != null) { |
projetCollecte.setIndexationDuree(indexationDureeChp.getValue().getId()); |
} |
Projet projetARetourner = null; |
if (!projetCollecte.comparer(projet)) { |
projetARetourner = projet = projetCollecte; |
Debug.log(projetARetourner.toString()); |
} |
//GWT.log(projetARetourner.toString()+" "+projetARetourner., null) |
return projetARetourner; |
} |
/trunk/src/org/tela_botanica/client/Modele.java |
---|
122,14 → 122,9 |
// GESTION DES PROJETS |
//+----------------------------------------------------------------------------------------------------------------+ |
public void selectionnerProjets(Rafraichissable vueARafraichir) { |
ProjetAsyncDao projetsDao = new ProjetAsyncDao(vueARafraichir); |
projetsDao.selectionner(); |
} |
public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId) { |
ProjetAsyncDao pADAO = new ProjetAsyncDao(vueARafraichir); |
pADAO.selectionnerProjet(projetId); |
pADAO.selectionner(projetId); |
} |
public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) { |