/** * This file is protected by Copyright. * Please refer to the COPYRIGHT file distributed with this source distribution. * * This file is part of REDHAWK IDE. * * 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 gov.redhawk.sca.ui; import gov.redhawk.sca.ScaPlugin; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.transaction.RunnableWithResult; import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.emf.transaction.ui.provider.TransactionalAdapterFactoryLabelProvider; import org.eclipse.jface.viewers.IColorProvider; import org.eclipse.jface.viewers.IFontProvider; import org.eclipse.jface.viewers.ITableColorProvider; import org.eclipse.jface.viewers.ITableFontProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.graphics.Color; /** * @since 6.0 * */ public class ScaModelAdapterFactoryLabelProvider extends TransactionalAdapterFactoryLabelProvider implements IColorProvider, ITableColorProvider, IFontProvider, ITableFontProvider { /** * @since 7.0 */ public ScaModelAdapterFactoryLabelProvider(final AdapterFactory adapterFactory) { super(TransactionalEditingDomain.Registry.INSTANCE.getEditingDomain(ScaPlugin.EDITING_DOMAIN_ID), adapterFactory); } /** * @since 9.0 */ public ScaModelAdapterFactoryLabelProvider(final AdapterFactory adapterFactory, final Viewer viewer) { this(adapterFactory); if (viewer != null) { setDefaultForeground(viewer.getControl().getForeground()); setDefaultBackground(viewer.getControl().getBackground()); } } @Override public Color getForeground(final Object object) { return run(new RunnableWithResult.Impl<Color>() { @Override public void run() { setResult(ScaModelAdapterFactoryLabelProvider.super.getForeground(object)); } }); } @Override public Color getForeground(final Object object, final int columnIndex) { return run(new RunnableWithResult.Impl<Color>() { @Override public void run() { setResult(ScaModelAdapterFactoryLabelProvider.super.getForeground(object, columnIndex)); } }); } }