Hola a todos, he creado un tree para mostrar unas tags, y ahora lo que pretendo es que desde el mismo tree pueda editar cada celda, el problema que tengo es que solo me permite modificar la primera columna, las demas columnas no me deja seleccionarlas, os dejo parte del codigo a ver si alguien me sabe solucionar el problema, gracias
Tree _tree;
_tree = new Tree(group, SWT.BORDER | SWT.FULL_SELECTION);
_tree.setLinesVisible(true);
_tree.setHeaderVisible(true);
_tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));
final TreeEditor editor = new TreeEditor(_tree);
editor.horizontalAlignment = SWT.LEFT;
editor.grabHorizontal = true;
_tree.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent event) {
if (event.keyCode == SWT.CR) {
editTree();
final TreeItem item = _tree.getSelection()[0];
final Text text = new Text(_tree, SWT.NONE);
text.setText(item.getText());
text.selectAll();
text.setFocus();
text.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent event) {
item.setText(text.getText());
text.dispose();
}
});
text.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent event) {
switch (event.keyCode) {
case SWT.CR:
item.setText(text.getText());
case SWT.ESC:
text.dispose();
break;
}
}
});
editor.setEditor(text, item);
}
}
});