Example usage for org.eclipse.jface.resource FontRegistry getFontData

List of usage examples for org.eclipse.jface.resource FontRegistry getFontData

Introduction

In this page you can find the example usage for org.eclipse.jface.resource FontRegistry getFontData.

Prototype

public FontData[] getFontData(String symbolicName) 

Source Link

Document

Returns the font data associated with the given symbolic font name.

Usage

From source file:com.archimatetool.editor.ui.FontFactory.java

License:Open Source License

public static FontData getDefaultUserViewFontData() {
    // We don't have it
    if (!FontRegistry.hasValueFor(DEFAULT_VIEW_FONT_NAME)) {
        // So check user prefs...
        String fontDetails = Preferences.getDefaultViewFont();
        if (StringUtils.isSet(fontDetails)) {
            try {
                // Put font details from user prefs
                FontData fd = new FontData(fontDetails);
                FontRegistry.put(DEFAULT_VIEW_FONT_NAME, new FontData[] { fd });
            } catch (Exception ex) {
                //ex.printStackTrace();
                setDefaultViewOSFontData();
            }//from   w  w  w  . java 2 s.  com
        }
        // Not set in user prefs, so set default font data
        else {
            setDefaultViewOSFontData();
        }
    }

    return FontRegistry.getFontData(DEFAULT_VIEW_FONT_NAME)[0];
}

From source file:com.codeaffine.eclipse.ui.swt.theme.FontRegistryUpdater.java

License:Open Source License

private static void updateFontEntries(Display display) {
    FontRegistry fontRegistry = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry();
    if (fontRegistry.getFontData("org.eclipse.jface.textfont")[0].getName().equals(FONT_FACE)) {
        updateFontEntry(display, fontRegistry, "org.eclipse.ui.workbench.texteditor.blockSelectionModeFont");
        updateFontEntry(display, fontRegistry, "org.eclipse.jface.textfont");
        updateFontEntry(display, fontRegistry, "org.eclipse.jdt.ui.editors.textfont");
    }//  w w w .jav  a  2  s . c  o m
}

From source file:com.google.dart.tools.ui.internal.preferences.FontPreferencePage.java

License:Open Source License

@SuppressWarnings("unused")
private void scaleFontNamed(String name, int size) {
    IPreferenceStore workbenchPrefStore = WorkbenchPlugin.getDefault().getPreferenceStore();
    IThemeManager themeManager = PlatformUI.getWorkbench().getThemeManager();
    ITheme theme = themeManager.getCurrentTheme();
    FontRegistry registry = theme.getFontRegistry();
    FontData[] fds = registry.getFontData(name);
    FontData data = new FontData(fds[0].getName(), size, fds[0].getStyle());
    registry.put(name, new FontData[] { data });
    String key = ThemeElementHelper.createPreferenceKey(theme, name);
    String fdString = PreferenceConverter.getStoredRepresentation(new FontData[] { data });
    String storeString = workbenchPrefStore.getString(key);
    if (!fdString.equals(storeString)) {
        workbenchPrefStore.setValue(key, fdString);
    }/*from  w  ww.  ja  va  2 s .  c o  m*/
}

From source file:org.ebayopensource.vjet.eclipse.ui.VjetUIPlugin.java

License:Open Source License

/**
 * Because clearcase cq tool cause a wrong font loaded for
 * "JFaceResources.TEXT_FONT", So here if the font is not correct, reload
 * it./*w  ww. ja  v a  2s. c  o m*/
 */
private void reloadFont() {
    FontRegistry registry = JFaceResources.getFontRegistry();
    if (registry.defaultFont().equals(registry.get(JFaceResources.TEXT_FONT))) {
        FontData[] datas = registry.getFontData(JFaceResources.TEXT_FONT);
        registry.put(JFaceResources.TEXT_FONT, registry.defaultFont().getFontData());
        registry.put(JFaceResources.TEXT_FONT, datas);
    }
}

From source file:org.eclipse.e4mf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport.java

License:Open Source License

