Subversion Repositories eFlore/Applications.cel

Rev

Rev 669 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 669 Rev 680
Line 1... Line 1...
1
package org.tela_botanica.client.vues.image.filtres;
1
package org.tela_botanica.client.vues.image.filtres;
Line 2... Line 2...
2
 
2
 
3
import java.util.Comparator;
3
import java.util.Comparator;
Line -... Line 4...
-
 
4
import java.util.Iterator;
4
import java.util.Iterator;
5
 
5
 
6
import org.tela_botanica.client.Util;
6
import org.tela_botanica.client.image.ImageMediateur;
7
import org.tela_botanica.client.image.ImageMediateur;
7
import org.tela_botanica.client.interfaces.Filtrable;
8
import org.tela_botanica.client.interfaces.Filtrable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
Line 154... Line 155...
154
	public void ajouterListeners() {
155
	public void ajouterListeners() {
Line 155... Line 156...
155
		
156
		
Line 156... Line 157...
156
		arbreDonneesDates.addListener(new TreePanelListenerAdapter() {
157
		arbreDonneesDates.addListener(new TreePanelListenerAdapter() {
157
			
-
 
158
			public void onClick(TreeNode node, EventObject e) {
-
 
159
				
-
 
160
				nomFiltre = "" ;
-
 
161
				donneesDateEnCours = "" ;
-
 
162
				String nomPere = "" ;
-
 
163
				String nomGrandPere = "" ;
-
 
164
				
-
 
165
				switch(node.getDepth()) 
-
 
166
				{
-
 
167
					case 0:
-
 
168
						if(arbreCharge) {
-
 
169
							nomFiltre = "";
-
 
170
							donneesDateEnCours = "";
-
 
171
						}
-
 
172
						break;
-
 
173
					case 3: nomFiltre += "annee,mois,jour";
-
 
174
						nomPere = ((String[])node.getParentNode().getUserObject())[1] ;
-
 
175
						nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[1] ;
-
 
176
						donneesDateEnCours += nomGrandPere+","+nomPere+","+((String[])node.getUserObject())[1] ;
-
 
177
						break;
-
 
178
					case 2: nomFiltre += "annee,mois"; 
-
 
179
						nomPere = ((String[])node.getParentNode().getUserObject())[1] ;
-
 
180
						donneesDateEnCours += nomPere+","+((String[])node.getUserObject())[1] ;
-
 
181
						break;
-
 
182
					case 1: nomFiltre += "annee"; 
-
 
183
						donneesDateEnCours += ((String[])node.getUserObject())[1] ;
-
 
184
						break;
-
 
185
					default: 
-
 
186
						break;
-
 
187
				}
158
			
188
				
-
 
189
				filtreModifie = true ;
-
 
190
				imageMediateur.obtenirPhotoGalerie() ;
159
			public void onClick(TreeNode node, EventObject e) {
191
				
-
 
192
			}
160
				gererClicNoeud(node);
Line 193... Line 161...
193
			
161
			}			
Line 194... Line 162...
194
		}) ;
162
		}) ;
Line 205... Line 173...
205
			}
173
			}
Line 206... Line 174...
206
			
174
			
207
		}) ;
175
		}) ;
Line -... Line 176...
-
 
176
	}
-
 
177
	
-
 
178
	private void gererClicNoeud(TreeNode node) {
-
 
179
		
-
 
180
		mettreAJourValeurEnCours(node);
-
 
181
		imageMediateur.obtenirPhotoGalerie() ;
-
 
182
		
-
 
183
	}
-
 
184
	
-
 
185
	private void mettreAJourValeurEnCours(TreeNode node) {
-
 
186
		
-
 
187
		nomFiltre = "" ;
-
 
188
		donneesDateEnCours = "" ;
-
 
189
		String nomPere = "" ;
-
 
190
		String nomGrandPere = "" ;
-
 
191
		
-
 
192
		switch(node.getDepth()) 
-
 
193
		{
-
 
194
			case 0:
-
 
195
				if(arbreCharge) {
-
 
196
					nomFiltre = "";
-
 
197
					donneesDateEnCours = "";
-
 
198
				}
-
 
199
				break;
-
 
200
			case 3: nomFiltre += "annee,mois,jour";
-
 
201
				nomPere = ((String[])node.getParentNode().getUserObject())[1] ;
-
 
202
				nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[1] ;
-
 
203
				donneesDateEnCours += nomGrandPere+","+nomPere+","+((String[])node.getUserObject())[1] ;
-
 
204
				break;
-
 
205
			case 2: nomFiltre += "annee,mois"; 
-
 
206
				nomPere = ((String[])node.getParentNode().getUserObject())[1] ;
-
 
207
				donneesDateEnCours += nomPere+","+((String[])node.getUserObject())[1] ;
-
 
208
				break;
-
 
209
			case 1: nomFiltre += "annee"; 
-
 
210
				donneesDateEnCours += ((String[])node.getUserObject())[1] ;
-
 
211
				break;
-
 
212
			default: 
-
 
213
				break;
-
 
214
		}
-
 
215
		
-
 
216
		filtreModifie = true ;	
208
	}
217
	}
Line 209... Line 218...
209
	
218
 
210
	public void initialiser() {
219
	public void initialiser() {
211
		
220
		
Line 263... Line 272...
263
				
272
				
Line 264... Line 273...
264
				DateObservation ent=(DateObservation) data.get(it.next());
273
				DateObservation ent=(DateObservation) data.get(it.next());
265
				
274
				
266
				annee= ent.getAnnee() ;
275
				annee= ent.getAnnee() ;
267
				mois= ent.getMois() ;
276
				mois= ent.getMois() ;
Line 268... Line 277...
268
				String moisLettre = renvoyerMois(Integer.parseInt(mois)) ;
277
				String moisLettre = Util.renvoyerMois(Integer.parseInt(mois)) ;
269
				jour= ent.getJour() ;
278
				jour= ent.getJour() ;
270
				
279
				
Line 474... Line 483...
474
			}
483
			}
Line 475... Line 484...
475
			
484
			
476
		} ;
485
		} ;
Line 477... Line -...
477
	}
-
 
478
	
-
 
479
	public String renvoyerMois(int numMois) {
-
 
480
		
-
 
481
		switch (numMois) {
-
 
482
		case 1:
-
 
483
			return "janvier" ;
-
 
484
		case 2:
-
 
485
			return "fevrier" ;
-
 
486
		case 3:
-
 
487
			return "mars" ;
-
 
488
		case 4:
-
 
489
			return "avril" ;
-
 
490
		case 5:
-
 
491
			return "mai" ;
-
 
492
		case 6:
-
 
493
			return "juin" ;
-
 
494
		case 7:
-
 
495
			return "juillet" ;
-
 
496
		case 8:
-
 
497
			return "août" ;
-
 
498
		case 9:
-
 
499
			return "septembre" ;
-
 
500
		case 10:
-
 
501
			return "octobre" ;
-
 
502
		case 11:
-
 
503
			return "novembre" ;
-
 
504
		case 12:
-
 
505
			return "décembre" ;
-
 
506
		default:
-
 
507
			return "Inconnue" ;
-
 
508
		}
-
 
509
		
-
 
510
	}
486
	}
Line 511... Line 487...
511
 
487
	
512
	public void raz() {
488
	public void raz() {
513
				
489
				
Line 542... Line 518...
542
	
518
	
543
	public void obtenirDatesImages() {
519
	public void obtenirDatesImages() {
544
		imageMediateur.obtenirDatesImages(this);
520
		imageMediateur.obtenirDatesImages(this);
Line -... Line 521...
-
 
521
	}
-
 
522
 
-
 
523
	public void viderFiltre() {
-
 
524
		donneesDateEnCours = "";
-
 
525
		arbreDonneesDates.getSelectionModel().clearSelections();
-
 
526
	}
-
 
527
 
-
 
528
	public void viderFiltre(String nom) {
-
 
529
		
-
 
530
		final int profondeur = calculerProfondeurPourNomFiltre(nom);
-
 
531
		
-
 
532
		// on vide tous les noeuds
-
 
533
		arbreDonneesDates.getRootNode().cascade(new NodeTraversalCallback() {
-
 
534
 
-
 
535
			public boolean execute(Node node) {
-
 
536
				
-
 
537
				boolean continuer = true;
-
 
538
				
-
 
539
				TreeNode noeudArbreEncours = (TreeNode)node;
-
 
540
				
-
 
541
				if(arbreDonneesDates.getSelectionModel().isSelected(noeudArbreEncours)) {
-
 
542
					
-
 
543
					int profondeurDepart = noeudArbreEncours.getDepth();
-
 
544
					
-
 
545
					for(int profondeurNoeudArbreEncours = profondeurDepart; profondeurNoeudArbreEncours >= profondeur; profondeurNoeudArbreEncours--) {
-
 
546
						noeudArbreEncours = (TreeNode)noeudArbreEncours.getParentNode();
-
 
547
					}
-
 
548
					
-
 
549
					arbreDonneesDates.getSelectionModel().select(noeudArbreEncours); 
-
 
550
					mettreAJourValeurEnCours(noeudArbreEncours);
-
 
551
					
-
 
552
					continuer = false;
-
 
553
				}
-
 
554
				
-
 
555
				return continuer;
-
 
556
			}
-
 
557
 
-
 
558
		});
-
 
559
	}
-
 
560
	
-
 
561
	private int calculerProfondeurPourNomFiltre(String nom) {
-
 
562
		
-
 
563
		int profondeur = 0;
-
 
564
		
-
 
565
		if(nom.equals("annee")) {
-
 
566
			profondeur = 1;
-
 
567
		}
-
 
568
		
-
 
569
		if(nom.equals("mois")) {
-
 
570
			profondeur = 2;
-
 
571
		}
-
 
572
		
-
 
573
		if(nom.equals("jour")) {
-
 
574
			profondeur = 3;
-
 
575
		}
-
 
576
		
-
 
577
		return profondeur;
Line 545... Line 578...
545
	}
578
	}