Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2008 itemis AG (http://www.itemis.eu) and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html /
  
  package org.eclipse.xtext.ui.editor.syntaxcoloring;
 
 import static org.eclipse.xtext.ui.editor.preferences.PreferenceConstants.*;
 import static org.eclipse.xtext.ui.editor.syntaxcoloring.CommonPreferenceConstants.*;
 
 
 import  org.eclipse.core.runtime.preferences.InstanceScope;
 import  org.eclipse.jface.preference.IPreferenceStore;
 import  org.eclipse.jface.preference.PreferenceConverter;
 import  org.eclipse.jface.resource.JFaceResources;
 import  org.eclipse.swt.SWT;
 import  org.eclipse.swt.graphics.Device;
 import  org.eclipse.swt.graphics.FontData;
 import  org.eclipse.swt.graphics.RGB;
 import  org.eclipse.swt.widgets.Display;
 import  org.eclipse.ui.editors.text.EditorsUI;
 import  org.eclipse.ui.plugin.AbstractUIPlugin;
 import  org.eclipse.ui.texteditor.AbstractTextEditor;
 import  org.eclipse.ui.texteditor.ChainedPreferenceStore;
 

Author(s):
Dennis H´┐Żbner - Initial contribution and API
 
 public class PreferenceStoreAccessor {
 	private final String PREFERENCE_TAG;
 
 	private AbstractUIPlugin plugin;
 	
 	public PreferenceStoreAccessor(@Named(.String languageNameIPreferenceStoreAccess scopedAccessor) {
 		 = tokenTypeTag(languageName) + ;
 		this. = scopedAccessor;
 	}
 
 	public void populateTextStyle(String idTextStyle styleTextStyle defaults) {
 		IPreferenceStore editorsStore = EditorsUI.getPreferenceStore();
 		RGB fontColorDefaultDefault = editorsStore.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT) 
 				? getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB()
 				: PreferenceConverter.getColor(editorsStore, AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND);
 		RGB backgrounColorDefaultDefault = editorsStore.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT) 
 				? getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB() 
 				: PreferenceConverter.getColor(editorsStore, AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND);
 		FontData[] fontDataDefaultDefault = JFaceResources.getTextFont().getFontData();
 
 		IPreferenceStore preferenceStore = getPreferenceStore();
 		String cssID =  + id;
 		IPreferenceStore cssPrefStore = getPluginCssPreferenceStore();
 		
 		String cssFontColor = cssPrefStore.getString(getTokenColorPreferenceKey(cssID));
 		if(!Strings.isEmpty(cssFontColor)) {
 			preferenceStore.setDefault(colorKeycssFontColor);
 		} else if (defaults.getColor() != null) {
 			PreferenceConverter.setDefault(preferenceStorecolorKeydefaults.getColor());
 		} else {
 			PreferenceConverter.setDefault(preferenceStorecolorKeyfontColorDefaultDefault);
 		}
 		
 		String cssBgColor = cssPrefStore.getString(getTokenBackgroundColorPreferenceKey(cssID));
 		if(!Strings.isEmpty(cssBgColor)) {
 			preferenceStore.setDefault(backgroundKeycssBgColor);
 		} else if (defaults.getBackgroundColor() != null) {
 			PreferenceConverter.setDefault(preferenceStorebackgroundKeydefaults.getBackgroundColor());
 		} else {
 			PreferenceConverter.setDefault(preferenceStorebackgroundKeybackgrounColorDefaultDefault);
 		}
 		
 		String cssFont = cssPrefStore.getString(getTokenFontPreferenceKey(cssID));
 		if(!Strings.isEmpty(cssFont)) {
 			preferenceStore.setDefault(fontKeycssFont);
 		} else if (defaults.getFontData() != null)
 			PreferenceConverter.setDefault(preferenceStorefontKeydefaults.getFontData());
 		else {
 			PreferenceConverter.setDefault(preferenceStorefontKeyfontDataDefaultDefault);
 		}
 		
		int cssStyle = cssPrefStore.getInt(getTokenStylePreferenceKey(cssID));
		if(cssStyle != 0) {
			preferenceStore.setDefault(styleKeycssStyle);
else {
			preferenceStore.setDefault(styleKeydefaults.getStyle());
		}
		// populate
		RGB color = PreferenceConverter.getColor(preferenceStorecolorKey);
		if (!color.equals(fontColorDefaultDefault))
			style.setColor(color);
		RGB background = PreferenceConverter.getColor(preferenceStorebackgroundKey);
		if (!background.equals(backgrounColorDefaultDefault))
			style.setBackgroundColor(background);
		FontData[] fontDataArray = PreferenceConverter.getFontDataArray(preferenceStorefontKey);
		if (!Arrays.equals(fontDataArrayfontDataDefaultDefault)) {
			style.setFontData(fontDataArray);
		}
		style.setStyle(preferenceStore.getInt(styleKey));
	}
	private ChainedPreferenceStore getPluginCssPreferenceStore() {
		return new ChainedPreferenceStore(new IPreferenceStore[] {
				new FixedScopedPreferenceStore(new InstanceScope(), .getBundle().getSymbolicName()),
				new FixedScopedPreferenceStore(new InstanceScope(), Activator.getDefault().getBundle().getSymbolicName())
		});
	}
	private IPreferenceStore getPreferenceStore() {
	}
	private Device getDisplay() {
		Display display = Display.getCurrent();
		return display == null ? Display.getDefault() : display;
	}
	public static String getTokenColorPreferenceKey(String tokenType) {
	}
	public static String getTokenBackgroundColorPreferenceKey(String tokenType) {
		return tokenType +  + ;
	}
	public static String getTokenFontPreferenceKey(String tokenType) {
		return tokenType +  + ;
	}
	public static String getTokenStylePreferenceKey(String tokenType) {
		return tokenType +  + ;
	}
	public static String syntaxColorerTag(String languageName) {
		return languageName +  + ;
	}
	public static String tokenTypeTag(String languageName) {
	}
New to GrepCode? Check out our FAQ X