List of usage examples for org.eclipse.jface.resource FontRegistry getFontData
public FontData[] getFontData(String symbolicName)
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 }