是否有任何 css 用于删除 Eclipse RCP4 中带下划线的视图选项卡文本



在我的零件类中,我删除了实现@Focus注释方法

@Focus
public void setFocus() {
    viewer.getControl().setFocus();
}

之后,选项卡文本下划线不可见。但是当打开的带有单部分选项卡文本下划线的窗口可见时,如果我单击窗口下划线的任何地方就消失了。 如何删除制表符文本下划线?

如果用于零件的CTabFolder具有焦点,则绘制下划线。因此,应始终为部件定义@Focus方法,并将焦点设置为部件中的某个其他控件。

选项卡的实际绘制由选项卡渲染器完成,您可以使用swt-tab-renderer在 CSS 中设置该渲染器:

CTabFolder
{
  swt-tab-renderer: url('bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering');
}

但是,选项卡呈现器相当复杂且难以编写。

下划线的标准呈现器中的实际代码为:

if (parent.isFocusControl()) {
    Display display = parent.getDisplay();
    if (parent.simple || parent.single) {
        gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
        gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
        gc.drawFocus(xDraw-1, textY-1, extent.x+2, extent.y+2);
    } else {
        gc.setForeground(display.getSystemColor(BUTTON_BORDER));
        gc.drawLine(xDraw, textY+extent.y+1, xDraw+extent.x+1, textY+extent.y+1);
    }
}

此代码中的parentCTabFolder(来自org.eclipse.swt.custom.CTabFolderRenderer(

相关内容

  • 没有找到相关文章