带有装饰器的 RCP 图标在 macOS 上有黑色背景
RCP icons with decorator have black background on macOS
在我的 RCP 应用程序中,当装饰器被添加到 TreeViewer 中的图标时,图标的背景在 macOS 上是黑色的。
显示的装饰器很简单:
public class GroupDecorator extends LabelProvider implements ILightweightLabelDecorator {
public static final String IMAGE_PATH = "overlays/folder_decorator.png";
@Override
public void decorate(Object o, IDecoration decoration) {
if(o instanceof Group<?>
&& !(o instanceof IISO27Scope)
&& !(o instanceof Asset)
&& !(o instanceof ImportBpGroup)) {
decoration.addOverlay(ImageCache.getInstance().getImageDescriptor(IMAGE_PATH));
}
}
}
完整的源代码在 GitHub: GroupDecorator.java
您可以在此处找到装饰器图像文件:overlays/folder_decorator.png
Eclipse RCP 版本为 2019-06 / 4.12。 MacOS 版本是 Catalina 10.15.2。显示的问题 不会 出现在 Linux 和 Windows 上。它也 不会 在 macOS Catalina 上的 Eclipse RCP 4.7 中出现。
如何让背景变白?
这看起来像 SWT 错误 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=310387 并且已在 Eclipse 2020-03 中修复。
在我的 RCP 应用程序中,当装饰器被添加到 TreeViewer 中的图标时,图标的背景在 macOS 上是黑色的。
显示的装饰器很简单:
public class GroupDecorator extends LabelProvider implements ILightweightLabelDecorator {
public static final String IMAGE_PATH = "overlays/folder_decorator.png";
@Override
public void decorate(Object o, IDecoration decoration) {
if(o instanceof Group<?>
&& !(o instanceof IISO27Scope)
&& !(o instanceof Asset)
&& !(o instanceof ImportBpGroup)) {
decoration.addOverlay(ImageCache.getInstance().getImageDescriptor(IMAGE_PATH));
}
}
}
完整的源代码在 GitHub: GroupDecorator.java
您可以在此处找到装饰器图像文件:overlays/folder_decorator.png
Eclipse RCP 版本为 2019-06 / 4.12。 MacOS 版本是 Catalina 10.15.2。显示的问题 不会 出现在 Linux 和 Windows 上。它也 不会 在 macOS Catalina 上的 Eclipse RCP 4.7 中出现。
如何让背景变白?
这看起来像 SWT 错误 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=310387 并且已在 Eclipse 2020-03 中修复。