/* Copyright (C) 2009 Mobile Sorcery AB This program is free software; you can redistribute it and/or modify it under the terms of the Eclipse Public License v1.0. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Eclipse Public License v1.0 for more details. You should have received a copy of the Eclipse Public License v1.0 along with this program. It is also available at http://www.eclipse.org/legal/epl-v10.html */ package com.mobilesorcery.sdk.ui.editors.resources; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.editors.text.TextFileDocumentProvider; import org.eclipse.ui.texteditor.AbstractDecoratedTextEditor; public class ResourceEditor extends AbstractDecoratedTextEditor { private ColorManager manager; private IPropertyChangeListener preferenceListener; public ResourceEditor() { super(); manager = ColorManager.getColorManager(Display.getCurrent()); final ResourcesFileConfiguration cfg = new ResourcesFileConfiguration(manager); setSourceViewerConfiguration(cfg); setDocumentProvider(new TextFileDocumentProvider()); preferenceListener = new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { cfg.reinit(); getSourceViewer().invalidateTextPresentation(); } }; Activator.getDefault().getPreferenceStore().addPropertyChangeListener(preferenceListener); } public void dispose() { Activator.getDefault().getPreferenceStore().removePropertyChangeListener(preferenceListener); super.dispose(); } }