如何从自定义弹出菜单扩展的选择事件中获取选定的对象值?
How to get selected object value from selection event from customized pop-up menu extension?
我在 eclipse 视图中添加了 "Demo" 作为我的自定义弹出菜单,并且我使用了 "viewercontribution"。我的弹出菜单仅在 "x" 对象类型上可见,那么如何在我的操作 class 中获取 "x" 对象的值?
假设视图定义了一个选择提供者,您可以使用
获得活动选择
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
ISelection selection = page.getSelection();
if (selection instanceof IStructuredSelection) {
Object selected = ((IStructuredSelection)selection).getFirstElement();
... cast selected to your object type
}
此外,每次更改选择时,都会调用 IViewActionDelegate
的 selectionChanged
方法。
我在 eclipse 视图中添加了 "Demo" 作为我的自定义弹出菜单,并且我使用了 "viewercontribution"。我的弹出菜单仅在 "x" 对象类型上可见,那么如何在我的操作 class 中获取 "x" 对象的值?
假设视图定义了一个选择提供者,您可以使用
获得活动选择IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
ISelection selection = page.getSelection();
if (selection instanceof IStructuredSelection) {
Object selected = ((IStructuredSelection)selection).getFirstElement();
... cast selected to your object type
}
此外,每次更改选择时,都会调用 IViewActionDelegate
的 selectionChanged
方法。