Bug 574631: [R-Help] Change colors used in help hover to 'documentation'
colors
Change-Id: I0d9542067c30f23a25ef5e5e0e492025a54b5554
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpInfoHoverCreator.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpInfoHoverCreator.java
index 02a88aa..b946c37 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpInfoHoverCreator.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpInfoHoverCreator.java
@@ -304,8 +304,8 @@
public void keyReleased(final KeyEvent e) {}
});
- setBackgroundColor(getShell().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
- setForegroundColor(getShell().getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
+ setBackgroundColor(RHelpUIServlet.getDocBackgroundColor());
+ setForegroundColor(RHelpUIServlet.getDocForegroundColor());
if ((this.mode & MODE_FOCUS) != 0) {
initActions(this.handlerCollection);
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java
index 99b895b..710b2c4 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpUIServlet.java
@@ -14,6 +14,8 @@
package org.eclipse.statet.internal.r.ui.rhelp;
+import static org.eclipse.statet.jcommons.lang.ObjectUtils.nonNullAssert;
+
import java.io.PrintWriter;
import java.nio.file.Path;
import java.util.HashMap;
@@ -35,6 +37,7 @@
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
@@ -86,6 +89,16 @@
".SMATCH-J { background: plum; }\n",
};
+ static Color getDocBackgroundColor() {
+ return nonNullAssert(JFaceResources.getColorRegistry()
+ .get("org.eclipse.statet.workbench.themes.DocViewBackgroundColor") ); //$NON-NLS-1$
+ }
+
+ static Color getDocForegroundColor() {
+ return nonNullAssert(JFaceResources.getColorRegistry()
+ .get("org.eclipse.statet.workbench.themes.DocViewColor") ); //$NON-NLS-1$
+ }
+
private static void appendCssColor(final StringBuilder sb, final RGB color) {
sb.append('#');
@@ -107,12 +120,15 @@
}
private static void appendELinkColors(final StringBuilder sb, final RGB foregroundColor) {
- final RGB hyperlinkColor= JFaceResources.getColorRegistry().getRGB(JFacePreferences.HYPERLINK_COLOR);
+ final RGB hyperlinkColor= nonNullAssert(JFaceResources.getColorRegistry()
+ .getRGB(JFacePreferences.HYPERLINK_COLOR) );
+ final RGB hyperlinkActiveColor= nonNullAssert(JFaceResources.getColorRegistry()
+ .getRGB(JFacePreferences.ACTIVE_HYPERLINK_COLOR) );
sb.append("a { color: "); //$NON-NLS-1$
appendCssColor(sb, hyperlinkColor);
sb.append("; }\n");//$NON-NLS-1$
sb.append("a:hover, a:active, a:focus { color: "); //$NON-NLS-1$
- appendCssColor(sb, JFaceResources.getColorRegistry().getRGB(JFacePreferences.ACTIVE_HYPERLINK_COLOR));
+ appendCssColor(sb, hyperlinkActiveColor);
sb.append("; }\n"); //$NON-NLS-1$
sb.append("a:visited { color: "); //$NON-NLS-1$
appendCssColor(sb, new RGB(
@@ -145,11 +161,15 @@
@Override
protected void collectCss(final StringBuilder sb) {
- final RGB foregroundColor= JFaceResources.getColorRegistry().getRGB("org.eclipse.statet.workbench.themes.DocViewColor"); //$NON-NLS-1$
- final RGB docBackgroundColor= JFaceResources.getColorRegistry().getRGB("org.eclipse.statet.workbench.themes.DocViewBackgroundColor"); //$NON-NLS-1$
- final RGB borderColor= Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW).getRGB();
+ final RGB docBackgroundColor= nonNullAssert(JFaceResources.getColorRegistry()
+ .getRGB("org.eclipse.statet.workbench.themes.DocViewBackgroundColor") ); //$NON-NLS-1$
+ final RGB docForegroundColor= nonNullAssert(JFaceResources.getColorRegistry()
+ .getRGB("org.eclipse.statet.workbench.themes.DocViewColor") ); //$NON-NLS-1$
+ final RGB borderColor= Display.getCurrent()
+ .getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW).getRGB();
- { final FontDescriptor docFontDescr= JFaceResources.getFontDescriptor("org.eclipse.statet.workbench.themes.DocViewFont"); //$NON-NLS-1$
+ { final FontDescriptor docFontDescr= JFaceResources
+ .getFontDescriptor("org.eclipse.statet.workbench.themes.DocViewFont"); //$NON-NLS-1$
final FontData fontData= docFontDescr.getFontData()[0];
sb.append("body { font-family: '"); //$NON-NLS-1$
@@ -157,16 +177,16 @@
sb.append("'; font-size:"); //$NON-NLS-1$
sb.append(fontData.getHeight());
sb.append("pt; color:"); //$NON-NLS-1$
- appendCssColor(sb, foregroundColor);
+ appendCssColor(sb, docForegroundColor);
sb.append("; background:"); //$NON-NLS-1$
appendCssColor(sb, docBackgroundColor);
sb.append("; }\n"); //$NON-NLS-1$
}
- appendELinkColors(sb, foregroundColor);
+ appendELinkColors(sb, docForegroundColor);
sb.append("div.toc a, div.toc a:visited { color: "); //$NON-NLS-1$
- appendCssColor(sb, foregroundColor);
+ appendCssColor(sb, docForegroundColor);
sb.append("; }\n"); //$NON-NLS-1$
sb.append("@media screen {\n"); //$NON-NLS-1$
@@ -202,8 +222,10 @@
@Override
protected void collectCss(final StringBuilder sb) {
final Display display= Display.getCurrent();
- final RGB infoForegroundColor= display.getSystemColor(SWT.COLOR_INFO_FOREGROUND).getRGB();
- final RGB infoBackgroundColor= display.getSystemColor(SWT.COLOR_INFO_BACKGROUND).getRGB();
+ final RGB docBackgroundColor= nonNullAssert(JFaceResources.getColorRegistry()
+ .getRGB("org.eclipse.statet.workbench.themes.DocViewBackgroundColor") ); //$NON-NLS-1$
+ final RGB docForegroundColor= nonNullAssert(JFaceResources.getColorRegistry()
+ .getRGB("org.eclipse.statet.workbench.themes.DocViewColor") ); //$NON-NLS-1$
final int vIndent= Math.max(1, LayoutUtils.defaultVSpacing() / 4);
final int hIndent= Math.max(3, LayoutUtils.defaultHSpacing() / 2);
@@ -214,16 +236,16 @@
sb.append("'; font-size: "); //$NON-NLS-1$
sb.append(fontData.getHeight());
sb.append("pt; color: "); //$NON-NLS-1$
- appendCssColor(sb, infoForegroundColor);
+ appendCssColor(sb, docForegroundColor);
sb.append("; background: "); //$NON-NLS-1$
- appendCssColor(sb, infoBackgroundColor);
+ appendCssColor(sb, docBackgroundColor);
sb.append("; margin: 0 "); //$NON-NLS-1$
sb.append(hIndent);
sb.append("px "); //$NON-NLS-1$
sb.append(vIndent);
sb.append("px; }\n"); //$NON-NLS-1$
}
- appendELinkColors(sb, infoForegroundColor);
+ appendELinkColors(sb, docForegroundColor);
sb.append("h2, h3#description { display: none; }\n"); //$NON-NLS-1$
sb.append("h3 { font-size: 90%; margin-bottom: 0.4em; }\n"); //$NON-NLS-1$