All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.debug.ui.IInstructionPointerPresentation Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright (c) 2005, 2006 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.debug.ui;

import org.eclipse.debug.core.model.IStackFrame;
import org.eclipse.jface.text.source.Annotation;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;

/**
 * A debug model presentation may implement this interface to override standard
 * annotations used to display instruction pointers for stack frames.
 * 

* A client has several options when overriding default instruction pointer * annotations, and the debug platform uses the following prioritized order when * computing an annotation for a stack frame. *

*
    *
  1. Specify the annotation object to use. This is done by returning a * non-null value from * getInstructionPointerAnnotation(..).
  2. *
  3. Specify an annotationType extension to use. This is done by * returning a non-null value from * getInstructionPointerAnnotationType(..). When specified, the * annotation type controls the image displayed via its associated * markerAnnotationSpecification.
  4. *
  5. Specify the image to use. This is done by returning a * non-null value from * getInstructionPointerImage(..).
  6. *
*

* Additionally, when specifying an annotation type or image the text for the * instruction pointer may be specified by returning a non-null * value from getInstructionPointerText(..). *

*

* These methods are called when the debugger has opened an editor to display * source for the given stack frame. The image will be positioned based on stack * frame line number and character ranges. *

*

* By default, the debug platform uses different annotations for top stack * frames and non-top stack frames in a thread. The default platform annotations * are contributed as annotationType extensions with the * identifiers * IDebugUIConstants.ANNOTATION_INSTRUCTION_POINTER_CURRENT and * IDebugUIConstants.ANNOTAION_INSTRUCTION_POINTER_SECONDARY. *

*

* Clients implementing a debug model presentation may also implement this * interface. *

* * @since 3.2 */ public interface IInstructionPointerPresentation extends IDebugModelPresentation { /** * Returns an annotation used for the specified stack frame in the specified * editor, or null if a default annotation should be used. * * @param editorPart the editor the debugger has opened * @param frame the stack frame for which the debugger is displaying * source * @return annotation or null */ Annotation getInstructionPointerAnnotation(IEditorPart editorPart, IStackFrame frame); /** * Returns an identifier of a org.eclipse.ui.editors.annotationTypes extension used for * the specified stack frame in the specified editor, or null if a default annotation * should be used. * * @param editorPart the editor the debugger has opened * @param frame the stack frame for which the debugger is displaying * source * @return annotation type identifier or null */ String getInstructionPointerAnnotationType(IEditorPart editorPart, IStackFrame frame); /** * Returns the instruction pointer image used for the specified stack frame in the specified * editor, or null if a default image should be used. *

* By default, the debug platform uses different images for top stack * frames and non-top stack frames in a thread. *

* @param editorPart the editor the debugger has opened * @param frame the stack frame for which the debugger is displaying * source * @return image or null */ Image getInstructionPointerImage(IEditorPart editorPart, IStackFrame frame); /** * Returns the text to associate with the instruction pointer annotation used for the * specified stack frame in the specified editor, or null if a default * message should be used. *

* By default, the debug platform uses different images for top stack * frames and non-top stack frames in a thread. *

* @param editorPart the editor the debugger has opened * @param frame the stack frame for which the debugger is displaying * source * @return message or null */ String getInstructionPointerText(IEditorPart editorPart, IStackFrame frame); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy