Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 263 Rev 683
Line 149... Line 149...
149
	private void ajouterListeners() {
149
	private void ajouterListeners() {
Line 150... Line 150...
150
		
150
		
Line 151... Line 151...
151
		arbreEntitesGeographiques.addListener(new TreePanelListenerAdapter() {
151
		arbreEntitesGeographiques.addListener(new TreePanelListenerAdapter() {
152
			
-
 
153
			public void onClick(TreeNode node, EventObject e) {
-
 
154
				
-
 
155
				nomFiltre = "" ;
-
 
156
				entitesGeographiquesEncours = "" ;
-
 
157
				String nomPere = "" ;
-
 
158
				String nomGrandPere = "" ;
-
 
159
				String nomArriereGrandPere = "";
-
 
160
				
-
 
161
				switch(node.getDepth()) 
-
 
162
				{
-
 
163
					case 0:
-
 
164
						if(!arbreCharge)
-
 
165
						{
-
 
166
							arbreEntitesGeographiques.getRootNode().expand();
-
 
167
						}
-
 
168
						else 
-
 
169
						{
-
 
170
							observationMediateur.obtenirNombreObservation() ;
-
 
171
						}
-
 
172
						return ;
-
 
173
					case 4: nomFiltre += "station,lieudit,location,id_location";
-
 
174
					nomPere = ((String[])node.getParentNode().getUserObject())[0] ;
-
 
175
					nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ;
-
 
176
					nomArriereGrandPere = ((String[])node.getParentNode().getParentNode().getParentNode().getUserObject())[0] ;
-
 
177
					entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere+","+nomArriereGrandPere ;
-
 
178
					break;
-
 
179
					case 3: nomFiltre += "lieudit,location,id_location";
-
 
180
						nomPere = ((String[])node.getParentNode().getUserObject())[0] ;
-
 
181
						nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ;
-
 
182
						entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere ;
-
 
183
						break;
-
 
184
					case 2: nomFiltre += "location,id_location"; 
-
 
185
						nomPere = ((String[])node.getParentNode().getUserObject())[0] ;
-
 
186
						entitesGeographiquesEncours += node.getText()+","+nomPere ;
-
 
187
						break;
-
 
188
					case 1: nomFiltre += "id_location"; 
-
 
189
						entitesGeographiquesEncours += node.getText() ;
-
 
190
						break;
-
 
191
					default: 
-
 
192
						break;
-
 
193
				}
152
			
194
				
-
 
195
				filtreModifie = true ;
-
 
196
				
-
 
197
				// Le filtre est modifie : on lance un rafraaaichissement de la liste des observations affichees
-
 
198
				
-
 
199
				observationMediateur.obtenirNombreObservation() ;
153
			public void onClick(TreeNode node, EventObject e) {
Line 200... Line 154...
200
				
154
				gererClicNoeud(node);
Line 201... Line 155...
201
			}
155
			}
Line 213... Line 167...
213
			}
167
			}
Line 214... Line 168...
214
			
168
			
215
		}) ;
169
		}) ;
Line -... Line 170...
-
 
170
	}
-
 
171
	
-
 
172
	private void gererClicNoeud(TreeNode node) {
-
 
173
		
-
 
174
		mettreAJourValeurEnCours(node);
-
 
175
		observationMediateur.obtenirNombreObservation() ;
-
 
176
	}
-
 
177
	
-
 
