Subversion Repositories eFlore/Archives.cel-v2

Compare Revisions

Ignore whitespace Rev 29 → Rev 30

/trunk/src/org/tela_botanica/client/vues/ArbreMotsClesVue.java
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 ;
}
}
}