禁用ToolItem上的工具提示 - RAP与RCP

时间:2018-06-05 14:52:20

标签: java swt eclipse-rap

有没有办法让ToolItem中的ToolBar被禁用并且还有它的工具提示?

我知道默认情况下不可能并且可以使用变通方法(包装在另一个小部件中),但因为ToolItem需要ToolBar父级,所以我无法在这种情况下看到解决方案。有没有人知道你怎么可能" hack"这种情况下的工具提示解决方法?

不知道是否相关,但这是代码:

class CustomItem extends org.eclipse.jface.action.ContributionItem {

 @Override
    public void fill(final ToolBar toolBar, final int index) {

      toolItem = new ToolItem(toolBar, SWT.PUSH);

      // . . .

    }
}

更新

需要此代码的项目是一个RAP应用程序,不知何故,我认为与RCP相比,我可能会遇到一些差异。

Subash J提供的答案对于RCP应用程序是正确的,但不适用于RAP。

在与RAP开发人员交谈后,他向我指出了这个报告的错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=435750

我更新了标题,因此它更能描述这些帖子内容。

1 个答案:

答案 0 :(得分:2)

是的,你可以在ToolBar中禁用ToolItem并仍然显示工具提示。请尝试以下代码。

class CustomItem extends org.eclipse.jface.action.ContributionItem {

 @Override
    public void fill(final ToolBar toolBar, final int index) {
      final ToolItem toolItem = new ToolItem(toolBar, SWT.PUSH);
        toolItem.setText("Sample Tool Item 1");
        toolItem.setEnabled(false);
        toolItem.setToolTipText("Sample Tool Tip 1");

        final ToolItem toolItem2 = new ToolItem(toolBar, SWT.PUSH);
        toolItem2.setText("Sample Tool Item 2");
        toolItem2.setToolTipText("Sample Tool Tip 2");

    }
}

输出类似于下面的Sample Tool Item 1被禁用,同时显示工具提示。

Output