/******************************************************************************* * Copyright (c) 2008 IBM Corporation 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.debug.ui; /** * Optional extension for an {@link IDebugModelPresentation}. Dynamically controls * whether labels are computed in a UI thread. The debug platform calls debug model * presentation label related methods that do not implement this interface in a * non-UI thread. *

* For example, some models may require at least one access in a UI thread to initialize * an image registry at which point they may be able to provide labels in a non-UI * thread. *

*

* Clients implementing a debug model presentation should also implement * this interface to control which thread labels are generated in. *

* @since 3.4 */ public interface IDebugModelPresentationExtension extends IDebugModelPresentation { /** * Returns whether the UI thread is required to retrieve a label (text, image, font, * foreground, background, etc.), for the specified element. When true is * returned, label related methods will be called in the UI thread, otherwise methods * may be called in a non-UI thread. * * @param element the element a label is to be retrieved for * @return whether label related methods should be called on the UI thread */ boolean requiresUIThread(Object element); }