/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,7 → 1900,7 |
@Override |
public void onValueChange(ValueChangeEvent<String> event) { |
String token = event.getValue(); |
if(premierChargement) { |
if (token != null) { |
if (token.lastIndexOf("?") == -1) { |
this.requeteUrl = null; |
1915,6 → 1917,8 |
} |
} |
} |
premierChargement = false; |
} |
private void analyseRequeteURL() { |
String[] params = requeteUrl.split("&"); |
/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/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/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() ; |
166,21 → 161,6 |
//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,9 → 342,6 |
* d'éléments à partir des variables de classes |
*/ |
public void rafraichirNumeroPage() { |
if (filtreActive == true) { |
intervalleElements.setText("<b><i>Recherche active : </i></b>" + termeRecherche); |
} else { |
surTotalPage.setText(" sur " + pageTotale); |
if (nbElement == 0) { |
champPage.setValue("" + (0)); |
419,7 → 365,6 |
} |
} |
} |
} |
/** |
* Met à jour la page en cours |
/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; |
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/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"; |