Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 909 → Rev 910

/trunk/src/org/tela_botanica/client/Mediateur.java
36,6 → 36,7
import org.tela_botanica.client.modeles.StructureValorisation;
import org.tela_botanica.client.modeles.Utilisateur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.vues.AccueilVue;
import org.tela_botanica.client.vues.CollectionForm;
import org.tela_botanica.client.vues.CollectionListeVue;
import org.tela_botanica.client.vues.CollectionVue;
199,7 → 200,11
public void clicMenu(String codeMenuClique) {
activerChargement(codeMenuClique);
panneauOuest.selectionMenu(codeMenuClique);
if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {
if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {
afficherAccueil();
} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {
selectionnerProjets(panneauCentre);
} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {
selectionnerStructure(panneauCentre, null);
} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) {
selectionnerCollection(panneauCentre, null);
207,8 → 212,6
selectionnerPersonne(panneauCentre, null, null);
} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) {
selectionnerPublication(panneauCentre,null);
} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {
selectionnerProjets(panneauCentre);
} else {
GWT.log(i18nM.nonImplemente(codeMenuClique), null);
}
330,6 → 333,17
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION des APPLETS de l'ACCUEIL
//+----------------------------------------------------------------------------------------------------------------+
public void afficherAccueil() {
if (!(panneauCentre.getContenu() instanceof AccueilVue)) {
panneauCentre.removeAll();
panneauCentre.add(new AccueilVue(this));
}
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION des PROJETS
//+----------------------------------------------------------------------------------------------------------------+
/trunk/src/org/tela_botanica/client/vues/CollectionListeVue.java
1,6 → 1,7
package org.tela_botanica.client.vues;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
import org.tela_botanica.client.Mediateur;
11,6 → 12,7
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionListe;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Publication;
import org.tela_botanica.client.modeles.Utilisateur;
 
import com.extjs.gxt.ui.client.Registry;
165,13 → 167,7
// Affichage d'un message d'information
Info.display(i18nC.suppressionCollection(), info.toString().replaceAll("\n", "<br />"));
 
// Suppression des structures sélectionnées
List<Collection> selectionCollection = grille.getSelectionModel().getSelectedItems();
final int taille = selectionCollection.size();
for (int i = 0; i < taille; i++) {
//GWT.log("INDEX :"+table.indexOf(selectionStructure.get(i)), null);
store.remove(selectionCollection.get(i));
}
supprimerCollectionsSelectionnees();
gererEtatActivationBouton();
} else if (info.getType().equals("maj_utilisateur")) {
178,8 → 174,17
gererEtatActivationBouton();
}
} else {
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
layout();
}
private void supprimerCollectionsSelectionnees() {
List<Collection> collectionsSelectionnees = grille.getSelectionModel().getSelectedItems();
Iterator<Collection> it = collectionsSelectionnees.iterator();
while (it.hasNext()) {
grille.getStore().remove(it.next());
}
layout(true);
}
}
/trunk/src/org/tela_botanica/client/vues/AccueilVue.java
New file
0,0 → 1,165
package org.tela_botanica.client.vues;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.configuration.Configuration;
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.Information;
import org.tela_botanica.client.modeles.InterneValeur;
import org.tela_botanica.client.util.Debug;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.IconButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.event.WindowEvent;
import com.extjs.gxt.ui.client.event.WindowListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.HtmlContainer;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.ToolButton;
import com.extjs.gxt.ui.client.widget.custom.Portal;
import com.extjs.gxt.ui.client.widget.custom.Portlet;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
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.FitLayout;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
 
public class AccueilVue extends LayoutContainer implements Rafraichissable {
private Mediateur mediateur = null;
private Constantes i18nC = null;
private Portal portail = null;
public AccueilVue(Mediateur mediateurCourant) {
mediateur = mediateurCourant;
i18nC = Mediateur.i18nC;
setLayout(new FitLayout());
ContentPanel panneauPrincipal = new ContentPanel();
panneauPrincipal.setLayout(new FitLayout());
panneauPrincipal.setHeading("Accueil");
panneauPrincipal.setBorders(false);
ToolBar barreOutils = new ToolBar();
Button ajouter = new Button(i18nC.ajouter());
ajouter.setIcon(Images.ICONES.ajouter());
ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent be) {
ajouterPortlet(0);
}
});
barreOutils.add(ajouter);
panneauPrincipal.setTopComponent(barreOutils);
portail = new Portal(3);
portail.setBorders(true);
portail.setStyleAttribute("backgroundColor", "white");
portail.setShadow(true);
portail.setColumnWidth(0, .33);
portail.setColumnWidth(1, .33);
portail.setColumnWidth(2, .33);
panneauPrincipal.add(portail);
ajouterPortlet(0);
 
