Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1632 → Rev 1633

/trunk/src/org/tela_botanica/client/synchronisation/Sequenceur.java
29,7 → 29,6
// Retourne le numéro du séquenceur
public int lancerRequeteSynchrone(Rafraichissable vueARafraichir) {
if (Mediateur.DEBUG_CHARGEMENT) System.out.println("[CHARGEMENT] lancerRequeteSynchrone("+vueARafraichir.getClass().getName()+")");
//if (numeroSequence == 0) {
mediateur.activerChargement(this, "Chargement en cours... Veuillez patienter");
/trunk/src/org/tela_botanica/client/Mediateur.java
116,6 → 116,7
private int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
private Sequenceur sequenceur = null;
private boolean premierChargement = true;
public Mediateur() {
// Enregistrement du Médiateur dans le Registre
824,6 → 825,7
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
 
modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, null, 0, nbElements, seqId);
}
1898,22 → 1900,24
@Override
public void onValueChange(ValueChangeEvent<String> event) {
String token = event.getValue();
if (token != null) {
if (token.lastIndexOf("?") == -1) {
this.requeteUrl = null;
this.clicMenu(token);
} else {
int indexDebutRequete = (token.lastIndexOf("?") + 1);
int indexFinPlace = token.lastIndexOf("?");
String place = token.substring(0, indexFinPlace);
requeteUrl = token.substring(indexDebutRequete);
Log.trace("URL Place : "+place);
Log.trace("URL Requete : "+requeteUrl);
analyseRequeteURL();
this.clicMenu(place);
}
}
if(premierChargement) {
if (token != null) {
if (token.lastIndexOf("?") == -1) {
this.requeteUrl = null;
this.clicMenu(token);
} else {
int indexDebutRequete = (token.lastIndexOf("?") + 1);
int indexFinPlace = token.lastIndexOf("?");
String place = token.substring(0, indexFinPlace);
requeteUrl = token.substring(indexDebutRequete);
Log.trace("URL Place : "+place);
Log.trace("URL Requete : "+requeteUrl);
analyseRequeteURL();
this.clicMenu(place);
}
}
}
premierChargement = false;
}
private void analyseRequeteURL() {
/trunk/src/org/tela_botanica/client/util/Debug.java
1,6 → 1,7
package org.tela_botanica.client.util;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Window;
 
public class Debug {
8,4 → 9,20
public static void log(String texte) {
GWT.log(texte, null);
}
public static String getStackTraceAsString(int depth) {
// a décommenter lors de l'utilisation car ne fonctionne qu'en mode
// hosted et pas en mode compilé
/**StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
String trace = "";
for (int i = 0; i < stackTraceElements.length && i < depth; i++) {
if(i == 0) {
trace += " < ";
}
trace += stackTraceElements[i].getClassName()+"."+stackTraceElements[i].getMethodName();
}
return trace;**/
return "";
}
}
/trunk/src/org/tela_botanica/client/vues/projet/ProjetListeVue.java
7,6 → 7,7
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampFiltreRecherche;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
51,6 → 52,8
private Grid<Projet> grille = null;
private ListStore<Projet> store = null;
private ColumnModel modeleDesColonnes = null;
private ChampFiltreRecherche champFiltreRecherche = null;
private BarrePaginationVue pagination = null;
private Button ajouter;
143,8 → 146,10
});
add(grille);
ProjetListe projetListe = new ProjetListe();
champFiltreRecherche = new ChampFiltreRecherche(mediateurCourant, toolBar, projetListe);
// Définition de la barre de pagination
pagination = new BarrePaginationVue(new StructureListe(), mediateur);
pagination = new BarrePaginationVue(projetListe, mediateur);
setBottomComponent(pagination);
}
173,6 → 178,7
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof ProjetListe) {
ProjetListe projets = (ProjetListe) nouvellesDonnees;
champFiltreRecherche.setListePaginable(projets);
pagination.setlistePaginable(projets);
pagination.rafraichir(projets.getPageTable());
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireListeVue.java
7,6 → 7,7
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampFiltreRecherche;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
68,6 → 69,7
private Button supprimer;
private BarrePaginationVue pagination = null;
private ChampFiltreRecherche champFiltreRecherche = null;
private CommentaireListe commentaires = null;
protected boolean commentairesChargementOk = false;
177,8 → 179,10
});
add(grille);
CommentaireListe commentaireListe = new CommentaireListe();
champFiltreRecherche = new ChampFiltreRecherche(mediateur, toolBar, commentaireListe);
// Définition de la barre de pagination
pagination = new BarrePaginationVue(new StructureListe(), mediateur);
pagination = new BarrePaginationVue(commentaireListe, mediateur);
setBottomComponent(pagination);
}
260,6 → 264,8
if (nouvellesDonnees instanceof CommentaireListe) {
commentaires = (CommentaireListe) nouvellesDonnees;
champFiltreRecherche.setListePaginable(commentaires);
pagination.setlistePaginable(commentaires);
pagination.rafraichir(commentaires.getPageTable());
/trunk/src/org/tela_botanica/client/vues/MenuVue.java
14,6 → 14,7
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
import com.google.gwt.user.client.Window;
 
public class MenuVue extends ContentPanel {
 
63,7 → 64,7
arbreMenus.getStyle().setNodeOpenIcon(null);
arbreMenus.setDisplayProperty("nom");
arbreMenus.setHeight("100%");
; arbreMenus.addListener(Events.OnClick, new Listener<TreePanelEvent<Menu>>(){
arbreMenus.addListener(Events.OnClick, new Listener<TreePanelEvent<Menu>>(){
public void handleEvent(TreePanelEvent<Menu> tpe) {
Menu menuCourant = arbreMenus.getSelectionModel().getSelectedItem();
mediateur.clicMenu(menuCourant.getCode());
/trunk/src/org/tela_botanica/client/vues/BarrePaginationVue.java
53,11 → 53,6
private TextField<String> champPage = new TextField<String>();
private SimpleComboBox<Integer> selecteurTaillePage = new SimpleComboBox<Integer>();
private Text labelFiltre;
private TextField<String> filtre;
private Button annulerFiltre;
private boolean filtreActive = false;
private String termeRecherche = "";
private LinkedList<Integer> intervallePages = new LinkedList<Integer>();
private ListStore storeIntervalle = new ListStore() ;
165,22 → 160,7
//Séparation
add(new SeparatorToolItem());
labelFiltre = new Text("Recherche rapide : ");
labelFiltre.setStyleAttribute("padding-right", "5px");
add(labelFiltre);
filtre = new TextField<String>();
filtre.setWidth(150);
this.add(filtre);
annulerFiltre = new Button();
annulerFiltre.setIcon(Images.ICONES.annuler());
annulerFiltre.setVisible(false);
add(annulerFiltre);
add(new FillToolItem());
intervalleElements = new Text(i18nM.elementsAffiches(UtilString.ucFirst(labelElement),
pageCourante * taillePage, (pageCourante + 1) * taillePage, nbElement));
add(intervalleElements);
234,7 → 214,6
surTotalPage.setEnabled(etat);
afficherNbElem.setEnabled(etat);
nbElemParPage.setEnabled(etat);
annulerFiltre.setVisible(!etat);
}
/**
295,36 → 274,6
}
});
annulerFiltre.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
filtre.setValue("");
termeRecherche = "";
filtreActive = false;
listePaginable.changerNumeroPage(pageCourante);
labelFiltre.setStyleAttribute("font-weight", "normal");
changerEtatBarre(true);
}
});
filtre.addKeyListener(new KeyListener(){
public void componentKeyUp(ComponentEvent ce) {
if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
termeRecherche = filtre.getValue();
if (termeRecherche == null || termeRecherche.equals("")) {
filtreActive = false;
labelFiltre.setStyleAttribute("font-weight", "normal");
listePaginable.changerNumeroPage(pageCourante);
changerEtatBarre(true);
} else {
changerEtatBarre(false);
listePaginable.filtrerParNom(termeRecherche);
labelFiltre.setStyleAttribute("font-weight", "bold");
filtreActive = true;
}
}
}
});
champPage.addKeyListener(new KeyListener() {
public void componentKeyUp(ComponentEvent ce) {
393,30 → 342,26
* d'éléments à partir des variables de classes
*/
public void rafraichirNumeroPage() {
if (filtreActive == true) {
intervalleElements.setText("<b><i>Recherche active : </i></b>" + termeRecherche);
surTotalPage.setText(" sur " + pageTotale);
if (nbElement == 0) {
champPage.setValue("" + (0));
// on met simplement à jour l'intervalle qui contient toujours le
// même nombre d'éléments
intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), 0,0,0));
} else {
surTotalPage.setText(" sur " + pageTotale);
if (nbElement == 0) {
champPage.setValue("" + (0));
// on met simplement à jour l'intervalle qui contient toujours le
// même nombre d'éléments
intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), 0,0,0));
champPage.setValue("" + (pageCourante + 1));
// si la page n'est pas la dernière
if (pageCourante + 1 != pageTotale) {
// sauf pour la dernière page qui contient souvent moins
// d'élements que le nombre d'élements par page
intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage,
(pageCourante + 1) * taillePage, nbElement));
} else {
champPage.setValue("" + (pageCourante + 1));
// si la page n'est pas la dernière
if (pageCourante + 1 != pageTotale) {
// sauf pour la dernière page qui contient souvent moins
// d'élements que le nombre d'élements par page
intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage,
(pageCourante + 1) * taillePage, nbElement));
} else {
// on met simplement à jour l'intervalle qui contient toujours
// le même nombre d'éléments
intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage,
nbElement, nbElement));
}
// on met simplement à jour l'intervalle qui contient toujours
// le même nombre d'éléments
intervalleElements.setText(i18nM.elementsAffiches(UtilString.ucFirst(labelElement), pageCourante * taillePage,
nbElement, nbElement));
}
}
}
/trunk/src/org/tela_botanica/client/vues/publication/PublicationListeVue.java
6,6 → 6,7
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampFiltreRecherche;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
54,6 → 55,7
private Button modifier;
private Button supprimer;
private ChampFiltreRecherche champFiltreRecherche = null;
private BarrePaginationVue pagination = null;
private int indexElementSelectionne = 0;
142,8 → 144,10
});
add(grille);
PublicationListe publicationListe = new PublicationListe();
champFiltreRecherche = new ChampFiltreRecherche(mediateurCourant, toolBar, publicationListe);
// Définition de la barre de pagination
pagination = new BarrePaginationVue(new StructureListe(), mediateur);
pagination = new BarrePaginationVue(publicationListe, mediateur);
setBottomComponent(pagination);
}
197,6 → 201,7
if (nouvellesDonnees instanceof PublicationListe) {
PublicationListe publications = (PublicationListe) nouvellesDonnees;
champFiltreRecherche.setListePaginable(publications);
pagination.setlistePaginable(publications);
pagination.rafraichir(publications.getPageTable());
/trunk/src/org/tela_botanica/client/vues/personne/PersonneListeVue.java
6,6 → 6,7
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampFiltreRecherche;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
45,7 → 46,10
private Grid<Personne> grille = null;
private ListStore<Personne> store = null;
private ChampFiltreRecherche champFiltreRecherche = null;
private BarrePaginationVue pagination = null;
private ColumnModel modeleColonnes = null;
private Button ajouter = null;
private Button modifier = null;
142,8 → 146,10
});
add(grille);
PersonneListe personneListe = new PersonneListe();
champFiltreRecherche = new ChampFiltreRecherche(mediateur, toolBar, personneListe);
// Définition de la barre de pagination
pagination = new BarrePaginationVue(new PersonneListe(), mediateur);
pagination = new BarrePaginationVue(personneListe, mediateur);
setBottomComponent(pagination);
}
 
