Subversion Repositories eFlore/Applications.cel

Rev

Rev 77 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 77 Rev 135
Line 8... Line 8...
8
import com.google.gwt.user.client.ui.Label;
8
import com.google.gwt.user.client.ui.Label;
9
import com.gwtext.client.data.Node;
9
import com.gwtext.client.data.Node;
10
import com.gwtext.client.data.NodeTraversalCallback;
10
import com.gwtext.client.data.NodeTraversalCallback;
11
import com.gwtext.client.data.Tree;
11
import com.gwtext.client.data.Tree;
12
import com.gwtext.client.widgets.Component;
12
import com.gwtext.client.widgets.Component;
-
 
13
import com.gwtext.client.widgets.Container;
13
import com.gwtext.client.widgets.Panel;
14
import com.gwtext.client.widgets.Panel;
-
 
15
import com.gwtext.client.widgets.event.ContainerListener;
-
 
16
import com.gwtext.client.widgets.event.ContainerListenerAdapter;
14
import com.gwtext.client.widgets.event.PanelListenerAdapter;
17
import com.gwtext.client.widgets.event.PanelListenerAdapter;
15
import com.gwtext.client.widgets.tree.TreeNode;
18
import com.gwtext.client.widgets.tree.TreeNode;
16
import com.gwtext.client.widgets.tree.TreePanel;
19
import com.gwtext.client.widgets.tree.TreePanel;
Line 17... Line 20...
17
 
20
 
Line 129... Line 132...
129
				((Panel) component).add(arbreMotsCles);
132
				((Panel) component).add(arbreMotsCles);
Line 130... Line 133...
130
 
133
 
131
				// on ajoute les listeners d'évenements
134
				// on ajoute les listeners d'évenements
Line 132... Line -...
132
				ajouterListeners();
-
 
133
 
-
 
134
				// et on demande l'arbre des mots clés
-
 
135
				getIMediateur()
-
 
136
						.obtenirArbreMotsCles(
-
 
137
								getIMediateur().getPanneauFiltres()
-
 
138
										.getMotsClesFiltre());
135
				ajouterListeners();
139
 
136
 
Line 140... Line 137...
140
				// enfin on considère le composant comme instancié
137
				// enfin on considère le composant comme instancié
Line 147... Line 144...
147
 
144
 
148
	/**
145
	/**
149
	 * ajoute les listeners pour les boutons et le cochage des mots clés
146
	 * ajoute les listeners pour les boutons et le cochage des mots clés
150
	 */
147
	 */
151
	private void ajouterListeners() {
148
	private void ajouterListeners() {
152
 
149
		
Line 153... Line 150...
153
	}
150
	}
154
 
151
 
155
	/**
152
	/**
Line 160... Line 157...
160
 
157
 
161
		// si on a reçu un arbre
158
		// si on a reçu un arbre
162
		if (nouvelleDonnees instanceof Tree) {
159
		if (nouvelleDonnees instanceof Tree) {
Line 163... Line 160...
163
			Tree nouvelArbre = (Tree) nouvelleDonnees;
160
			Tree nouvelArbre = (Tree) nouvelleDonnees;
164
 
161
 
165
			// on vide tous les noeuds
-
 
166
			arbreMotsCles.getRootNode().eachChild(new NodeTraversalCallback() {
162
			// on vide tous les noeuds de l'ancien arbre
167
 
163
			Node[] rootChild = arbreMotsCles.getRootNode().getChildNodes();
168
				public boolean execute(Node node) {
164
			for (int i = 0; i < rootChild.length; i++) {
169
 
-
 
170
					node.remove();
165
				
171
					return true;
-
 
172
				}
-
 
Line 173... Line 166...
173
 
166
				rootChild[i].remove();
174
			});
167
			}
175
 
168
 
Line 176... Line 169...
176
			// et on recopie le nouvel arbre
169
			// et on recopie le nouvel arbre
177
			copierFilsNoeud(nouvelArbre.getRootNode(), arbreMotsCles
170
			copierFilsNoeud(nouvelArbre.getRootNode(), arbreMotsCles
178
					.getRootNode());
171
					.getRootNode());
179
 
172
 
180
			// si l'arbre n'était pas encore considéré comme instancié
173
			// si l'arbre n'était pas encore considéré comme instancié
-
 
174
			if (!estInstancie) {
-
 
175
				// on signale que oui
Line 181... Line 176...
181
			if (!estInstancie) {
176
				estInstancie = true;
182
				// on signale que oui
177
			}
183
				estInstancie = true;
178
			
184
			}
179
			arbreMotsCles.setRootNode(arbreMotsCles.getRootNode());
Line 200... Line 195...
200
				// alors on supprime d'abord le noeud concerné
195
				// alors on supprime d'abord le noeud concerné
201
				arbreMotsCles.getTree().getNodeById(nd.getId() + "_filtre")
196
				arbreMotsCles.getTree().getNodeById(nd.getId() + "_filtre")
202
						.remove();
197
						.remove();
203
			}
198
			}
Line 204... Line 199...
204
 
199
 
205
			// on cherche le père du nouveau noeud
200
			// on chercher le père du nouveau noeud
-
 
201
			Node ndPereOriginal = nd.getParentNode();
-
 
202
 
206
			Node ndPereOriginal = nd.getParentNode();
203
			
Line 207... Line 204...
207
			String idPereFiltre = ndPereOriginal.getId() + "_filtre";
204
			String idPereFiltre = ndPereOriginal.getId() + "_filtre";
208
 
205
 
209
			String[] usObj = (String[]) nd.getUserObject();
206
			String[] usObj = (String[]) nd.getUserObject();
Line 281... Line 278...
281
	 *            le père qui va recevoir les copies
278
	 *            le père qui va recevoir les copies
282
	 */
279
	 */
283
	private void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie) {
280
	private void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie) {
284
		if (ndPereCopie != null && ndPereOriginal != null) {
281
		if (ndPereCopie != null && ndPereOriginal != null) {
285
			Node[] ndNodeFils = ndPereOriginal.getChildNodes();
282
			Node[] ndNodeFils = ndPereOriginal.getChildNodes();
286
 
283
			
287
			for (int i = 0; i < ndNodeFils.length; i++) {
284
			for (int i = 0; i < ndNodeFils.length; i++) {
Line 288... Line 285...
288
 
285
 
289
				String[] usObj = (String[]) ndNodeFils[i].getUserObject();
286
				String[] usObj = (String[]) ndNodeFils[i].getUserObject();
290
				TreeNode child = new TreeNode(usObj[0]);
287
				TreeNode child = new TreeNode(usObj[0]);