add(panneauPrincipal);
mediateur.desactiverChargement();
}
private void ajouterPortlet(int index) {
Portlet portlet = new Portlet();
portlet.setHeading("Statistiques des collections");
configPanel(portlet);
portlet.setLayout(new FitLayout());
HtmlContainer conteneurHtml = new HtmlContainer();
conteneurHtml.setUrl("http://localhost/jrest/CoelStatistique/NombreDonnees");
portlet.add(conteneurHtml);
portlet.setHeight(250);
portail.add(portlet, index);
}
private void configPanel(final ContentPanel panel) {
panel.setLayout(new FitLayout());
panel.setCollapsible(true);
panel.setAnimCollapse(false);
panel.setScrollMode(Scroll.AUTO);
panel.getHeader().addTool(new ToolButton("x-tool-gear", new SelectionListener<IconButtonEvent>() {
@Override
public void componentSelected(IconButtonEvent ce) {
ContentPanel panneau = new ContentPanel();
panneau.setHeaderVisible(false);
panneau.setLayout(Formulaire.creerFormLayout(350, LabelAlign.TOP));
String baseUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
baseUrl += "CoelStatistique/";
ListStore<InterneValeur> appletteStore = new ListStore<InterneValeur>();
appletteStore.add(new InterneValeur(baseUrl+"NombreDonnees", "Nombre de données"));
appletteStore.add(new InterneValeur(baseUrl+"Accueil", "Bienvenue"));
appletteStore.add(new InterneValeur(baseUrl+"TypeDepot", "Types de dépôt des collections"));
appletteStore.add(new InterneValeur(baseUrl+"NombreCollectionParStructure", "Nombre de collections par institution"));
final ComboBox<InterneValeur> applettesCombo = new ComboBox<InterneValeur>();
applettesCombo.setFieldLabel("Veuillez sélectionner le type d'applette");
applettesCombo.setForceSelection(true);
applettesCombo.setTriggerAction(TriggerAction.ALL);
applettesCombo.setDisplayField("nom");
applettesCombo.setStore(appletteStore);
applettesCombo.setEditable(false);
applettesCombo.setWidth(300);
panneau.add(applettesCombo);
final Dialog configurationFenetre = new Dialog();
configurationFenetre.setHeading("Configuration de l'applette");
configurationFenetre.setButtons(Dialog.OK);
configurationFenetre.setSize(350, 150);
configurationFenetre.setPlain(true);
configurationFenetre.setModal(true);
configurationFenetre.setBlinkModal(true);
configurationFenetre.setLayout(new FitLayout());
configurationFenetre.setHideOnButtonClick(true);
configurationFenetre.addWindowListener(new WindowListener(){
public void windowHide(WindowEvent we) {
String url = applettesCombo.getValue().getAbr();
HtmlContainer conteneurHtml = new HtmlContainer();
conteneurHtml.setUrl(url);
conteneurHtml.recalculate();
panel.removeAll();
panel.add(conteneurHtml);
Debug.log(url);
panel.layout();
}
});
configurationFenetre.add(panneau);
configurationFenetre.show();
}
}));
panel.getHeader().addTool(new ToolButton("x-tool-close", new SelectionListener<IconButtonEvent>() {
@Override
public void componentSelected(IconButtonEvent ce) {
panel.removeFromParent();
}
}));
}
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof Information) {
Information info = (Information) nouvellesDonnees;
String type = info.getType();
if (type.equals("")) {
}
} else {
Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
}
}
}
/trunk/src/org/tela_botanica/client/vues/PublicationVue.java
13,7 → 13,6
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Window;
 