178,6 → 184,7
if (nouvellesDonnees instanceof PersonneListe) {
PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees;
champFiltreRecherche.setListePaginable(listePersonnes);
pagination.setlistePaginable(listePersonnes);
pagination.rafraichir(listePersonnes.getPageTable());
/trunk/src/org/tela_botanica/client/vues/collection/CollectionListeVue.java
6,6 → 6,7
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampFiltreRecherche;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
51,6 → 52,7
private Button supprimer;
private Button ajouter;
private BarrePaginationVue pagination = null;
private ChampFiltreRecherche champFiltreRecherche = null;
private int indexElementSelectionne = 0;
private Collection collectionSelectionnee = null;
92,7 → 94,7
});
supprimer.setToolTip(i18nC.indicationSupprimerUneFiche());
toolBar.add(supprimer);
 
setTopComponent(toolBar);
 
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
132,8 → 134,10
});
add(grille);
CollectionListe collectionListe = new CollectionListe();
champFiltreRecherche = new ChampFiltreRecherche(mediateur, toolBar, collectionListe);
// Définition de la barre de pagination
pagination = new BarrePaginationVue(new CollectionListe(), mediateur);
pagination = new BarrePaginationVue(collectionListe, mediateur);
setBottomComponent(pagination);
}
 
