/trunk/src/org/tela_botanica/client/vues/observation/filtres/ArbreMotsClesObservationVue.java |
---|
2,34 → 2,20 |
import org.tela_botanica.client.interfaces.Filtrable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.observation.ObservationMediateur; |
import org.tela_botanica.client.vues.observation.ListeObservationVue; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.core.client.JavaScriptObject; |
import com.google.gwt.i18n.client.NumberFormat; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.KeyboardListener; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.data.Node; |
import com.gwtext.client.data.NodeTraversalCallback; |
import com.gwtext.client.data.Record; |
import com.gwtext.client.data.Tree; |
import com.gwtext.client.dd.DD; |
import com.gwtext.client.dd.DragData; |
import com.gwtext.client.dd.DragDrop; |
import com.gwtext.client.dd.DragSource; |
import com.gwtext.client.dd.DropTarget; |
import com.gwtext.client.dd.DropTargetConfig; |
import com.gwtext.client.widgets.BoxComponent; |
import com.gwtext.client.widgets.Button; |
import com.gwtext.client.widgets.Component; |
import com.gwtext.client.widgets.Container; |
import com.gwtext.client.widgets.Panel; |
import com.gwtext.client.widgets.event.ButtonListenerAdapter; |
import com.gwtext.client.widgets.event.PanelListenerAdapter; |
import com.gwtext.client.widgets.form.TextField; |
import com.gwtext.client.widgets.grid.GridDragData; |
import com.gwtext.client.widgets.grid.GridView; |
import com.gwtext.client.widgets.layout.VerticalLayout; |
import com.gwtext.client.widgets.menu.BaseItem; |
import com.gwtext.client.widgets.menu.Item; |
38,13 → 24,10 |
import com.gwtext.client.widgets.tree.DropNodeCallback; |
import com.gwtext.client.widgets.tree.MultiSelectionModel; |
import com.gwtext.client.widgets.tree.TreeDragData; |
import com.gwtext.client.widgets.tree.TreeDropZone; |
import com.gwtext.client.widgets.tree.TreeDropZoneConfig; |
import com.gwtext.client.widgets.tree.TreeEditor; |
import com.gwtext.client.widgets.tree.TreeNode; |
import com.gwtext.client.widgets.tree.TreePanel; |
import com.gwtext.client.widgets.tree.event.TreeNodeListenerAdapter; |
import com.gwtext.client.widgets.tree.event.TreePanelListener; |
import com.gwtext.client.widgets.tree.event.TreePanelListenerAdapter; |
public class ArbreMotsClesObservationVue extends Panel implements Rafraichissable, Filtrable { |
151,6 → 134,7 |
// on instancie réellement les composants au moment du rendu pour |
// accélérer l'affichage |
// et éviter des bugs |
@Override |
public void onRender(Component component) { |
livue = oMediateur.getListeObservation(); |
181,6 → 165,7 |
arbreMotsCles.add(te); |
arbreMotsCles.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onClick(Node node, EventObject e) { |
if(!arbreCharge) { |
expand(); |
187,6 → 172,7 |
} |
} |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) { |
obtenirArbreMotsCles(); |
260,6 → 246,7 |
arbreMotsCles.addListener(new TreePanelListenerAdapter() { |
// gestion du clic sur un noeud |
@Override |
public void onClick(TreeNode node, EventObject e) { |
e.stopEvent(); |
271,6 → 258,7 |
} |
// gestion du clic droit sur un noeud |
@Override |
public void onContextMenu(TreeNode node, EventObject e) { |
e.stopEvent(); |
279,6 → 267,7 |
} |
// gestion du double clic sur un noeud |
@Override |
public void onDblClick(TreeNode node, EventObject e) { |
modifNoeud = true; |
288,6 → 277,7 |
} |
// gestion de la modification du texte d'un noeud |
@Override |
public void onTextChange(TreeNode node, String text, String oldText) { |
// on récupère les informations associées au noeud |
321,6 → 311,7 |
} |
// gestion du déplacement d'un noeud |
@Override |
public void onMoveNode(Tree tree, TreeNode node, |
TreeNode oldParent, TreeNode newParent, int index) { |
// on notifie le médiateur et on lui passe l'arbre |
328,6 → 319,7 |
getArbreMotsCles().getTree()); |
} |
@Override |
public boolean doBeforeNodeDrop(TreePanel treePanel, |
TreeNode target, DragData dragData, |
String point, DragDrop source, |
350,6 → 342,7 |
} |
@Override |
public void onNodeDrop(TreePanel treePanel, |
TreeNode target, DragData dragData, |
String point, DragDrop source, TreeNode dropNode) { |
363,6 → 356,7 |
ajouterMotCle.addListener(new ButtonListenerAdapter() { |
// lors du clic |
@Override |
public void onClick(Button button, EventObject e) { |
TreeNode[] noeuds = ((MultiSelectionModel)arbreMotsCles.getSelectionModel()).getSelectedNodes(); |
495,6 → 489,7 |
new NodeTraversalCallback() { |
// pour chaque noeud |
@Override |
public boolean execute(Node node) { |
// on parcourt le tableau des mots clés |
550,6 → 545,7 |
arbreMotsCles.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
569,6 → 565,7 |
* @param repandreRafraichissement |
* booleen qui dit si on doit répandre l'évenement |
*/ |
@Override |
public void rafraichir(Object nouvelleDonnees, |
boolean repandreRafraichissement) { |
622,7 → 619,7 |
// si l'arbre n'est pas encore instancié on met les mots clés en |
// attente |
else { |
motsClesEnAttente = (String[]) motsClesIds; |
motsClesEnAttente = motsClesIds; |
} |
} |
} |
679,6 → 676,7 |
arbreMotsCles.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
692,16 → 690,19 |
motsClesEnCours = ""; |
} |
@Override |
public boolean renvoyerEtatFiltre() { |
// TODO Auto-generated method stub |
return false; |
} |
@Override |
public String renvoyerNomFiltre() { |
// TODO Auto-generated method stub |
return null; |
} |
@Override |
public String[] renvoyerValeursAFiltrer() { |
String val = ""; |
721,6 → 722,7 |
return valeursFiltres; |
} |
@Override |
public void valider() { |
// TODO Auto-generated method stub |
740,6 → 742,7 |
mn.addListener(new MenuListenerAdapter() { |
@Override |
public void onItemClick(BaseItem item, EventObject e) { |
if (item.equals(suppN)) { |
supprimerNoeud(n); |
753,6 → 756,7 |
mn.showAt(e.getXY()); |
} |
@Override |
public void viderFiltre() { |
arbreMotsCles.getSelectionModel().clearSelections(); |
motsClesEnCours = ""; |
/trunk/src/org/tela_botanica/client/vues/observation/filtres/RechercheLibreVue.java |
---|
3,13 → 3,10 |
import org.tela_botanica.client.interfaces.Filtrable; |
import org.tela_botanica.client.observation.ObservationMediateur; |
import com.google.gwt.user.client.ui.ClickListener; |
import com.gwtext.client.core.EventCallback; |
import com.gwtext.client.core.EventObject; |
import com.google.gwt.user.client.ui.Widget; |
import com.gwtext.client.widgets.Button; |
import com.gwtext.client.widgets.Panel; |
import com.gwtext.client.widgets.event.ButtonListener; |
import com.gwtext.client.widgets.event.ButtonListenerAdapter; |
import com.gwtext.client.widgets.form.TextField; |
39,6 → 36,7 |
boutonRechercher.addListener(new ButtonListenerAdapter() { |
@Override |
public void onClick(Button button, EventObject e) { |
valider(); |
} |
46,7 → 44,8 |
champRecherche.addKeyPressListener(new EventCallback() { |
public void execute(EventObject e) { |
@Override |
public void execute(EventObject e) { |
switch(e.getKey()) { |
case KEY_ENTER: |
65,15 → 64,18 |
} |
@Override |
public boolean renvoyerEtatFiltre() { |
return estModifie; |
} |
@Override |
public String renvoyerNomFiltre() { |
return "Taxon"; |
} |
@Override |
public String[] renvoyerValeursAFiltrer() { |
String nom = ""; |
91,6 → 93,7 |
} |
@Override |
public void valider() { |
if(champRecherche.getValueAsString() != null && champRecherche.getValueAsString() != valeurRecherchee) { |
estModifie = true; |
107,6 → 110,7 |
} |
} |
@Override |
public void viderFiltre() { |
champRecherche.setValue(""); |
valeurRecherchee = ""; |
/trunk/src/org/tela_botanica/client/vues/observation/filtres/ArbreEntiteGeographiqueObservationFiltreVue.java |
---|
11,8 → 11,6 |
import org.tela_botanica.client.observation.ObservationMediateur; |
import org.tela_botanica.client.util.Util; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
import com.gwtext.client.data.Node; |
import com.gwtext.client.data.NodeTraversalCallback; |
import com.gwtext.client.data.Tree; |
110,6 → 108,7 |
// on instancie réellement les composants au moment du rendu pour |
// accélérer l'affichage |
// et éviter des bugs |
@Override |
public void onRender(Component component) { |
// on interdit le drag and drop dans l'arbre |
151,6 → 150,7 |
arbreEntitesGeographiques.addListener(new TreePanelListenerAdapter() { |
@Override |
public void onClick(TreeNode node, EventObject e) { |
gererClicNoeud(node); |
} |
159,6 → 159,7 |
arbreEntitesGeographiques.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
235,6 → 236,7 |
arbreEntitesGeographiques.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
249,6 → 251,7 |
/** |
* Méthode héritée de l'interface rafraichissable |
*/ |
@Override |
public void rafraichir(Object nouvelleDonnees, |
boolean repandreRaffraichissement) { |
269,6 → 272,7 |
// on vide tous les noeuds |
arbreEntitesGeographiques.getRootNode().eachChild(new NodeTraversalCallback() { |
@Override |
public boolean execute(Node node) { |
node.remove(); |
return true; |
278,7 → 282,7 |
// on la parse et on récupère les informations qui nous interessent |
for (Iterator<String> it= data.keySet().iterator(); it.hasNext();) { |
EntiteGeographiqueObservation ent=(EntiteGeographiqueObservation) data.get(it.next()); |
EntiteGeographiqueObservation ent=data.get(it.next()); |
creerHierarchieNoeud(nouvelArbre ,root, ent); |
doLayout(); |
} |
335,6 → 339,7 |
/** |
* Méthode héritée de Filtrable renvoie le nom du filtre |
*/ |
@Override |
public String renvoyerNomFiltre() { |
return "Localités"; |
345,6 → 350,7 |
* |
* @return un tableau contenant le nom du champ à filtrer et sa valeur |
*/ |
@Override |
public String[] renvoyerValeursAFiltrer() { |
valider(); |
386,11 → 392,13 |
/** |
* Méthode héritée de Filtrable Renvoie l'état du filtre (modifié ou non) |
*/ |
@Override |
public boolean renvoyerEtatFiltre() { |
return filtreModifie; |
} |
@Override |
public void valider() { |
if (estInstancie) { |
402,6 → 410,7 |
{ |
return new Comparator<TreeNode>() { |
@Override |
public int compare(TreeNode o1, TreeNode o2) { |
if(o1.getText().equals("Inconnue")) { |
465,6 → 474,7 |
arbreEntitesGeographiques.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
579,6 → 589,7 |
// on vide tous les noeuds |
arbreEntitesGeographiques.getRootNode().cascade(new NodeTraversalCallback() { |
@Override |
public boolean execute(Node node) { |
boolean continuer = true; |
/trunk/src/org/tela_botanica/client/vues/observation/filtres/ArbreDateObservationFiltreVue.java |
---|
11,8 → 11,6 |
import org.tela_botanica.client.observation.ObservationMediateur; |
import org.tela_botanica.client.util.Util; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
import com.gwtext.client.data.Node; |
import com.gwtext.client.data.NodeTraversalCallback; |
import com.gwtext.client.data.Tree; |
112,6 → 110,7 |
// on instancie réellement les composants au moment du rendu pour |
// accélérer l'affichage |
// et éviter des bugs |
@Override |
public void onRender(Component component) { |
// on interdit le drag and drop dans l'arbre |
156,6 → 155,7 |
arbreDonneesDates.addListener(new TreePanelListenerAdapter() { |
@Override |
public void onClick(TreeNode node, EventObject e) { |
gererClicNoeud(node); |
} |
164,6 → 164,7 |
arbreDonneesDates.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
230,6 → 231,7 |
arbreDonneesDates.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
244,6 → 246,7 |
/** |
* Méthode héritée de l'interface rafraichissable |
*/ |
@Override |
public void rafraichir(Object nouvelleDonnees, |
boolean repandreRaffraichissement) { |
267,7 → 270,7 |
// on la parse et on récupère les informations qui nous interessent |
for (Iterator<String> it= data.keySet().iterator(); it.hasNext();) { |
DateObservation ent=(DateObservation) data.get(it.next()); |
DateObservation ent=data.get(it.next()); |
annee= ent.getAnnee() ; |
mois= ent.getMois() ; |
358,6 → 361,7 |
// on vide tous les noeuds |
arbreDonneesDates.getRootNode().eachChild(new NodeTraversalCallback() { |
@Override |
public boolean execute(Node node) { |
node.remove(); |
503,6 → 507,7 |
/** |
* Méthode héritée de Filtrable renvoie le nom du filtre |
*/ |
@Override |
public String renvoyerNomFiltre() { |
return "Dates"; |
513,6 → 518,7 |
* |
* @return un tableau contenant le nom du champ à filtrer et sa valeur |
*/ |
@Override |
public String[] renvoyerValeursAFiltrer() { |
valider(); |
554,11 → 560,13 |
/** |
* Méthode héritée de Filtrable Renvoie l'état du filtre (modifié ou non) |
*/ |
@Override |
public boolean renvoyerEtatFiltre() { |
return filtreModifie; |
} |
@Override |
public void valider() { |
if (estInstancie) { |
570,6 → 578,7 |
{ |
return new Comparator<TreeNode>() { |
@Override |
public int compare(TreeNode o1, TreeNode o2) { |
String n1 = ((String[])o1.getUserObject())[1] ; |
596,6 → 605,7 |
arbreDonneesDates.getRootNode().addListener(new TreeNodeListenerAdapter() { |
@Override |
public void onExpand(Node node) { |
if(!arbreCharge) |
{ |
612,6 → 622,7 |
} |
@Override |
public void viderFiltre() { |
arbreDonneesDates.getSelectionModel().clearSelections(); |
donneesDateEnCours = ""; |
624,6 → 635,7 |
// on vide tous les noeuds |
arbreDonneesDates.getRootNode().cascade(new NodeTraversalCallback() { |
@Override |
public boolean execute(Node node) { |
boolean continuer = true; |