【问题标题】:Add context sensitive help to UI components such as a GEF/Draw2d figure为 GEF/Draw2d 图形等 UI 组件添加上下文相关帮助
【发布时间】:2013-06-13 15:15:11
【问题描述】:

由于工具提示只能提供较少的提示,我们决定在draw2d图形等UI组件中添加F1(context sensitive)帮助。但是面临一个问题:我们找不到合适的位置和参数来调用方法IWorkbenchHelpSystem.setHelp(Control control, String contextId)

现在我们做一个这样的解决方法:

//in UserDefinedEditPart
@Override
protected IFigure createFigure() {
    //set help... (FIXME)   
    PlatformUI.getWorkbench().getHelpSystem().setHelp(Display.getCurrent().getActiveShell(), PublicConstants.CONTEXT_ID);
    return new UserDefinedFigure();
}

如您所见,setHelp() 方法的第一个参数应该是 SWT 或 JFace Control,但它被设置为当前工作台。我认为 draw2d 中的图形是轻量级的,与 SWT 无关或 JFace。

感谢您的解决方案建议。

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-gef draw2d


    【解决方案1】:

    SWT 和 draw2d 的小部件彼此完全不同。 SWT 只是为 draw2d 提供了一个平台,可以在其中“绘制”一些东西。因此,对于 SWT,没有办法区分 draw2d 标签或 draw2d 连接。它所理解的只是“图形”(可能有任意数量的图形作为它的子对象)将在某个指定区域绘制(绘制,仅此而已,没有语义)。

    你可以看看 org.eclipse.jface.dialogs.PopupDialog 类。也许您可以通过扩展此类来制作自定义帮助对话框(扩展起来并不难)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多