3,6 → 3,7 |
import java.util.Comparator; |
import java.util.Iterator; |
|
import org.tela_botanica.client.Util; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.interfaces.Filtrable; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
156,41 → 157,8 |
arbreDonneesDates.addListener(new TreePanelListenerAdapter() { |
|
public void onClick(TreeNode node, EventObject e) { |
|
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 ; |
imageMediateur.obtenirPhotoGalerie() ; |
|
} |
|
gererClicNoeud(node); |
} |
}) ; |
|
arbreDonneesDates.getRootNode().addListener(new TreeNodeListenerAdapter() { |
207,6 → 175,47 |
}) ; |
} |
|
private void gererClicNoeud(TreeNode node) { |
|
mettreAJourValeurEnCours(node); |
imageMediateur.obtenirPhotoGalerie() ; |
|
} |
|
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 ; |
265,7 → 274,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")) { |
476,39 → 485,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() { |
|
arbreCharge = false ; |
544,5 → 520,62 |
imageMediateur.obtenirDatesImages(this); |
} |
|
public void viderFiltre() { |
donneesDateEnCours = ""; |
arbreDonneesDates.getSelectionModel().clearSelections(); |
} |
|
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; |
} |
|
|
} |