protected String getSymbolicFont() {
    if (font == null) {
        return DEFAULT_FONT;
    } else {//from www  . j a va 2 s  . c  o m
        FontData[] fontData = font.getFontData();
        FontRegistry fontRegistry = JFaceResources.getFontRegistry();
        for (Object name : fontRegistry.getKeySet()) {
            FontData[] registerFontData = fontRegistry.getFontData((String) name);
            if (Arrays.equals(fontData, registerFontData)) {
                return (String) name;
            }
        }
        return DEFAULT_FONT;
    }
}

From source file:org.eclipse.ui.internal.texteditor.AbstractZoomTextHandler.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    AbstractTextEditor textEditor = getActiveTextEditor();
    if (textEditor == null) {
        return null;
    }// ww w . j  av a 2 s  .c o  m
    FontRegistry fontRegistry = textEditor.getSite().getWorkbenchWindow().getWorkbench().getThemeManager()
            .getCurrentTheme().getFontRegistry();
    FontData[] initialFontData = fontRegistry.getFontData(JFaceResources.TEXT_FONT);
    int destFontSize = initialFontData[0].getHeight() + this.fontDiff;
    if (destFontSize <= 0) {
        return null;
    }
    FontDescriptor newFontDescriptor = FontDescriptor.createFrom(initialFontData).setHeight(destFontSize);
    fontRegistry.put(JFaceResources.TEXT_FONT, newFontDescriptor.getFontData());
    PlatformUI.getPreferenceStore().setValue(JFaceResources.TEXT_FONT,
            PreferenceConverter.getStoredRepresentation(newFontDescriptor.getFontData()));
    WorkbenchPlugin.getDefault().getPreferenceStore().setValue(JFaceResources.TEXT_FONT,
            PreferenceConverter.getStoredRepresentation(newFontDescriptor.getFontData()));
    return newFontDescriptor;
}

From source file:org.eclipse.ui.internal.themes.ThemeElementHelper.java

License:Open Source License

/**
 * Installs the given font in the preference store and optionally the font 
 * registry.//w  w w  .j av a2  s  .  c  o m
 * 
 * @param definition
 *            the font definition
 * @param registry
 *            the font registry
 * @param store
 *            the preference store from which to set and obtain font data
 * @param setInRegistry
 *            whether the color should be put into the registry as well as
 *            having its default preference set
 */
private static void installFont(FontDefinition definition, ITheme theme, IPreferenceStore store,
        boolean setInRegistry) {
    FontRegistry registry = theme.getFontRegistry();

    String id = definition.getId();
    String key = createPreferenceKey(theme, id);
    FontData[] prefFont = store != null ? PreferenceConverter.getFontDataArray(store, key) : null;
    FontData[] defaultFont = null;
    if (definition.getValue() != null) {
        defaultFont = definition.getValue();
    } else if (definition.getDefaultsTo() != null) {
        defaultFont = registry.filterData(registry.getFontData(definition.getDefaultsTo()),
                PlatformUI.getWorkbench().getDisplay());
    } else {
        // values pushed in from jface property files.  Very ugly.
        Display display = PlatformUI.getWorkbench().getDisplay();

        //If in high contrast, ignore the defaults in jface and use the default (system) font.
        //This is a hack to address bug #205474. See bug #228207 for a future fix.
        FontData[] fontData = JFaceResources.getFontRegistry()
                .getFontData(display.getHighContrast() ? JFaceResources.DEFAULT_FONT : id);
        defaultFont = registry.bestDataArray(fontData, display);
    }

    if (setInRegistry) {
        if (prefFont == null || prefFont == PreferenceConverter.FONTDATA_ARRAY_DEFAULT_DEFAULT) {
            prefFont = defaultFont;
        }

        if (prefFont != null) {
            registry.put(id, prefFont);
        }
    }

    if (defaultFont != null && store != null) {
        PreferenceConverter.setDefault(store, key, defaultFont);
    }
}

From source file:org.eclipse.ui.internal.themes.WorkbenchThemeManager.java

License:Open Source License

