我使用 CNF 在我的 RCP 应用程序中创建类似于 Project Explorer 的视图。当用户右键单击视图中的项目时,我已完成显示新菜单及其子菜单。
但是当用户单击子菜单时(对于这种情况,将创建一个方法库),我需要知道用户右键单击了哪个项目对象。
我的问题是我该怎么做?请帮我。
谢谢大家,鹦鹉螺
我使用 CNF 在我的 RCP 应用程序中创建类似于 Project Explorer 的视图。当用户右键单击视图中的项目时,我已完成显示新菜单及其子菜单。
但是当用户单击子菜单时(对于这种情况,将创建一个方法库),我需要知道用户右键单击了哪个项目对象。
我的问题是我该怎么做?请帮我。
谢谢大家,鹦鹉螺
我认为 wiki 页面E4/EAS/Selection应该提供一种查询正确选择的方法。
在 Eclipse 3.x 中,org.eclipse.ui.ISelectionService 允许工作台部件查询活动选择,此外还可以附加侦听器以监视选择更改。
(见这个例子)
在 e4 世界中,选择通过ESelectionService
.
感谢 VonC,
现在我通过这样做得到了用户右键单击的资源对象:
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
CommonNavigator view = (CommonNavigator)page.findView("spe.ui.navigator.view");
selection = (IStructuredSelection) view.getSite().getSelectionProvider().getSelection();
但我真的对这个解决方案并不完全满意。请注意,我在操作后打开了一个 INewWizard。在 INewWizard 我们有public void init(IWorkbench workbench, IStructuredSelection selection)
. 我真的很想使用这种方法,但我不知道如何使它起作用。
请有人帮助我。谢谢