public class PublicationVue extends LayoutContainer implements Rafraichissable {
40,8 → 39,6
}
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof Publication) {
panneauPublicationDetail.rafraichir(nouvellesDonnees);
} else if (nouvellesDonnees instanceof PublicationListe) {
50,7 → 47,7
} else if (nouvellesDonnees instanceof Information) {
panneauPublicationListe.rafraichir(nouvellesDonnees);
} else {
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
}
}
/trunk/src/org/tela_botanica/client/vues/PublicationListeVue.java
144,7 → 144,7
add(grille);
}
public static ColumnConfig creerColonneEditeur() {
private ColumnConfig creerColonneEditeur() {
GridCellRenderer<Publication> editeurRendu = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
158,7 → 158,7
return editeurColonne;
}
public static ColumnConfig creerColonneAnneePublication() {
private ColumnConfig creerColonneAnneePublication() {
GridCellRenderer<Publication> datePublicationRendu = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
172,10 → 172,6
return datePublicationColonne;
}
public ListStore<Publication> getStore() {
return store;
}
 
private void clicListe(Publication publication) {
if (publication != null && store.getCount() > 0) {
mediateur.clicListePublication(publication);
229,20 → 225,18
}
} else {
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
layout();
}
 
public void supprimerPublicationsSelectionnees() {
List<Publication> selPub = grille.getSelectionModel().getSelectedItems();
GWT.log("Le résultat dans supprimer est : "+grille.getSelectionModel().getSelection().size()+" ", null);
for(Iterator<Publication> it = selPub.iterator(); it.hasNext();) {
GWT.log("Le résultat dans rafraichir est : "+grille.getSelectionModel().getSelection().size()+" ", null);
private void supprimerPublicationsSelectionnees() {
List<Publication> publicationsSelectionnees = grille.getSelectionModel().getSelectedItems();
Iterator<Publication> it = publicationsSelectionnees.iterator();
while (it.hasNext()) {
grille.getStore().remove(it.next());
}
grille.reconfigure(store, modeleDesColonnes);
layout(true);
}
/trunk/src/org/tela_botanica/client/vues/CollectionFormPublication.java
35,8 → 35,11
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.RowExpander;
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
277,7 → 280,6
if (publicationsSaisiesComboBox.getValue() instanceof Publication) {
Publication publicationSaisieSelectionne = publicationsSaisiesComboBox.getValue();
ajouterDansGrille(publicationSaisieSelectionne);
Debug.log("ici");
publicationsSaisiesComboBox.setValue(null);
}
}
299,7 → 301,7
publicationLiee.setIdCollection(collection.getId());
}
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE);
Debug.log("publi liée:"+publicationLiee.getClass());
// Ajout à la grille
grille.stopEditing();
grille.getStore().insert(publicationLiee, 0);
356,8 → 358,8
colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150));
colonnes.add(new ColumnConfig("titre", i18nC.publicationTitre(), 150));
colonnes.add(new ColumnConfig("collection", i18nC.publicationRevueCollection(), 75));
colonnes.add(PublicationListeVue.creerColonneEditeur());
colonnes.add(PublicationListeVue.creerColonneAnneePublication());
colonnes.add(creerColonneEditeur());
colonnes.add(creerColonneAnneePublication());
colonnes.add(new ColumnConfig("indication_nvt", i18nC.publicationNvt(), 75));
colonnes.add(new ColumnConfig("fascicule", i18nC.publicationFascicule(), 75));
colonnes.add(new ColumnConfig("truk_pages", i18nC.publicationPage(), 50));
380,6 → 382,34
return grillePublications;
}
private ColumnConfig creerColonneEditeur() {
GridCellRenderer<CollectionAPublication> editeurRendu = new GridCellRenderer<CollectionAPublication>() {
@Override
public String render(CollectionAPublication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPublication> store, Grid<CollectionAPublication> grid) {
String editeur = model.getPublication().getNomEditeur();
model.set("_editeur_", editeur);
return editeur;
}
};
ColumnConfig editeurColonne = new ColumnConfig("_editeur_", Mediateur.i18nC.publicationEditeur(), 135);
editeurColonne.setRenderer(editeurRendu);
return editeurColonne;
}
private ColumnConfig creerColonneAnneePublication() {
GridCellRenderer<CollectionAPublication> datePublicationRendu = new GridCellRenderer<CollectionAPublication>() {
@Override
public String render(CollectionAPublication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPublication> store, Grid<CollectionAPublication> grid) {
String annee = model.getPublication().getAnneeParution();
model.set("_annee_", annee);
return annee;
}
};
ColumnConfig datePublicationColonne = new ColumnConfig("_annee_", Mediateur.i18nC.publicationDateParution(), 75);
datePublicationColonne.setRenderer(datePublicationRendu);
return datePublicationColonne;
}
 
public void actualiserEtatBoutonsBarreOutils() {
// Activation des boutons si la grille contient un élément
454,8 → 484,8
 
public void collecter() {
if (etreAccede()) {
int nbrePersonne = grille.getStore().getCount();
for (int i = 0; i < nbrePersonne; i++) {
int nbrePublication = grille.getStore().getCount();
for (int i = 0; i < nbrePublication; i++) {
CollectionAPublication publicationLiee = grille.getStore().getAt(i);
if (publicationLiee.get("_etat_") != null) {
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
464,9 → 494,11
CollectionAPublication relationAAjouter = (CollectionAPublication) publicationLiee.cloner(new CollectionAPublication());
publicationsAjoutees.put("id"+idGenere++, relationAAjouter);
Debug.log(publicationLiee.toString());
}
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
publicationsAjoutees.put("id"+idGenere++, publicationLiee);
Debug.log(publicationLiee.toString());
}
// Initialisation de la grille
publicationLiee.set("_etat_", "");
/trunk/src/org/tela_botanica/client/modeles/CollectionAPublication.java
44,9 → 44,12
set("fmt_auteur", getPublication().getAuteur());
set("titre", getPublication().getTitre());
set("collection", getPublication().getCollection());
set("_editeur_", "");
set("_annee_", "");
set("indication_nvt", getPublication().getIndicationNvt());
set("fascicule", getPublication().getFascicule());
set("truk_pages", getPublication().getPages());
set("_etat_", "");
}
// ID