27,6 → 27,12 |
import com.gwtext.client.widgets.tree.TreeNode; |
import com.gwtext.client.widgets.tree.TreePanel; |
|
/** |
* fenêtre de recherche affichant l'arbre des mots clés en lecture et un bouton |
* cliquable |
* @author aurelien |
* |
*/ |
public class ArbreMotsClesFiltreVue extends Window implements Rafraichissable, Filtrable { |
|
/** |
58,11 → 64,18 |
*/ |
private boolean filtreModifie = false ; |
|
/** |
* Constructeur sans argument (privé car ne doit pas être utilisé) |
*/ |
private ArbreMotsClesFiltreVue() |
{ |
super() ; |
} |
|
/** |
* Constructeur avec paramètres |
* @param im le médiateur à associer |
*/ |
public ArbreMotsClesFiltreVue(ImageMediateur im) |
{ |
|
99,7 → 112,7 |
|
this.setBorder(false) ; |
this.setCollapsible(true) ; |
this.setTitleCollapse(true) ; |
this.setCloseAction(HIDE) ; |
|
// on ajoute les listeners |
ajouterListeners() ; |
106,7 → 119,10 |
estInstancie = true ; |
} |
|
public void ajouterListeners() |
/** |
* Ajoute les listeners |
*/ |
private void ajouterListeners() |
{ |
// gestion de la validation |
rechercher.addListener(new ButtonListenerAdapter() { |
146,6 → 162,7 |
|
}) ; |
|
// gestion de la fermeture du panneau |
this.addListener(new WindowListenerAdapter() { |
|
public void onClose(Panel panel) { |
162,6 → 179,9 |
}) ; |
} |
|
/** |
* Méthode héritée de l'interface rafraichissable |
*/ |
public void rafraichir(Object nouvelleDonnees, |
boolean repandreRaffraichissement) { |
|
170,6 → 190,18 |
{ |
Tree nouvelArbre = (Tree)nouvelleDonnees ; |
|
arbreMotsCles.getRootNode().eachChild(new NodeTraversalCallback() { |
|
|
public boolean execute(Node node) { |
|
node.remove() ; |
return true ; |
} |
|
|
}) ; |
|
copierFilsNoeud(nouvelArbre.getRootNode(), arbreMotsCles.getRootNode()) ; |
|
getArbreMotsCles().expandAll() ; |
189,21 → 221,37 |
|
} |
|
/** |
* Accesseur pour le médiateur |
* @return le médiateur associé |
*/ |
public ImageMediateur getIMediateur() |
{ |
return iMediateur ; |
} |
|
/** |
* Accesseur pour le panneau contenant l'arbre |
* @return le panneau de l'arbre des mots clés |
*/ |
public TreePanel getArbreMotsCles() |
{ |
return arbreMotsCles ; |
} |
|
|
/** |
* Méthode héritée de Filtrable |
* renvoie le nom du filtre |
*/ |
public String renvoyerNomFiltre() { |
|
return "mots clés" ; |
} |
|
|
/** |
* Renvoie un tableau contenant le nom du champ à filtrer et la valeur |
* @return un tableau contenant le nom du champ à filtrer et sa valeur |
*/ |
public String[] renvoyerValeursAFiltrer() { |
|
String[] valeursFiltrees = {"ci_meta_mots_cles",motsClesEncours} ; |
211,7 → 259,13 |
return valeursFiltrees ; |
} |
|
public void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie) |
/** |
* Fonction récursive qui prend deux noeuds d'arbre en paramètre et crée un copie du sous arbre du premier |
* noeud, qu'elle concatène au deuxième |
* @param ndPereOriginal le père des noeuds de l'arbre original |
* @param ndPereCopie le père qui va recevoir les copies |
*/ |
private void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie) |
{ |
Node[] ndNodeFils = ndPereOriginal.getChildNodes() ; |
|
232,7 → 286,10 |
} |
} |
|
|
/** |
* Méthode héritée de Filtrable |
* Renvoie l'état du filtre modifié ou nom) |
*/ |
public boolean renvoyerEtatFiltre() { |
|
return filtreModifie ; |