/trunk/src/org/tela_botanica/client/vues/observation/filtres/ArbreDateObservationFiltreVue.java |
---|
3,6 → 3,7 |
import java.util.Comparator; |
import java.util.Iterator; |
import org.tela_botanica.client.Util; |
import org.tela_botanica.client.interfaces.Filtrable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.DateObservation; |
155,45 → 156,7 |
arbreDonneesDates.addListener(new TreePanelListenerAdapter() { |
public void onClick(TreeNode node, EventObject e) { |
nomFiltre = "" ; |
donneesDateEnCours = "" ; |
String nomPere = "" ; |
String nomGrandPere = "" ; |
switch(node.getDepth()) |
{ |
case 0: |
if(!arbreCharge) |
{ |
/* arbreCharge = true ; |
observationMediateur.obtenirDatesObservation() ;*/ |
arbreDonneesDates.getRootNode().expand(); |
} |
else |
{ |
observationMediateur.obtenirNombreObservation() ; |
} |
return ; |
case 3: nomFiltre += "annee,mois,jour"; |
nomPere = ((String[])node.getParentNode().getUserObject())[1] ; |
nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[1] ; |
donneesDateEnCours += nomGrandPere+","+nomPere+","+((String[])node.getUserObject())[1] ; |
break; |
case 2: nomFiltre += "annee,mois"; |
nomPere = ((String[])node.getParentNode().getUserObject())[1] ; |
donneesDateEnCours += nomPere+","+((String[])node.getUserObject())[1] ; |
break; |
case 1: nomFiltre += "annee"; |
donneesDateEnCours += ((String[])node.getUserObject())[1] ; |
break; |
default: |
break; |
} |
filtreModifie = true ; |
observationMediateur.obtenirNombreObservation() ; |
gererClicNoeud(node); |
} |
}) ; |
211,6 → 174,46 |
}) ; |
} |
private void gererClicNoeud(TreeNode node) { |
mettreAJourValeurEnCours(node); |
observationMediateur.obtenirNombreObservation() ; |
} |
private void mettreAJourValeurEnCours(TreeNode node) { |
nomFiltre = "" ; |
donneesDateEnCours = "" ; |
String nomPere = "" ; |
String nomGrandPere = "" ; |
switch(node.getDepth()) |
{ |
case 0: |
if(arbreCharge) { |
nomFiltre = ""; |
donneesDateEnCours = ""; |
} |
break; |
case 3: nomFiltre += "annee,mois,jour"; |
nomPere = ((String[])node.getParentNode().getUserObject())[1] ; |
nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[1] ; |
donneesDateEnCours += nomGrandPere+","+nomPere+","+((String[])node.getUserObject())[1] ; |
break; |
case 2: nomFiltre += "annee,mois"; |
nomPere = ((String[])node.getParentNode().getUserObject())[1] ; |
donneesDateEnCours += nomPere+","+((String[])node.getUserObject())[1] ; |
break; |
case 1: nomFiltre += "annee"; |
donneesDateEnCours += ((String[])node.getUserObject())[1] ; |
break; |
default: |
break; |
} |
filtreModifie = true ; |
} |
public void initialiser() { |
arbreCharge = false ; |
266,7 → 269,7 |
annee= ent.getAnnee() ; |
mois= ent.getMois() ; |
String moisLettre = renvoyerMois(Integer.parseInt(mois)) ; |
String moisLettre = Util.renvoyerMois(Integer.parseInt(mois)) ; |
jour= ent.getJour() ; |
if(annee.contains("0000")) { |
395,7 → 398,7 |
String mois= dateSpl[1]; |
String jour= dateSpl[0]; |
String moisLettre = renvoyerMois(Integer.parseInt(mois)) ; |
String moisLettre = Util.renvoyerMois(Integer.parseInt(mois)) ; |
Node root = arbreDonneesDates.getRootNode() ; |
575,39 → 578,6 |
} ; |
} |
public String renvoyerMois(int numMois) { |
switch (numMois) { |
case 1: |
return "janvier" ; |
case 2: |
return "fevrier" ; |
case 3: |
return "mars" ; |
case 4: |
return "avril" ; |
case 5: |
return "mai" ; |
case 6: |
return "juin" ; |
case 7: |
return "juillet" ; |
case 8: |
return "août" ; |
case 9: |
return "septembre" ; |
case 10: |
return "octobre" ; |
case 11: |
return "novembre" ; |
case 12: |
return "décembre" ; |
default: |
return "Inconnue" ; |
} |
} |
public void raz() { |
640,5 → 610,60 |
} |
public void viderFiltre() { |
arbreDonneesDates.getSelectionModel().clearSelections(); |
donneesDateEnCours = ""; |
} |
public void viderFiltre(String nom) { |
final int profondeur = calculerProfondeurPourNomFiltre(nom); |
// on vide tous les noeuds |
arbreDonneesDates.getRootNode().cascade(new NodeTraversalCallback() { |
public boolean execute(Node node) { |
boolean continuer = true; |
TreeNode noeudArbreEncours = (TreeNode)node; |
if(arbreDonneesDates.getSelectionModel().isSelected(noeudArbreEncours)) { |
int profondeurDepart = noeudArbreEncours.getDepth(); |
for(int profondeurNoeudArbreEncours = profondeurDepart; profondeurNoeudArbreEncours >= profondeur; profondeurNoeudArbreEncours--) { |
noeudArbreEncours = (TreeNode)noeudArbreEncours.getParentNode(); |
} |
arbreDonneesDates.getSelectionModel().select(noeudArbreEncours); |
mettreAJourValeurEnCours(noeudArbreEncours); |
continuer = false; |
} |
return continuer; |
} |
}); |
} |
private int calculerProfondeurPourNomFiltre(String nom) { |
int profondeur = 0; |
if(nom.equals("annee")) { |
profondeur = 1; |
} |
if(nom.equals("mois")) { |
profondeur = 2; |
} |
if(nom.equals("jour")) { |
profondeur = 3; |
} |
return profondeur; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/observation/filtres/ArbreMotsClesObservationVue.java |
---|
752,4 → 752,9 |
mn.showAt(e.getXY()); |
} |
public void viderFiltre() { |
arbreMotsCles.getSelectionModel().clearSelections(); |
motsClesEnCours = ""; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/observation/filtres/RechercheLibreVue.java |
---|
106,4 → 106,9 |
valeurRecherchee = ""; |
} |
} |
public void viderFiltre() { |
champRecherche.setValue(""); |
valeurRecherchee = ""; |
} |
} |
/trunk/src/org/tela_botanica/client/vues/observation/filtres/ArbreEntiteGeographiqueObservationFiltreVue.java |
---|
151,53 → 151,7 |
arbreEntitesGeographiques.addListener(new TreePanelListenerAdapter() { |
public void onClick(TreeNode node, EventObject e) { |
nomFiltre = "" ; |
entitesGeographiquesEncours = "" ; |
String nomPere = "" ; |
String nomGrandPere = "" ; |
String nomArriereGrandPere = ""; |
switch(node.getDepth()) |
{ |
case 0: |
if(!arbreCharge) |
{ |
arbreEntitesGeographiques.getRootNode().expand(); |
} |
else |
{ |
observationMediateur.obtenirNombreObservation() ; |
} |
return ; |
case 4: nomFiltre += "station,lieudit,location,id_location"; |
nomPere = ((String[])node.getParentNode().getUserObject())[0] ; |
nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ; |
nomArriereGrandPere = ((String[])node.getParentNode().getParentNode().getParentNode().getUserObject())[0] ; |
entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere+","+nomArriereGrandPere ; |
break; |
case 3: nomFiltre += "lieudit,location,id_location"; |
nomPere = ((String[])node.getParentNode().getUserObject())[0] ; |
nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ; |
entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere ; |
break; |
case 2: nomFiltre += "location,id_location"; |
nomPere = ((String[])node.getParentNode().getUserObject())[0] ; |
entitesGeographiquesEncours += node.getText()+","+nomPere ; |
break; |
case 1: nomFiltre += "id_location"; |
entitesGeographiquesEncours += node.getText() ; |
break; |
default: |
break; |
} |
filtreModifie = true ; |
// Le filtre est modifie : on lance un rafraaaichissement de la liste des observations affichees |
observationMediateur.obtenirNombreObservation() ; |
gererClicNoeud(node); |
} |
}) ; |
215,6 → 169,57 |
}) ; |
} |
private void gererClicNoeud(TreeNode node) { |
mettreAJourValeurEnCours(node); |
observationMediateur.obtenirNombreObservation() ; |
} |
private void mettreAJourValeurEnCours(TreeNode node) { |
nomFiltre = "" ; |
entitesGeographiquesEncours = "" ; |
String nomPere = "" ; |
String nomGrandPere = "" ; |
String nomArriereGrandPere = ""; |
switch(node.getDepth()) |
{ |
case 0: |
if(!arbreCharge) |
{ |
arbreEntitesGeographiques.getRootNode().expand(); |
} |
else |
{ |
observationMediateur.obtenirNombreObservation() ; |
} |
return ; |
case 4: nomFiltre += "station,lieudit,location,id_location"; |
nomPere = ((String[])node.getParentNode().getUserObject())[0] ; |
nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ; |
nomArriereGrandPere = ((String[])node.getParentNode().getParentNode().getParentNode().getUserObject())[0] ; |
entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere+","+nomArriereGrandPere ; |
break; |
case 3: nomFiltre += "lieudit,location,id_location"; |
nomPere = ((String[])node.getParentNode().getUserObject())[0] ; |
nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ; |
entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere ; |
break; |
case 2: nomFiltre += "location,id_location"; |
nomPere = ((String[])node.getParentNode().getUserObject())[0] ; |
entitesGeographiquesEncours += node.getText()+","+nomPere ; |
break; |
case 1: nomFiltre += "id_location"; |
entitesGeographiquesEncours += node.getText() ; |
break; |
default: |
break; |
} |
filtreModifie = true ; |
} |
public void initialiser() { |
arbreCharge = false ; |
558,5 → 563,67 |
root.sort(comparerNoeuds()) ; |
} |
@Override |
public void viderFiltre() { |
arbreEntitesGeographiques.getSelectionModel().clearSelections(); |
entitesGeographiquesEncours =""; |
} |
public void viderFiltre(String nom) { |
final int profondeur = calculerProfondeurPourNomFiltre(nom); |
// on vide tous les noeuds |
arbreEntitesGeographiques.getRootNode().cascade(new NodeTraversalCallback() { |
public boolean execute(Node node) { |
boolean continuer = true; |
TreeNode noeudArbreEncours = (TreeNode)node; |
if(arbreEntitesGeographiques.getSelectionModel().isSelected(noeudArbreEncours)) { |
int profondeurDepart = noeudArbreEncours.getDepth(); |
for(int profondeurNoeudArbreEncours = profondeurDepart; profondeurNoeudArbreEncours >= profondeur; profondeurNoeudArbreEncours--) { |
noeudArbreEncours = (TreeNode)noeudArbreEncours.getParentNode(); |
} |
arbreEntitesGeographiques.getSelectionModel().select(noeudArbreEncours); |
mettreAJourValeurEnCours(noeudArbreEncours); |
continuer = false; |
} |
return continuer; |
} |
}); |
} |
private int calculerProfondeurPourNomFiltre(String nom) { |
int profondeur = 0; |
if(nom.equals("id_location")) { |
profondeur = 1; |
} |
if(nom.equals("location")) { |
profondeur = 2; |
} |
if(nom.equals("lieudit")) { |
profondeur = 3; |
} |
if(nom.equals("station")) { |
profondeur = 4; |
} |
return profondeur; |
} |
} |