【发布时间】:2011-03-03 19:25:14
【问题描述】:
我需要检索 Package Explorer 操作栏来设置 GlobalAction (setGlobalActionHandler)。我正在使用 Eclipse 3.6。
想法?
谢谢!
【问题讨论】:
我需要检索 Package Explorer 操作栏来设置 GlobalAction (setGlobalActionHandler)。我正在使用 Eclipse 3.6。
想法?
谢谢!
【问题讨论】:
未经测试,但this old 2006 thread 可能仍然提出正确的原则:
某些标准菜单条目可以在多个视图和编辑器之间共享。
所谓的全局或可重定向操作,包括撤消/重做、剪切/复制/粘贴、打印、查找、删除等工具。 (看课程IWorkbenchActionFactory)。
每个视图或编辑器都可以为这些操作贡献一个处理程序;当一个新部件变为活动状态时,它的处理程序将控制该操作。视图必须在createPartControl方法中注册其全局操作处理程序:
IActionBars actionBars = getViewSite().getActionBars();
actionBars.setGlobalActionHandler(
IWorkbenchActionFactory.COPY,
myCopyAction);
为了覆盖 Package Explorer 的复制/粘贴实现,您需要获取其
ViewSite。
【讨论】:
IWorkbenchPage page = myPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage(); IViewPart viewPart = page.findView(JavaUI.ID_PACKAGES);