From 9ca6051ffc36d4e10cc62f0bf20c0f6b800f31bb Mon Sep 17 00:00:00 2001 From: Mickael Istria Date: Fri, 10 Jun 2022 00:25:31 +0200 Subject: [PATCH] Disable gradients in Form by default Default color for Forms are changed so that gradients are removed, system colors are used. --- .../src/org/eclipse/ui/forms/FormColors.java | 20 +++++++++---------- .../eclipse/ui/forms/widgets/FormToolkit.java | 1 + 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java index 9be6ef0fbb5..bef2e6e2242 100644 --- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java +++ b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/FormColors.java @@ -535,7 +535,7 @@ else if (testTwoPrimaryColors(listSelection, 120, 256) // LIST_SELECTION foreground colour // Examples: Win High Con Black, Win High Con #1, Win High Con #2 // (covered in the second part of the OR clause above) - createColor(IFormColors.TITLE, rgb); + createColor(IFormColors.TITLE, getSystemColor(SWT.COLOR_WIDGET_FOREGROUND)); } private void createTwistieColors() { @@ -547,7 +547,7 @@ private void createTwistieColors() { } private void createTitleBarGradientColors() { - RGB tbBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND); + RGB tbBg = getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); RGB bg = getImpliedBackground().getRGB(); // Group 1 @@ -578,15 +578,15 @@ else if (testTwoPrimaryColors(tbBg, 120, 180)) tbBg = blend(tbBg, bg, 10); } - createColor(IFormColors.TB_BG, tbBg); + createColor(IFormColors.TB_BG, getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW)); // for backward compatibility - createColor(TB_GBG, tbBg); + createColor(TB_GBG, getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW)); } private void createTitleBarOutlineColors() { // title bar outline - border color - RGB tbBorder = getSystemColor(SWT.COLOR_TITLE_BACKGROUND); + RGB tbBorder = getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); RGB bg = getImpliedBackground().getRGB(); // Group 1 // Rule: If at least 2 of the RGB values are equal to or between 180 and @@ -643,7 +643,7 @@ private void createFormHeaderColors() { } private void createFormHeaderGradientColors() { - RGB titleBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND); + RGB titleBg = getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); Color bgColor = getImpliedBackground(); RGB bg = bgColor.getRGB(); RGB bottom, top; @@ -680,12 +680,12 @@ else if (testTwoPrimaryColors(titleBg, 120, 180)) { bottom = blend(titleBg, bg, 10); top = bg; } - createColor(IFormColors.H_GRADIENT_END, top); - createColor(IFormColors.H_GRADIENT_START, bottom); + createColor(IFormColors.H_GRADIENT_END, getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW)); + createColor(IFormColors.H_GRADIENT_START, getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW)); } private void createFormHeaderKeylineColors() { - RGB titleBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND); + RGB titleBg = getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); Color bgColor = getImpliedBackground(); RGB bg = bgColor.getRGB(); RGB keyline2; @@ -723,7 +723,7 @@ else if (testTwoPrimaryColors(titleBg, 120, 180)) } private void createFormHeaderDNDColors() { - RGB titleBg = getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT); + RGB titleBg = getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW); Color bgColor = getImpliedBackground(); RGB bg = bgColor.getRGB(); RGB light, full; diff --git a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java index d7b19c5174b..b5c05eb2814 100644 --- a/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java +++ b/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/FormToolkit.java @@ -559,6 +559,7 @@ public Section createSection(Composite parent, int sectionStyle) { || (sectionStyle & ExpandableComposite.SHORT_TITLE_BAR) != 0) { colors.initializeSectionToolBarColors(); section.setTitleBarBackground(colors.getColor(IFormColors.TB_BG)); + section.setTitleBarGradientBackground(section.getTitleBarBackground()); // disable gradient by default section.setTitleBarBorderColor(colors .getColor(IFormColors.TB_BORDER)); }