org.eclipse.debug.ui.memory
Interface IMemoryRendering
-
All Superinterfaces:
-
IAdaptable
-
All Known Subinterfaces:
-
IRepositionableMemoryRendering,
IResettableMemoryRendering
-
All Known Implementing Classes:
- org.eclipse.debug.internal.ui.views.memory.renderings.AbstractBaseTableRendering,
AbstractMemoryRendering,
AbstractTableRendering,
AbstractTextRendering
-
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:
-
id
specifies a unique identifier for a type of memory rendering
-
name
specifies a human readable label for a rendering type
-
class
specifies the fully qualified name of the Java class
that implements IMemoryRenderingTypeDelegate
. Renderings are created
via this factory.
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
:
-
P_TEXT
- indicates a label change
-
P_IMAGE
- indicates a image change
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 unregister. 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
init
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
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
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
void dispose()
- Disposes this rendering.
-
-
activated
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
void deactivated()
- Notification this rendering is no longer the active rendering.
-
-
becomesVisible
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
void becomesHidden()
- Notification this rendering has become hidden in its container.
-
-
getMemoryBlock
IMemoryBlock getMemoryBlock()
- Returns the memory block displayed by this rendering.
-
-
-
Returns:
- the memory block displayed by this rendering
getRenderingId
String getRenderingId()
- Returns the identifier associated with this rendering's type.
-
-
-
Returns:
- the identifier associated with this rendering's type
-
See Also:
-
IMemoryRenderingType
addPropertyChangeListener
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
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
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
String getLabel()
- Returns a label for this rendering.
-
-
-
Returns:
- a label for this rendering
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.