171,6 → 175,7
pagination.setlistePaginable(collections);
int[] pt = collections.getPageTable();
pagination.rafraichir(collections.getPageTable());
champFiltreRecherche.setListePaginable(collections);
if (collections != null) {
List<Collection> liste = collections.toList();
/trunk/src/org/tela_botanica/client/vues/structure/StructureListeVue.java
5,6 → 5,7
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.composants.ChampFiltreRecherche;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.images.Images;
13,6 → 14,7
import org.tela_botanica.client.modeles.Utilisateur;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.modeles.publication.PublicationListe;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.modeles.structure.StructureListe;
import org.tela_botanica.client.vues.BarrePaginationVue;
51,6 → 53,7
private Button supprimer;
private Button ajouter;
private ChampFiltreRecherche champFiltreRecherche = null;
private BarrePaginationVue pagination = null;
private int indexElementSelectionne = 0;
131,8 → 134,10
});
add(grille);
StructureListe structureListe = new StructureListe();
champFiltreRecherche = new ChampFiltreRecherche(mediateurCourant, toolBar, structureListe);
// Définition de la barre de pagination
pagination = new BarrePaginationVue(new StructureListe(), mediateur);
pagination = new BarrePaginationVue(structureListe, mediateur);
setBottomComponent(pagination);
}
 
