Eclipse Platform
Release 3.1

org.eclipse.debug.ui.memory
Interface IMemoryRendering

All Superinterfaces:
IAdaptable
All Known Implementing Classes:
AbstractMemoryRendering

public interface IMemoryRendering
extends IAdaptable

An arbitrary rendering of a memory block. A memory rendering is contributed via the memoryRenderings extension point.

Following is an example definition of a memory renderings extension.

 <extension point="org.eclipse.debug.ui.memoryRenderings">
   <memoryRenderingType
      id="com.example.asciiRendering"
      name="ASCII"
      class="com.example.RenderingFactory">
   </memoryRenderingType>
 </extension>
 
The attributes are specified as follows:

A rendering provides an image and label. To support dynamic labels and images, property change notification is used with the following property constants defined in IBasicPropertyConstants:

Renderings needing to synchronize with other renderings are intended to use property change notifications via its synchronization service. For example, when a rendering becomes visible, it can register for property change events with its rendering site's synchronization service, and when it becomes hidden it can deregister. When a rendering is activated, it should set itself as the synchrnoization provider in its rendering site and fire property change events to communicate information to interested listeners.

Clients contributing a memory rendering type are intended to implement this interface and IMemoryRenderingTypeDelegate. The factory will be used to create instances of IMemoryRendering.

Since:
3.1

Method Summary
 void activated()
          Notification this rendering has become the active rendering.
 void addPropertyChangeListener(IPropertyChangeListener listener)
          Adds a listener for property changes to this rendering.
 void becomesHidden()
          Notification this rendering has become hidden in its container.
 void becomesVisible()
          Notification this rendering has become visible in its container.
 Control createControl(Composite parent)
          Creates the top level control for this rendering under the given parent composite.
 void deactivated()
          Notification this rendering is no longer the active rendering.
 void dispose()
          Disposes this rendering.
 Control getControl()
          Returns the top level control for this rendering.
 Image getImage()
          Returns an image for this rendering.
 String getLabel()
          Returns a label for this rendering.
 IMemoryBlock getMemoryBlock()
          Returns the memory block displayed by this rendering.
 String getRenderingId()
          Returns the identifier associated with this rendering's type.
 void init(IMemoryRenderingContainer container, IMemoryBlock block)
          Initializes this rendering to be hosted in the given container, displaying the given memory block.
 void removePropertyChangeListener(IPropertyChangeListener listener)
          Removes the given property change listener from this rendering.
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Method Detail

init

public void init(IMemoryRenderingContainer container,
                 IMemoryBlock block)
Initializes this rendering to be hosted in the given container, displaying the given memory block. This method is called before this rendering's control has been created.

Parameters:
container - container hosting this rendering
block - the memory block to render

createControl

public Control createControl(Composite parent)
Creates the top level control for this rendering under the given parent composite. This method is called after this rendering's init method has been called.

Implementors are responsible for ensuring that the created control can be accessed via getControl

Parameters:
parent - the parent composite

getControl

public Control getControl()
Returns the top level control for this rendering.

May return null if the control has not been created yet.

Returns:
the top level control or null

dispose

public void dispose()
Disposes this rendering.


activated

public void activated()
Notification this rendering has become the active rendering. Only one rendering can be active at once. Generally, the active rendering is visible and has focus.


deactivated

public void deactivated()
Notification this rendering is no longer the active rendering.


becomesVisible

public void becomesVisible()
Notification this rendering has become visible in its container. Note that a rendering does not have to be active to be visible.


becomesHidden

public void becomesHidden()
Notification this rendering has become hidden in its container.


getMemoryBlock

public IMemoryBlock getMemoryBlock()
Returns the memory block displayed by this rendering.

Returns:
the memory block displayed by this rendering

getRenderingId

public String getRenderingId()
Returns the identifier associated with this rendering's type.

Returns:
the identifier associated with this rendering's type
See Also:
IMemoryRenderingType

addPropertyChangeListener

public void addPropertyChangeListener(IPropertyChangeListener listener)
Adds a listener for property changes to this rendering. Has no effect if an identical listener is already registered.

Parameters:
listener - a property change listener

removePropertyChangeListener

public void removePropertyChangeListener(IPropertyChangeListener listener)
Removes the given property change listener from this rendering. Has no effect if the identical listener is not registered.

Parameters:
listener - a property change listener

getImage

public Image getImage()
Returns an image for this rendering. Clients should not dispose this image. This rendering will dispose the image if required when this rendering is disposed.

Returns:
an image for this rendering

getLabel

public String getLabel()
Returns a label for this rendering.

Returns:
a label for this rendering

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.