-1
我想根据我的上下文菜单选项编辑树查看器元素。基本上我需要更新显示的元素值。如果我双击树查看器元素,我能够更新值,但通过上下文菜单,我也应该能够做到。如何根据上下文菜单选项编辑树查看器元素
添加上下文菜单的示例代码:
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
}
});
}
什么你不明白这里?你在树中有选定的元素,你想用它做什么?你在双击监听器中做什么? –
Hi @ greg-449:我需要编辑选择元素值。在双击操作过程中,我添加了ColumnViewerEditorActivationStrategy来收听Doubleclick事件 –