Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-debug-dev] Editor Decorations


Sorry, the ruler icon was dealt with in a seperate post. The entire interface (currently) looks like this:


/*******************************************************************************
 * Copyright (c) 2000, 2003 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.debug.ui;

import org.eclipse.debug.core.model.IStackFrame;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;

/**
 * A debug model presentation may implement this interface to provide
 * editor related decorations for editors opened by the debugger.
 *
 * @since 3.0
 */
public interface IDebugEditorPresentation {
       
        /**
         * Returns the image used to annotate a line of source code in an editor's
         * ruler corresponding to the given stack frame, or <code>null</code> if the
         * default image should be used.
         *  
         * @param frame stack frame
         * @return image used to annotate a line of source code in ! an editor's
         * ruler corresponding to the given stack frame, or <code>null</code> if the
         * default image should be used
         */
        public Image getInstructionPointerImage(IStackFrame frame);
       
        /**
         * Provides this editor presentation with a chance to position the given
editor to
         * the appropriate location for the given stack frame. Returns whether this!
         * editor presentation has performed the select and reveal. When <code>false<! /code>
         * is returned, the debugger will perform the select and reveal.
         *  
         * @param editorPart the editor the debugger has opened
         * @param frame the stack frame that corresponds to the editor
         * @return whether this presentation has performed the select and reveal
         */
        public boolean selectAndReveal(IEditorPart editorPart, IStackFrame frame);
       
        /**
         * Provides this editor presentation with an opportunity to decorate the given
         * editor in the context of the given stack frame. This method is called after
         * <code>selectAndReveal</code>.
         *
         * @param editorPart the editor the debugger has opened
         * @param frame the stack frame that corresponds to the editor
         */
        public void decorateEditor(IEditorPart editorPart, IStackFrame frame);

}

Darin



Mary Kroening <mary@xxxxxxxx>
Sent by: platform-debug-dev-admin@xxxxxxxxxxx

07/11/2003 08:03 PM
Please respond to platform-debug-dev

       
        To:        platform-debug-dev@xxxxxxxxxxx
        cc:        
        Subject:        Re: [platform-debug-dev] Editor Decorations



Hi,

I don't see in these two methods how the icon is specified. Are there other methods in IDebugEditorPresentation in addition to the 2 you specified? Perhaps one that passes an IStackFrame and returns the icon?

I'm sorry I cannot play with the new version right now as we are trying to ship a production release based on 2.1. I will try to find some time next week.

Mary

At 02:49 PM 7/11/2003 -0500, you wrote:

The instruction pointer icon is removed automatically - it is added/removed to/from the editor by the debugger. However, you have revealed a flaw in the plan - we need to send a message to the editor presentation to "clear decorations" when a debug session resumes. Currently, the debugger just sets an empty selection in text editors. I will add this API to the interface, and provide an example.

Darin




Mary Kroening <mary@xxxxxxxx>

Sent by: platform-debug-dev-admin@xxxxxxxxxxx


07/11/2003 02:15 PM

Please respond to platform-debug-dev

       
       To:        platform-debug-dev@xxxxxxxxxxx

       cc:        
       Subject:        Re: [platform-debug-dev] Editor Decorations




A little example on how to provide the icon and set the foreground and background colors for the correct line would be very handy to those of us who are still learning. Also who takes care of unselecting and unrevealing (i.e. deleting the icon and restoring the colors)?

Regards,
Mary Kroening
Amzi! inc.

At 04:31 PM 7/9/2003 -0500, you wrote:

To support custom editor decorations, the following methods have been added to IDebugEditorPresentation:

     
/**
       
* Provides this editor presentation with a chance to position the given editor to
       
* the appropriate location for the given stack frame. Returns whether this!
       
* editor presentation has performed the select and reveal. When <code>false<! /code>
       
* is returned, the debugger will perform the select and reveal.
       
*  
       
* @param editorPart the editor the debugger has opened < font face="Courier New, Courier">
       
* @param frame the stack frame that corresponds to the editor
       
* @return whether this presentation has performed the select and reveal

       
*/
     
public boolean selectAndReveal(IEditorPart editorPart, IStackFrame frame);
     
     
/**
       
* Provides this editor presentation with an opportunity to decorate the given
       
* editor in the context of the given stack frame.* <code>selectAndReveal</code>.
       
*
       
* @param editorPart the editor the debugger has opened < /font >
       
* @param frame the stack frame that corresponds to the editor
       
*/
     
public void decorateEditor(IEditorPart editorPart, IStackFrame frame);

These methods allow a debug model presentation to position/highlight/decorate an editor for a stack frame. This support will be in the milestone 2 build next week. Any feedback from early adopters is appreciated.

Darin


----- Forwarded by Darin Wright/Ottawa/IBM on 07/09/2003 04:28 PM -----

Darin Wright/Ottawa/IBM@IBMCA
Sent by: platform-debug-dev-admin@xxxxxxxxxxx


07/09/2003 03:29 PM

Please respond to platform-debug-dev

     
      To:        platform-debug-dev@xxxxxxxxxxx

      cc:        
      Subject:        Re: [platform-debug-dev] Instruction Pointer Images





That is to be addressed by:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=36597.

The debugger will delegate to the editor presentation to "decorate" an editor for a stack frame, when a stack frame is selected. This avoids special editor inputs/duplicate editors open, etc. The debugger will consult the editor presentation to determine if a line should be "selected and revealed" by the debugger (in the case of an ITextEditor). This allows the editor presentation to take care of the job if it wants to.

Darin


Mary Kroening <mary@xxxxxxxx>

Sent by: platform-debug-dev-admin@xxxxxxxxxxx


07/09/2003 03:15 PM

Please respond to platform-debug-dev
       
     To:        platform-debug-dev@xxxxxxxxxxx

      cc:        
     Subject:        Re: [platform-debug-dev] Instruction Pointer Images




We would like to also be able to specify the foreground and background colors for line highlighting for each stack frame. That would eliminate the horrid kludge of having a special LanguageEditorInput which means a second editor is opened for each source file (if it was already open).

Regards,
Mary Kroening

At 02:57 PM 7/9/2003 -0500, you wrote:

Debug developers,

Regarding:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=33598

Support has been added to allow debug model presentations to provide custom instruction pointer images. To do so,  a model presentation simply implements IDebugEditorPresentation, which provides an instruction pointer image for a stack frame. The change has been implemented in a non-breaking fashion, such that model presentations do not have to implement the new interface. We will likely add more methods to this new interface (IDebugEditorPresentation) to support other editor decorations during the 3.0 development cycle.

Any feedback from interested debug model developers is appreciated.

Darin


----------------------------------------------------
Amzi! inc.
5861 Greentree Road
Lebanon, OH 45036 U.S.A.
web      
http://www.amzi.com
tel      +1 513 425 8050
e-mail   info@xxxxxxxx
fax      +1 513 425 8025
----------------------------------------------------



Back to the top