在 Eclipse E4 中突出显示活动的 MPart 选项卡
Highlight active MPart tab in Eclipse E4
我正在尝试在激活并选择 MPart 时更改 MPart 选项卡背景。当从另一个 MPartStack 中选择另一个 MPart 时,第一个 MPart 的样式需要更改回其默认样式。
选中 MPart 后应该如下所示:
但是当 MPart 不在焦点上时应该看起来像:
我尝试了不同的 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; }
我尝试了另一个 Whosebug post 的所有方法,但它不起作用。
有人可以帮我弄这个吗?我的客户要求此功能使 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
等值。
我正在尝试在激活并选择 MPart 时更改 MPart 选项卡背景。当从另一个 MPartStack 中选择另一个 MPart 时,第一个 MPart 的样式需要更改回其默认样式。
选中 MPart 后应该如下所示:
但是当 MPart 不在焦点上时应该看起来像:
我尝试了不同的 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; }
我尝试了另一个 Whosebug post 的所有方法,但它不起作用。 有人可以帮我弄这个吗?我的客户要求此功能使 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
等值。