178
	private void mettreAJourValeurEnCours(TreeNode node) {
-
 
179
		
-
 
180
		nomFiltre = "" ;
-
 
181
		entitesGeographiquesEncours = "" ;
-
 
182
		String nomPere = "" ;
-
 
183
		String nomGrandPere = "" ;
-
 
184
		String nomArriereGrandPere = "";
-
 
185
		
-
 
186
		switch(node.getDepth()) 
-
 
187
		{
-
 
188
			case 0:
-
 
189
				if(!arbreCharge)
-
 
190
				{
-
 
191
					arbreEntitesGeographiques.getRootNode().expand();
-
 
192
				}
-
 
193
				else 
-
 
194
				{
-
 
195
					observationMediateur.obtenirNombreObservation() ;
-
 
196
				}
-
 
197
				return ;
-
 
198
			case 4: nomFiltre += "station,lieudit,location,id_location";
-
 
199
			nomPere = ((String[])node.getParentNode().getUserObject())[0] ;
-
 
200
			nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ;
-
 
201
			nomArriereGrandPere = ((String[])node.getParentNode().getParentNode().getParentNode().getUserObject())[0] ;
-
 
202
			entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere+","+nomArriereGrandPere ;
-
 
203
			break;
-
 
204
			case 3: nomFiltre += "lieudit,location,id_location";
-
 
205
				nomPere = ((String[])node.getParentNode().getUserObject())[0] ;
-
 
206
				nomGrandPere = ((String[])node.getParentNode().getParentNode().getUserObject())[0] ;
-
 
207
				entitesGeographiquesEncours += node.getText()+","+nomPere+","+nomGrandPere ;
-
 
208
				break;
-
 
209
			case 2: nomFiltre += "location,id_location"; 
-
 
210
				nomPere = ((String[])node.getParentNode().getUserObject())[0] ;
-
 
211
				entitesGeographiquesEncours += node.getText()+","+nomPere ;
-
 
212
				break;
-
 
213
			case 1: nomFiltre += "id_location"; 
-
 
214
				entitesGeographiquesEncours += node.getText() ;
-
 
215
				break;
-
 
216
			default: 
-
 
217
				break;
-
 
218
		}
-
 
219
		
-
 
220
		filtreModifie = true ;
216
	}
221
	}
Line 217... Line 222...
217
	
222
	
218
	public void initialiser() {
223
	public void initialiser() {
219
		
224
		
Line 556... Line 561...
556
			noeudMemeLieu.appendChild(noeudMemeStation);
561
			noeudMemeLieu.appendChild(noeudMemeStation);
557
		}
562
		}
Line 558... Line 563...
558
				
563
				
559
		root.sort(comparerNoeuds()) ;
564
		root.sort(comparerNoeuds()) ;
-
 
565
	}
-
 
566
 
-
 
567
	@Override
-
 
568
	public void viderFiltre() {
-
 
569
		arbreEntitesGeographiques.getSelectionModel().clearSelections();
-
 
570
		entitesGeographiquesEncours ="";
-
 
571
	}
-
 
572
 
-
 
573
	public void viderFiltre(String nom) {
-
 
574
		
-
 
575
		final int profondeur = calculerProfondeurPourNomFiltre(nom);
-
 
576
		
-
 
577
		// on vide tous les noeuds
-
 
578
		arbreEntitesGeographiques.getRootNode().cascade(new NodeTraversalCallback() {
-
 
579
 
-
 
580
			public boolean execute(Node node) {
-
 
581
				
-
 
582
				boolean continuer = true;
-
 
583
				
-
 
584
				TreeNode noeudArbreEncours = (TreeNode)node;
-
 
585
				
-
 
586
				if(arbreEntitesGeographiques.getSelectionModel().isSelected(noeudArbreEncours)) {
-
 
587
					
-
 
588
					int profondeurDepart = noeudArbreEncours.getDepth();
-
 
589
					
-
 
590
					for(int profondeurNoeudArbreEncours = profondeurDepart; profondeurNoeudArbreEncours >= profondeur; profondeurNoeudArbreEncours--) {
-
 
591
						noeudArbreEncours = (TreeNode)noeudArbreEncours.getParentNode();
-
 
592
					}
-
 
593
					
-
 
594
					arbreEntitesGeographiques.getSelectionModel().select(noeudArbreEncours); 
-
 
595
					mettreAJourValeurEnCours(noeudArbreEncours);
-
 
596
					
-
 
597
					continuer = false;
-
 
598
				}
-
 
599
				
-
 
600
				return continuer;
-
 
601
			}
-
 
602
 
-
 
603
		});
-
 
604
	}
-
 
605
	
-
 
606
	private int calculerProfondeurPourNomFiltre(String nom) {
-
 
607
		
-
 
608
		int profondeur = 0;
-
 
609
		
-
 
610
		if(nom.equals("id_location")) {
-
 
611
			profondeur = 1;
-
 
612
		}
-
 
613
		
-
 
614
		if(nom.equals("location")) {
-
 
615
			profondeur = 2;
-
 
616
		}
-
 
617
		
-
 
618
		if(nom.equals("lieudit")) {
-
 
619
			profondeur = 3;
-
 
620
		}
-
 
621
		
-
 
622
		if(nom.equals("station")) {
-
 
623
			profondeur = 4;
-
 
624
		}
-
 
625
		
-
 
626
		return profondeur;
Line 560... Line 627...
560
	}
627
	}