/******************************************************************************* * Copyright (c) 2007, 2011 ARM Limited 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 * * Contributors: * ARM Limited - Initial API and implementation * Wind River Systems - flexible hierarchy Signals view (bug 338908) *******************************************************************************/ package org.eclipse.cdt.debug.internal.ui.elements.adapters; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.debug.core.model.ICModule; import org.eclipse.cdt.debug.core.model.ICSignal; import org.eclipse.cdt.debug.core.model.ICVariable; import org.eclipse.cdt.debug.internal.ui.views.modules.ModuleLabelProvider; import org.eclipse.cdt.debug.internal.ui.views.signals.SignalLabelProvider; import org.eclipse.core.runtime.IAdapterFactory; import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider; /** * Factory for all (non-default) label providers */ public class CDebugElementLabelProviderFactory implements IAdapterFactory { private static IElementLabelProvider fgModuleLabelProvider = new ModuleLabelProvider(); private static IElementLabelProvider fgVariableLabelProvider = new CVariableLabelProvider(); private static IElementLabelProvider fgSignalLabelProvider = new SignalLabelProvider(); /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) */ @SuppressWarnings("rawtypes") public Object getAdapter( Object adaptableObject, Class adapterType ) { if ( adapterType.equals( IElementLabelProvider.class ) ) { if ( adaptableObject instanceof ICModule ) { return fgModuleLabelProvider; } if ( adaptableObject instanceof ICElement ) { return fgModuleLabelProvider; } if ( adaptableObject instanceof ICVariable ) { return fgVariableLabelProvider; } if ( adaptableObject instanceof ICSignal ) { return fgSignalLabelProvider; } } return null; } /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() */ @SuppressWarnings("rawtypes") public Class[] getAdapterList() { return new Class[] { IElementLabelProvider.class, }; } }