禁用 ToolItem 上的工具提示 - RAP 与 RCP
ToolTip on disabled ToolItem - RAP vs RCP
有没有办法让 ToolItem in a ToolBar 被禁用但仍然有它的工具提示?
我知道默认情况下这是不可能的,可以使用解决方法(包装在另一个小部件中),但是因为 ToolItem
需要 ToolBar
parent 我看不到在这种情况下的解决方案。在这种情况下,有人看到您如何 "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
我更新了标题,使其更能描述这篇文章的内容。
是的,您可以禁用 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
被禁用,同时显示工具提示。
有没有办法让 ToolItem in a ToolBar 被禁用但仍然有它的工具提示?
我知道默认情况下这是不可能的,可以使用解决方法(包装在另一个小部件中),但是因为 ToolItem
需要 ToolBar
parent 我看不到在这种情况下的解决方案。在这种情况下,有人看到您如何 "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
我更新了标题,使其更能描述这篇文章的内容。
是的,您可以禁用 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
被禁用,同时显示工具提示。