162,6 → 167,8
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof StructureListe) {
StructureListe structures = (StructureListe) nouvellesDonnees;
champFiltreRecherche.setListePaginable(structures);
pagination.setlistePaginable(structures);
pagination.rafraichir(structures.getPageTable());
/trunk/src/org/tela_botanica/client/composants/ChampFiltreRecherche.java
New file
0,0 → 1,98
package org.tela_botanica.client.composants;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.ListePaginable;
 
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.KeyListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
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.TextField;
import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.event.dom.client.KeyCodes;
 
public class ChampFiltreRecherche {
private ListePaginable listePaginable;
private Mediateur mediateur;
private ToolBar parent;
private TextField<String> filtre;
private Button annulerFiltre;
private boolean filtreActive = false;
private String termeRecherche = "";
private Text labelFiltre;
 
public ChampFiltreRecherche(Mediateur mediateur, ToolBar parent, ListePaginable listePaginable) {
//Séparation
this.mediateur = mediateur;
this.parent = parent;
this.listePaginable = listePaginable;
parent.add(new SeparatorToolItem());
labelFiltre = new Text("Recherche rapide : ");
labelFiltre.setStyleAttribute("padding-right", "5px");
parent.add(labelFiltre);
filtre = new TextField<String>();
filtre.setWidth(150);
parent.add(filtre);
annulerFiltre = new Button();
annulerFiltre.setIcon(Images.ICONES.annuler());
annulerFiltre.setVisible(false);
parent.add(annulerFiltre);
parent.add(new FillToolItem());
ajouterListeners();
}
private void ajouterListeners() {
annulerFiltre.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
filtre.setValue("");
termeRecherche = "";
filtreActive = false;
listePaginable.filtrerParNom("");
labelFiltre.setStyleAttribute("font-weight", "normal");
changerEtat();
}
});
filtre.addKeyListener(new KeyListener(){
public void componentKeyUp(ComponentEvent ce) {
if (ce.getKeyCode() == KeyCodes.KEY_ENTER) {
termeRecherche = filtre.getValue();
if (termeRecherche == null || termeRecherche.equals("")) {
filtreActive = false;
labelFiltre.setStyleAttribute("font-weight", "normal");
termeRecherche= "";
listePaginable.filtrerParNom("");
changerEtat();
} else {
listePaginable.filtrerParNom(termeRecherche);
labelFiltre.setStyleAttribute("font-weight", "bold");
filtreActive = true;
changerEtat();
}
}
}
});
}
private void changerEtat() {
if (filtreActive == true) {
annulerFiltre.setVisible(true);
} else {
annulerFiltre.setVisible(false);
}
}
public void setListePaginable(ListePaginable listePaginable) {
this.listePaginable = listePaginable;
}
}
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAsyncDao.java
29,7 → 29,7
private Rafraichissable vueARafraichir = null;
public CollectionAsyncDao(Rafraichissable vueARafraichirCourrante) {
if (Mediateur.DEBUG) System.out.println("|| CollectionAsyncDao > vueARafraichir = "+vueARafraichirCourrante.getClass().toString());
//if (Mediateur.DEBUG) System.out.println("|| CollectionAsyncDao > vueARafraichir = "+vueARafraichirCourrante.getClass().toString());
vueARafraichir = vueARafraichirCourrante;
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
}
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAsyncDao.java
19,6 → 19,7
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.Window;
 
public class StructureAsyncDao {
private static final String SERVICE_NOM = "CoelStructure";