24,8 → 24,13 |
import com.gwtext.client.widgets.Panel; |
import com.gwtext.client.widgets.event.ButtonListener; |
import com.gwtext.client.widgets.event.ButtonListenerAdapter; |
import com.gwtext.client.widgets.event.ComponentListener; |
import com.gwtext.client.widgets.event.ComponentListenerAdapter; |
import com.gwtext.client.widgets.event.ContainerListener; |
import com.gwtext.client.widgets.event.ContainerListenerAdapter; |
import com.gwtext.client.widgets.event.EditorListener; |
import com.gwtext.client.widgets.event.EditorListenerAdapter; |
import com.gwtext.client.widgets.event.PanelListenerAdapter; |
import com.gwtext.client.widgets.form.Field; |
import com.gwtext.client.widgets.form.TextField; |
import com.gwtext.client.widgets.layout.RowLayout; |
47,8 → 52,11 |
private TextField tfEdit = null ; |
private Button valider = null ; |
private String motsClesEnCours = "" ; |
private String[] motsClesEnAttente ; |
private boolean ajoutNoeud = false ; |
private boolean modifNoeud = false ; |
private boolean estInstancie = false ; |
private boolean motsCleInitialises ; |
|
public ArbreMotsClesVue(ImageMediateur im) |
{ |
59,13 → 67,13 |
arbreMotsCles = new TreePanel() ; |
arbreMotsCles.setEnableDD(true) ; |
|
TreeNode root = new TreeNode("Mots clés") ; |
TreeNode root = new TreeNode("Tags") ; |
root.setId("racine") ; |
String[] usObject = {"Mots clés" , "racine" } ; |
root.setUserObject(usObject) ; |
|
arbreMotsCles.setRootNode(root) ; |
arbreMotsCles.setRootVisible(true) ; |
arbreMotsCles.setRootVisible(false) ; |
arbreMotsCles.getRootNode().setIcon("tela.png") ; |
|
tfEdit = new TextField() ; |
76,6 → 84,7 |
this.add(valider,new RowLayoutData("10%")) ; |
|
ajouterListeners() ; |
|
} |
|
private ImageMediateur GetIMediateur() { |
118,8 → 127,8 |
|
public void onContextMenu(TreeNode node, EventObject e) { |
|
e.stopEvent() ; |
GetIMediateur().montrerContextMenuArbre(node, e , getTe()) ; |
e.stopEvent() ; |
GetIMediateur().montrerContextMenuArbre(node, e , getTe()) ; |
|
} |
|
157,7 → 166,6 |
} |
|
|
|
public void onCheckChange(TreeNode node, boolean checked) { |
|
if(checked) |
174,9 → 182,9 |
}) ; |
} |
} |
|
}) ; |
|
|
valider.addListener(new ButtonListenerAdapter() { |
|
public void onClick(Button button, EventObject e) { |
207,11 → 215,26 |
|
} |
|
public void obtenirArbreMotsCles() { |
|
GetIMediateur().obtenirArbreMotsCles(this) ; |
|
} |
|
|
public void supprimerNoeud(TreeNode n) |
{ |
n.getParentNode().removeChild(n); |
n.destroy() ; |
GetIMediateur().supprimerMotCleDansArbre(n, arbreMotsCles.getTree()) ; |
|
if(!n.getId().equals(getArbreMotsCles().getRootNode().getId())) |
{ |
n.getParentNode().removeChild(n); |
n.destroy() ; |
GetIMediateur().supprimerMotCleDansArbre(n, arbreMotsCles.getTree()) ; |
} |
else |
{ |
Window.alert("Impossible de supprimer la racine de l'arbre") ; |
} |
} |
|
public void ajouterNoeud(TreeNode parent) |
245,27 → 268,30 |
|
public void cocherMotsCles(final String[] motsClesIds) |
{ |
getArbreMotsCles().getRootNode().cascade(new NodeTraversalCallback() { |
|
public boolean execute(Node node) { |
|
for(int i = 0 ; i < motsClesIds.length ; i++) |
{ |
String usObject[] = (String[])node.getUserObject() ; |
String nodeId = usObject[1] ; |
if(getArbreMotsCles() != null && getArbreMotsCles().getRootNode() != null) |
{ |
getArbreMotsCles().getRootNode().cascade(new NodeTraversalCallback() { |
|
public boolean execute(Node node) { |
|
getArbreMotsCles().getNodeById(node.getId()).getUI().toggleCheck(false) ; |
|
if(nodeId.equals(motsClesIds[i])) |
{ |
getArbreMotsCles().getNodeById(nodeId).getUI().toggleCheck(true) ; |
return true ; |
} |
for(int i = 0 ; i < motsClesIds.length ; i++) |
{ |
String usObject[] = (String[])node.getUserObject() ; |
String nodeId = usObject[1] ; |
|
getArbreMotsCles().getNodeById(node.getId()).getUI().toggleCheck(false) ; |
|
if(nodeId.equals(motsClesIds[i])) |
{ |
getArbreMotsCles().getNodeById(nodeId).getUI().toggleCheck(true) ; |
return true ; |
} |
} |
return true; |
} |
return true; |
} |
|
}) ; |
|
}) ; |
} |
} |
|
public void rafraichir(Object nouvelleDonnees, |
273,14 → 299,31 |
|
if(nouvelleDonnees instanceof Tree) |
{ |
Tree nouvelArbre = (Tree)nouvelleDonnees ; |
getArbreMotsCles().setRootNode(nouvelArbre.getRootNode()) ; |
Tree nouvelArbre = (Tree)nouvelleDonnees ; |
|
getArbreMotsCles().getRootNode().appendChild(nouvelArbre.getRootNode()) ; |
getArbreMotsCles().expandAll() ; |
estInstancie = true ; |
|
if(motsCleInitialises == false && motsClesEnAttente != null) |
{ |
cocherMotsCles(motsClesEnAttente) ; |
motsCleInitialises = true ; |
} |
} |
|
if(nouvelleDonnees instanceof String[]) |
{ |
String[] motsClesIds = (String[])nouvelleDonnees ; |
cocherMotsCles(motsClesIds) ; |
if(estInstancie && nouvelleDonnees != null) |
{ |
String[] motsClesIds = (String[])nouvelleDonnees ; |
cocherMotsCles(motsClesIds) ; |
|
} |
else |
{ |
motsClesEnAttente = (String[])nouvelleDonnees ; |
} |
} |
|
} |