【问题标题】:How to get Eclipse Package Explorer Action Bars如何获取 Eclipse 包资源管理器操作栏
【发布时间】:2011-03-03 19:25:14
【问题描述】:

我需要检索 Package Explorer 操作栏来设置 GlobalAction (setGlobalActionHandler)。我正在使用 Eclipse 3.6。

想法?

谢谢!

【问题讨论】:

    标签: eclipse package-explorer


    【解决方案1】:

    未经测试,但this old 2006 thread 可能仍然提出正确的原则:

    某些标准菜单条目可以在多个视图和编辑器之间共享。
    所谓的全局或可重定向操作,包括撤消/重做、剪切/复制/粘贴、打印、查找、删除等工具。 (看课程IWorkbenchActionFactory)。
    每个视图或编辑器都可以为这些操作贡献一个处理程序;当一个新部件变为活动状态时,它的处理程序将控制该操作。视图必须在 createPartControl 方法中注册其全局操作处理程序:

       IActionBars actionBars = getViewSite().getActionBars();
       actionBars.setGlobalActionHandler(
          IWorkbenchActionFactory.COPY,
          myCopyAction);
    

    为了覆盖 Package Explorer 的复制/粘贴实现,您需要获取其 ViewSite

    【讨论】:

    • 我不知道如何获取 Package Explorer ViewState,我尝试通过我的插件获取工作台,然后是活动工作台窗口,然后是活动页面,但我总是得到空值。还有其他方法可以获取包资源管理器的 ViewSite 吗?
    • 你先得到 viewPart 了吗? IWorkbenchPage page = myPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage(); IViewPart viewPart = page.findView(JavaUI.ID_PACKAGES);
    • 是的,这正是我所做的,但“页面”始终为空。还有其他方法吗?
    猜你喜欢
    • 2011-10-11
    • 2012-12-09
    • 2011-02-23
    • 2010-12-21
    • 2023-04-09
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2011-12-27
    相关资源
    最近更新 更多