/******************************************************************************* * 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. Whentrue
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);
}