private WorkbenchThemeManager() {
    defaultThemeColorRegistry = new ColorRegistry(PlatformUI.getWorkbench().getDisplay());

    defaultThemeFontRegistry = new FontRegistry(PlatformUI.getWorkbench().getDisplay());

    // copy the font values from preferences.
    FontRegistry jfaceFonts = JFaceResources.getFontRegistry();
    for (Iterator i = jfaceFonts.getKeySet().iterator(); i.hasNext();) {
        String key = (String) i.next();
        defaultThemeFontRegistry.put(key, jfaceFonts.getFontData(key));
    }//from www.  j a  v a 2s . c om

    //Theme might be set via plugin_configuration.ini
    String themeId = PrefUtil.getAPIPreferenceStore()
            .getDefaultString(IWorkbenchPreferenceConstants.CURRENT_THEME_ID);

    //If not set, use default
    if (themeId.length() == 0)
        themeId = IThemeManager.DEFAULT_THEME;

    // Check if we are in high contrast mode. If so then set the theme to
    // the system default
    if (PlatformUI.getWorkbench().getDisplay() != null) {
        // Determine the high contrast setting before
        // any access to preferences
        final boolean[] highContrast = new boolean[] { false };
        PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {

            /*
             * (non-Javadoc)
             * 
             * @see java.lang.Runnable#run()
             */
            public void run() {
                highContrast[0] = Display.getCurrent().getHighContrast();

                Display.getCurrent().addListener(SWT.Settings, new Listener() {
                    public void handleEvent(Event event) {
                        updateThemes();
                    }
                });
            }
        });

        //If in HC, *always* use the system default.
        //This ignores any default theme set via plugin_customization.ini
        if (highContrast[0])
            themeId = SYSTEM_DEFAULT_THEME;
    }

    PrefUtil.getAPIPreferenceStore().setDefault(IWorkbenchPreferenceConstants.CURRENT_THEME_ID, themeId);
}

From source file:org.eclipse.ui.internal.themes.WorkbenchThemeManager.java

License:Open Source License

public void setCurrentTheme(String id) {
    ITheme oldTheme = currentTheme;/*from   w w w  .j a v a 2s.  c o  m*/
    if (WorkbenchThemeManager.getInstance().doSetCurrentTheme(id)) {
        firePropertyChange(CHANGE_CURRENT_THEME, oldTheme, getCurrentTheme());
        if (oldTheme != null) {
            oldTheme.removePropertyChangeListener(currentThemeListener);
        }
        currentTheme.addPropertyChangeListener(currentThemeListener);

        // update the preference if required.
        if (!PrefUtil.getAPIPreferenceStore().getString(IWorkbenchPreferenceConstants.CURRENT_THEME_ID)
                .equals(id)) {
            PrefUtil.getAPIPreferenceStore().setValue(IWorkbenchPreferenceConstants.CURRENT_THEME_ID, id);
            PrefUtil.saveAPIPrefs();
        }

        // update the jface registries
        {
            ColorRegistry jfaceColors = JFaceResources.getColorRegistry();
            ColorRegistry themeColors = currentTheme.getColorRegistry();
            for (Iterator i = themeColors.getKeySet().iterator(); i.hasNext();) {
                String key = (String) i.next();
                jfaceColors.put(key, themeColors.getRGB(key));
            }
        }
        {
            FontRegistry jfaceFonts = JFaceResources.getFontRegistry();
            FontRegistry themeFonts = currentTheme.getFontRegistry();
            for (Iterator i = themeFonts.getKeySet().iterator(); i.hasNext();) {
                String key = (String) i.next();
                jfaceFonts.put(key, themeFonts.getFontData(key));
            }
        }
    }
}

From source file:org.eclipse.ui.tests.preferences.ZoomAndPreferencesFontTest.java

License:Open Source License

@Test
public void testThemeAPIvsPreferences() {
    int targetHeight = 17; // Whatever > 0 and not default size/10
    FontRegistry registry = editor.getSite().getWorkbenchWindow().getWorkbench().getThemeManager()
            .getCurrentTheme().getFontRegistry();
    FontData[] data = registry.getFontData(JFaceResources.TEXT_FONT);
    FontDescriptor desc = FontDescriptor.createFrom(data).setHeight(targetHeight);
    registry.put(JFaceResources.TEXT_FONT, desc.getFontData());
    Assert.assertEquals(targetHeight, text.getFont().getFontData()[0].getHeight());
    restoreAndCheckDefaults();//from   w w w  .j  a  va 2  s  .c o m
}