Search in sources :

Example 6 with IThemeEngine

use of org.eclipse.e4.ui.css.swt.theme.IThemeEngine in project dbeaver by dbeaver.

the class E4ThemeColor method getCssValueFromTheme.

public static String getCssValueFromTheme(Display display, String value) {
    // use reflection so that this can build against Eclipse 3.x
    BundleContext context = FrameworkUtil.getBundle(E4ThemeColor.class).getBundleContext();
    ServiceReference<IThemeManager> reference = context.getServiceReference(IThemeManager.class);
    if (reference != null) {
        IThemeManager iThemeManager = context.getService(reference);
        if (iThemeManager != null) {
            IThemeEngine themeEngine = iThemeManager.getEngineForDisplay(display);
            if (themeEngine != null) {
                CSSStyleDeclaration shellStyle = getStyleDeclaration(themeEngine, display);
                if (shellStyle != null) {
                    CSSValue cssValue = shellStyle.getPropertyCSSValue(value);
                    if (cssValue != null) {
                        return cssValue.getCssText();
                    }
                }
            }
        }
    }
    return null;
}
Also used : CSSValue(org.w3c.dom.css.CSSValue) IThemeEngine(org.eclipse.e4.ui.css.swt.theme.IThemeEngine) IThemeManager(org.eclipse.e4.ui.css.swt.theme.IThemeManager) CSSStyleDeclaration(org.w3c.dom.css.CSSStyleDeclaration) BundleContext(org.osgi.framework.BundleContext)

Aggregations

IThemeEngine (org.eclipse.e4.ui.css.swt.theme.IThemeEngine)6 ITheme (org.eclipse.e4.ui.css.swt.theme.ITheme)3 IThemeManager (org.eclipse.e4.ui.css.swt.theme.IThemeManager)2 BundleContext (org.osgi.framework.BundleContext)2 CSSStyleDeclaration (org.w3c.dom.css.CSSStyleDeclaration)2 CSSValue (org.w3c.dom.css.CSSValue)2 IEclipsePreferences (org.eclipse.core.runtime.preferences.IEclipsePreferences)1 IEclipseContext (org.eclipse.e4.core.contexts.IEclipseContext)1 MApplication (org.eclipse.e4.ui.model.application.MApplication)1 IHighlightingConfiguration (org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration)1