Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2042 Rev 2062
Line 229... Line 229...
229
					// on considère l'ajout achevé
229
					// on considère l'ajout achevé
230
					ajoutNoeud = false;
230
					ajoutNoeud = false;
231
					// et on notifie le médiateur de l'ajout et on lui passe
231
					// et on notifie le médiateur de l'ajout et on lui passe
232
					// l'arbre
232
					// l'arbre
233
					getIMediateur().ajouterMotCleDansArbre(nd,
233
					getIMediateur().ajouterMotCleDansArbre(nd,
234
							getArbreMotsCles().getTree(), r);
234
							getArbreMotsCles().getTree(), ArbreMotsClesVue.this);
235
				}
235
				}
236
				// si c'est noeud déjà existant
236
				// si c'est noeud déjà existant
237
				else {
237
				else {
238
					// et on considère la modification achevée
238
					// et on considère la modification achevée
239
					modifNoeud = false;
239
					modifNoeud = false;
240
					// on notifie le médiateur de la modification et on lui
240
					// on notifie le médiateur de la modification et on lui
241
					// passe l'arbre
241
					// passe l'arbre
242
					getIMediateur().modifierMotCleDansArbre(nd,
242
					getIMediateur().modifierMotCleDansArbre(nd,
243
							getArbreMotsCles().getTree());
243
							getArbreMotsCles().getTree(), ArbreMotsClesVue.this);
244
				}
244
				}
Line 245... Line 245...
245
 
245
 
Line 246... Line 246...
246
			}
246
			}
247
 
247
 
248
			// gestion du déplacement d'un noeud
248
			// gestion du déplacement d'un noeud
249
			@Override
249
			@Override
250
			public void onMoveNode(Tree tree, TreeNode node,
250
			public void onMoveNode(Tree tree, TreeNode node,
251
					TreeNode oldParent, TreeNode newParent, int index) {
251
					TreeNode oldParent, TreeNode newParent, int index) {
252
				// on notifie le médiateur et on lui passe l'arbre
252
				// on notifie le médiateur et on lui passe l'arbre
253
				getIMediateur().deplacerMotCleDansArbre(node,
253
				getIMediateur().deplacerMotCleDansArbre(node,
Line 254... Line 254...
254
						getArbreMotsCles().getTree());
254
						getArbreMotsCles().getTree(), ArbreMotsClesVue.this);
Line 255... Line 255...
255
			}
255
			}
Line 324... Line 324...
324
			n.getParentNode().removeChild(n);
324
			n.getParentNode().removeChild(n);
325
			n.destroy();
325
			n.destroy();
326
			// puis on en notifie le médiateur en lui passant le noeud supprimé
326
			// puis on en notifie le médiateur en lui passant le noeud supprimé
327
			// et l'arbre
327
			// et l'arbre
328
			getIMediateur()
328
			getIMediateur()
329
					.supprimerMotCleDansArbre(n, arbreMotsCles.getTree());
329
					.supprimerMotCleDansArbre(n, arbreMotsCles.getTree(), ArbreMotsClesVue.this);
330
		} else {
330
		} else {
331
			// si l'utilisateur tente de supprimer la racine, on l'avertit de
331
			// si l'utilisateur tente de supprimer la racine, on l'avertit de
332
			// son erreur
332
			// son erreur
333
			Window.alert("Impossible de supprimer la racine de l'arbre");
333
			Window.alert("Impossible de supprimer la racine de l'arbre");
334
		}
334
		}
Line 339... Line 339...
339
	 * 
339
	 * 
340
	 * @param parent
340
	 * @param parent
341
	 *            le futur parent du noeud à ajouter
341
	 *            le futur parent du noeud à ajouter
342
	 */
342
	 */
343
	public void ajouterNoeud(TreeNode parent) {
343
	public void ajouterNoeud(TreeNode parent) {
344
 
-
 
345
		// on met l'ajout du noeud à vrai
-
 
346
		ajoutNoeud = true;
344
		ajoutNoeud = true;		
347
		// on crée un nouveau noeud vide
-
 
348
		TreeNode nd = new TreeNode("");
-
 
349
		nd.setCls("x-view-treenode-keyword");
-
 
350
		nd.setChecked(true);
-
 
351
		// on associe un objet au noeud qui contient des infos
-
 
352
		String[] usObject = new String[2];
-
 
353
		// l'objet contient le nom du noeud
-
 
354
		usObject[0] = "";
-
 
355
		cheminTemporaireAjout = MotsClesUtilitaire.construireChemin(nd);
345
		TreeNode nd = MotsClesUtilitaire.ajouterNoeud(parent, false);
356
		usObject[1] = cheminTemporaireAjout;
-
 
357
		nd.setId(cheminTemporaireAjout);
-
 
358
		nd.setUserObject(usObject);
-
 
359
		// l'identifiant d'un noeud c'est son hashcode
-
 
360
		// l'objet associé au noeud contient aussi son identifiant
-
 
361
 
-
 
362
		// on le concatène au parent et on étend ses enfants
346
		// on le concatène au parent et on étend ses enfants
363
		parent.appendChild(nd);
347
		parent.appendChild(nd);
364
		parent.expand();
348
		parent.expand();
365
		// enfin on place le curseur et on fait apparaitre le champ d'édition
-
 
366
		// pour que l'utilisateur nomme son mot clé
349
		cheminTemporaireAjout = nd.getId();
367
		te.startEdit(nd);
350
		te.startEdit(nd);
368
 
-
 
369
	}
351
	}
Line 370... Line 352...
370
 
352
 
371
	/**
353
	/**
372
	 * Coche le noeud s'il est décoché, le décoche sinon
354
	 * Coche le noeud s'il est décoché, le décoche sinon
Line 445... Line 427...
445
			for (int i = 0; i < rootChild.length; i++) {
427
			for (int i = 0; i < rootChild.length; i++) {
Line 446... Line 428...
446
				
428
				
447
				rootChild[i].remove();
429
				rootChild[i].remove();
Line 448... Line 430...
448
			}
430
			}
Line 449... Line 431...
449
			
431
			
450
			MotsClesUtilitaire.copierFilsNoeud(nouvelArbre.getRootNode(),getArbreMotsCles().getRootNode());
432
			MotsClesUtilitaire.copierFilsNoeud(nouvelArbre.getRootNode(),getArbreMotsCles().getRootNode(), true);
451
 
433
 
452
			// si l'arbre n'était pas encore considéré comme instancié
434
			// si l'arbre n'était pas encore considéré comme instancié