Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-debug-dev] Programmatically adding memory monitor and rendering

Hi Derek -

Is your debug adapter based on CDT and you are implementing a debug engine
through the CDI layer?  If so, then you will have to post this question to
the CDT mailing list.  The Memory View provides the capabilities to allow
its clients to customize the memory block and rendering labels.  CDT's
memory block has to implement the appropriate adapters in order to allow
its clients to take advantage of these capabilities.

You need to provide two adapters to customize the labels:
(1) For rendering labels, i.e. the label on the tabs of "Renderings" pane,
you have to provide an adapter for ILabelDecorator.

(2) For the labels in the tree, i.e. the labels in the "Monitors" Pane, you
have to provide an adapter to IAsynchronousLabelAdapter.  This is in
response to this from your previous note:
> 2. It appears that the text for the memory monitors is the expression
used
> to create the monitor (in my case a memory address).
Is this what you want to do?  If not, can you explain what you mean by
"text for the memory monitors"?

Thanks...
Samantha



                                                                           
             Derek Morris                                                  
             <dmsubs@consertum                                             
             .com>                                                      To 
             Sent by:                  "Eclipse Platform Debug component   
             platform-debug-de         developers list."                   
             v-bounces@eclipse         <platform-debug-dev@xxxxxxxxxxx>    
             .org                                                       cc 
                                                                           
                                                                   Subject 
             08/15/2006 02:19          Re: [platform-debug-dev]            
             PM                        Programmatically adding memory      
                                       monitor and      rendering          
                                                                           
             Please respond to                                             
             "Eclipse Platform                                             
              Debug component                                              
             developers list."                                             
             <platform-debug-d                                             
              ev@xxxxxxxxxxx>                                              
                                                                           
                                                                           




Samantha,

I'm using a CMemoryBlockExtension... Should I be subclassing from that? If
so,
how do I then get my memory block used?

Also, From your description, you seem to be saying that I should provide a
#getAdapter() that returns an ILabelDecorator or an
IAsynchronousLabelAdapter.
Have I misunderstood?

Thanks
---
Derek

Samantha Chan wrote:
> Hi Derek -
>
> 1.  To customize the rendering label:
>>From your memory block, provide an ILabelDecorator adapter.  (i.e. return
> an ILabelDecorator when #getAdapter(adapter) is called.)  You label
> decorator will be called when the rendering tries to construct the label.
> You will be given the original label and the rendering when
> ILabelDecorator#decorateText(...) is called.
>
> 2.  To customize the labels from the tree view pane, you need to provide
> your own label adapter to your memory block.  From your memory block,
> override the #getAdapter() method and return an IAsynchronousLabelAdapter
> when needed.  The label adapter will be called whenever the memory
block's
> label is needed from the Memory View. For an example implementation of
the
> label adapter, look at MemoryBlockLabelAdapter.  (Please note that there
> are other ways of providing adapters to your debug elements.  You may
want
> to look at the tutorial form EclipseCon to figure out which way is best
for
> you.)
>
> Samantha
>
>
>
>
>

>              Derek Morris

>              <dmsubs@consertum

>              .com>
To
>              Sent by:                  "Eclipse Platform Debug component

>              platform-debug-de         developers list."

>              v-bounces@eclipse         <platform-debug-dev@xxxxxxxxxxx>

>              .org
cc
>

>
Subject
>              08/15/2006 01:20          Re: [platform-debug-dev]

>              PM                        Programmatically adding memory

>                                        monitor and      rendering

>

>              Please respond to

>              "Eclipse Platform

>               Debug component

>              developers list."

>              <platform-debug-d

>               ev@xxxxxxxxxxx>

>

>

>
>
>
>
> Samantha,
>
> Thanks - that works. Now some more questions:
>
> 1. I am using the standard memory viewer with my custom rendering. Is it
> possible to override the text in the rendering tab? It currently says
> address :
> address <render_name>. I see it gets the text from a decorator, but can't
> see
> how to provide my own.
>
> 2. It appears that the text for the memory monitors is the expression
used
> to
> create the monitor (in my case a memory address). Is it possible to
> override so
> that I can provide more descriptive text to my user? For example, the
> memory
> location (which I add programmatically) has an address (0x12345678) and a
> name
> (such as "Video memory"). I would like "Video memory" to be displayed.
>
>
>
> --
> Derek
>
> Samantha Chan wrote:
>> Hi Derek -
>>
>> The Memory View is an instance of IMemoryRenderingSite.  So, once you
get
> a
>> hold to the Memory View, cast it to an IMemoryRenderingSite.
>> IMemoryRenderingSite has two methods that allow you to get to the
>> containers:
>> #getMemoryRenderingContainers()
>> #getContainer(String id)
>>
>> I have code sample from this bug that should help you with this task:
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=87374
>>
>> Regarding the MemoryViewUtil#getMemoryBlockRetrieval method, this method
> is
>> currently internal and may change in future releases.  If you require
> this
>> to be a public API, please submit an enhancement request and we will
>> consider making this as an API in the future.
>>
>> Thanks...
>> Samantha
>>
>>
>>
>>
>
>>              Derek Morris
>
>>              <dmsubs@consertum
>
>>              .com>
> To
>>              Sent by:                  "Eclipse Platform Debug component
>
>>              platform-debug-de         developers list."
>
>>              v-bounces@eclipse         <platform-debug-dev@xxxxxxxxxxx>
>
>>              .org
> cc
>
> Subject
>>              08/15/2006 09:42          [platform-debug-dev]
>
>>              AM                        Programmatically adding memory
>
>>                                        monitor and      rendering
>
>
>>              Please respond to
>
>>              "Eclipse Platform
>
>>               Debug component
>
>>              developers list."
>
>>              <platform-debug-d
>
>>               ev@xxxxxxxxxxx>
>
>
>
>>
>>
>>
>> Hi,
>>
>> I am trying to programmatically add a memory monitor and it's rendering.
> I
>> have
>> written the code that adds the monitor to the memory view, but there is
> no
>> rendering (user has to select from the rendering dialog).
>>
>> So, I am now trying to add an appropriate rendering for the monitor. The
>> problem
>> I have is how to find the IMemoryRenderingContainer. I see there is an
>> getmemoryRenderingContainer() method in the AbstractMemoryRendering
> class,
>> but I
>> am not writing a rendering, I just want to display an existing one!
>>
>> Another (unrelated) question:
>>
>> Also, I am using MemoryViewUtil.getmemoryBlockRetrieval (which works)
but
>> gives
>> me compilation warnings as it is internal (restricted). Is there any
plan
>> to
>> make the useful methods in MemoryViewUtil more publicly available (and
>> therefore
>> stable from change?)
>>
>> Thanks,
>> ---
>> Derek
>> --
>> Derek
>> _______________________________________________
>> platform-debug-dev mailing list
>> platform-debug-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/platform-debug-dev
>>
>>
>> _______________________________________________
>> platform-debug-dev mailing list
>> platform-debug-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/platform-debug-dev
>>
> _______________________________________________
> platform-debug-dev mailing list
> platform-debug-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/platform-debug-dev
>
>
> _______________________________________________
> platform-debug-dev mailing list
> platform-debug-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/platform-debug-dev
>
_______________________________________________
platform-debug-dev mailing list
platform-debug-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-debug-dev




Back to the top