Как оформить заголовок раздела SWT с помощью Twist ie? - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь стилизовать Section заголовок приложения Eclipse RCP с помощью CSS.

toolkit.createSection(body, Section.TITLE_BAR);

Создание Section без Section.TWISTIE Я могу просто стилизовать Section color:

Section { color: #00ff00; }

Как только я добавлю Section.TWISTIE, цвет больше не используется:

toolkit.createSection(body, Section.TWISTIE | Section.TITLE_BAR);

Итак, я начал отладку и обнаружил это в FormColors:

private void createTwistieColors() {
    RGB rgb = getColor(IFormColors.TITLE).getRGB();
    RGB white = getSystemColor(SWT.COLOR_WHITE);
    createColor(TB_TOGGLE, rgb);
    rgb = blend(rgb, white, 60);
    createColor(TB_TOGGLE_HOVER, rgb);
}

IFormColors.TITLE создан в createTitleColor(): используется

RGB listSelection = getSystemColor(SWT.COLOR_LIST_SELECTION);

Нет CSS, как я могу изменить цвет заголовка раздела?

Пример пользовательского интерфейса:

enter image description here

1 Ответ

0 голосов
/ 15 января 2020

Я нашел обходной путь, все еще надеясь на CSS только решения:

FormColors colors = new FormColors(parent.getDisplay()) {
    @Override
    public void initializeSectionToolBarColors() {
        super.initializeSectionToolBarColors();
        // override createTwistieColors() declaration with own color
        RGB rgb = new RGB(80, 80, 80);
        RGB white = getSystemColor(SWT.COLOR_WHITE);
        createColor(IFormColors.TB_TOGGLE, rgb);
        rgb = blend(rgb, white, 60);
        createColor(IFormColors.TB_TOGGLE_HOVER, rgb);
    }
};
toolkit = new FormToolkit(colors);
...