【发布时间】:2018-03-07 12:01:45
【问题描述】:
我想根据我的上下文菜单选项编辑树查看器元素。基本上我需要更新显示的元素值。如果我双击树查看器元素,我能够更新值,但通过上下文菜单我也应该能够做到。
添加上下文菜单的示例代码:
protected def void createContextMenu(Viewer viewer) {
val MenuManager contextMenu = new MenuManager("Menu"); // $NON-NLS-1$
contextMenu.setRemoveAllWhenShown(true);
contextMenu.addMenuListener(new IMenuListener() {
public override void menuAboutToShow(IMenuManager mgr) {
fillContextMenu(mgr);
}
});
val Menu menu = contextMenu.createContextMenu(viewer.getControl());
viewer.getControl().setMenu(menu);
}
/**
* Fill dynamic context menu
*
* @param contextMenu
*/
protected def void fillContextMenu(IMenuManager contextMenu) {
contextMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
contextMenu.add(new Action("Rename") {
public override void run() {
val selectedElement = (treeViewer.selection as IStructuredSelection).firstElement
}
});
}
【问题讨论】:
-
这里有什么不明白的地方?您在树中有选定的元素,您想用它做什么?你在双击监听器里做什么?
-
嗨@greg-449:我需要编辑选择元素值。在双击操作过程中,我添加了ColumnViewerEditorActivationStrategy来监听Doubleclick事件
标签: eclipse eclipse-plugin eclipse-rcp jface