List of usage examples for org.eclipse.jface.resource FontRegistry getKeySet
@Override
public Set<String> getKeySet()
From source file:gov.nasa.arc.spife.ui.timeline.util.TimelineUtils.java
License:Open Source License
private static Font deriveFontSize(Font font, String preferenceKey) { int pixelHeight = TIMELINE_PREFERENCES.getInt(preferenceKey); if (font == null) { font = Display.getDefault().getSystemFont(); }/*ww w .java2s .c o m*/ Device device = font.getDevice(); if (device == null) { device = WidgetUtils.getDisplay(); } int pixelsPerInch = device.getDPI().y; int pointHeight; if (pixelsPerInch == 0) { pointHeight = pixelHeight; } else { pointHeight = POINTS_PER_INCH * pixelHeight / pixelsPerInch; } FontData[] fontData = font.getFontData(); for (int i = 0; i < fontData.length; i++) { fontData[i].setHeight(pointHeight); } String symbolicFontName = font.toString() + "_" + pointHeight; FontRegistry fontRegistry = FontUtils.FONT_REGISTRY_INSTANCE; boolean fontExists = fontRegistry.getKeySet().contains(symbolicFontName); Font desiredFont = null; if (!fontExists) { desiredFont = FontUtils.getStyledFont(font.getDevice(), fontData); fontRegistry.put(symbolicFontName, fontData); } else { desiredFont = fontRegistry.get(symbolicFontName); } return desiredFont; }
From source file:gov.nasa.ensemble.common.ui.PageSelectionWidget.java
License:Open Source License
private Font getBoldFont() { Font systemFont = FontUtils.getSystemFont(); int desiredFontHeight = 10; String symbolicFontName = systemFont.toString() + "_" + desiredFontHeight; FontRegistry fontRegistry = FontUtils.FONT_REGISTRY_INSTANCE; boolean fontExists = fontRegistry.getKeySet().contains(symbolicFontName); Font font = null;/*w ww .ja v a 2 s.c o m*/ if (!fontExists) { font = FontUtils.getStyledFont(desiredFontHeight, SWT.NONE); fontRegistry.put(symbolicFontName, font.getFontData()); } else { font = fontRegistry.get(symbolicFontName); } return font; }
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 w ww. ja 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.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)); }/* ww w .j av a 2 s .c o m*/ //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 ww .j a v a2 s . 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.themes.JFaceThemeTest.java
License:Open Source License
private void setAndTest(String themeId, IPropertyChangeListener listener) { JFaceResources.getFontRegistry().addListener(listener); JFaceResources.getColorRegistry().addListener(listener); fManager.setCurrentTheme(themeId);/*from www .j av a 2 s. c o m*/ ITheme theme = fManager.getTheme(themeId); assertEquals(theme, fManager.getCurrentTheme()); { FontRegistry jfaceFonts = JFaceResources.getFontRegistry(); FontRegistry themeFonts = theme.getFontRegistry(); // don't test for equality - other tests (or clients) may be pushing // new items into jface assertTrue(jfaceFonts.getKeySet().containsAll(themeFonts.getKeySet())); for (Iterator i = themeFonts.getKeySet().iterator(); i.hasNext();) { String key = (String) i.next(); assertArrayEquals(themeFonts.getFontData(key), jfaceFonts.getFontData(key)); } } { ColorRegistry jfaceColors = JFaceResources.getColorRegistry(); ColorRegistry themeColors = theme.getColorRegistry(); assertTrue(jfaceColors.getKeySet().containsAll(themeColors.getKeySet())); for (Iterator i = themeColors.getKeySet().iterator(); i.hasNext();) { String key = (String) i.next(); assertEquals(themeColors.getRGB(key), jfaceColors.getRGB(key)); } } JFaceResources.getFontRegistry().removeListener(listener); JFaceResources.getColorRegistry().removeListener(listener); }