java - 在 Eclipse E4 中突出显示 Activity MPart 选项卡

标签 java eclipse-rcp e4

当激活并选择 MPart 时,我尝试更改 MPart 选项卡背景。当选择另一个 MPartStack 中的另一个 MPart 时,需要将第一个 MPart 的样式更改回默认样式。

选择 MPart 后应如下所示: enter image description here

但是当 MPart 未处于焦点时,应该如下所示:enter image description here

我尝试了不同的 CSS 样式,但没有一个有效。现在所有 MPart 始终突出显示。我的 CSS 如下所示:

.MPartStack.active {
    swt-selected-tabs-background: #E5EDFC #99BAF3 100%;
    swt-unselected-tabs-background: #F0F0F0;
}

.MPartStack
{
    swt-selected-tabs-background: #E5EDFC #99BAF3 100%;
    swt-selected-tabs-background: #F0F0F0;
}

.MPartStack.active.noFocus {
    swt-selected-tabs-background: #F0F0F0;
    swt-unselected-tabs-background: #F0F0F0;
}

.MPartStack > CTabItem {
    color : black;
    swt-selected-tabs-background: #E5EDFC #99BAF3 100%;
    swt-selected-tabs-background: #F0F0F0;
}

CTabItem:selected { font-weight: bold; }

我尝试了另一个 StackOverFlow 的所有内容发布但它不起作用。 有人可以帮我弄这个吗?我的客户要求此功能使 UI 更加用户友好。

最佳答案

必须设置swt-tab-renderer以使swt-*属性起作用:

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

这些是标准 Eclipse 渲染使用的基本设置:

.MPartStack {
    swt-tab-renderer: url('bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering');
    swt-selected-tab-fill: INACTIVE_TAB_BG_START INACTIVE_TAB_BG_END 100% 100%;
    swt-unselected-tabs-color: INACTIVE_UNSELECTED_TABS_COLOR_START INACTIVE_UNSELECTED_TABS_COLOR_END 100% 100%;
    swt-outer-keyline-color: INACTIVE_TAB_OUTER_KEYLINE_COLOR;
    swt-inner-keyline-color: INACTIVE_TAB_INNER_KEYLINE_COLOR;
    swt-tab-outline: INACTIVE_TAB_OUTLINE_COLOR;
    padding: 0px 2px 2px;
    swt-shadow-visible: false;
    swt-mru-visible: false;
    color: INACTIVE_TAB_TEXT_COLOR;
}

.MPartStack.active {
    swt-selected-tab-fill: ACTIVE_TAB_BG_START ACTIVE_TAB_BG_END 100% 100%;
    swt-unselected-tabs-color: ACTIVE_UNSELECTED_TABS_COLOR_START ACTIVE_UNSELECTED_TABS_COLOR_END 100% 100%;
    swt-outer-keyline-color: ACTIVE_TAB_OUTER_KEYLINE_COLOR;
    swt-inner-keyline-color: ACTIVE_TAB_INNER_KEYLINE_COLOR;
    swt-tab-outline: ACTIVE_TAB_OUTLINE_COLOR;
    swt-shadow-visible: false;
}

INACTIVE_TAB_BG_START 等值替换为您想要的颜色。

关于java - 在 Eclipse E4 中突出显示 Activity MPart 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41584754/

相关文章:

java - ArrayAdapter在构建抽屉导航中的作用是什么

java - 不兼容的类型,发现 List<capture<?仅在 Java 8 中扩展模型>>

java - void 方法何时返回控制权?

java - 即使指定为依赖项也无法找到 Eclipse 库

java - SWT DateTime 不考虑语言环境

eclipse - 如何在 WizardDialog 上实现带有问号图标的帮助按钮

java - 组件类中的 Autowiring bean 为 null

eclipse - 将 zest 库添加到 Eclipse 4 应用程序

java - RCP - 应用程序没有 Activity 窗口

java - Eclipse e4 RCP 中的首选项页面