Allows to rename only nodes without children
diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/AbstractRenameKeyAction.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/AbstractRenameKeyAction.java
index f57faa1..7db39eb 100644
--- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/AbstractRenameKeyAction.java
+++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/AbstractRenameKeyAction.java
@@ -28,7 +28,6 @@
super(editor, treeViewer);
setText(MessagesEditorPlugin.getString("key.rename") + " ..."); //$NON-NLS-1$
setImageDescriptor(UIUtils.getImageDescriptor(UIUtils.IMAGE_RENAME));
- setToolTipText("TODO put something here"); // TODO put tooltip
}
/**
diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/RefactorKeyAction.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/RefactorKeyAction.java
index 6d40292..fffa3b1 100644
--- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/RefactorKeyAction.java
+++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/actions/RefactorKeyAction.java
@@ -56,4 +56,6 @@
bundleId, key, null);
}
+
+
}
diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/internal/KeyTreeContributor.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/internal/KeyTreeContributor.java
index c45a543..93a3f26 100644
--- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/internal/KeyTreeContributor.java
+++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/internal/KeyTreeContributor.java
@@ -29,9 +29,12 @@
import org.eclipse.babel.editor.tree.actions.DeleteKeyAction;
import org.eclipse.babel.editor.tree.actions.RefactorKeyAction;
import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.StructuredSelection;
@@ -49,6 +52,8 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Tree;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
/**
* @author Pascal Essiembre
@@ -361,6 +366,17 @@
menuManager.add(refactorAction);
menuManager.update(true);
+ menuManager.addMenuListener(new IMenuListener() {
+
+ @Override
+ public void menuAboutToShow(IMenuManager manager) {
+ // TODO Auto-generated method stub
+ IStructuredSelection selection = (IStructuredSelection) treeViewer
+ .getSelection();
+ KeyTreeNode node = (KeyTreeNode) selection.getFirstElement();
+ refactorAction.setEnabled(node.getChildren().length == 0);
+ }
+ });
tree.setMenu(menu);
// Bind actions to tree