Class ImageRegistry
An image registry owns all of the image objects registered with it, and automatically disposes of them when the SWT Display that creates the images is disposed. Because of this, clients do not need to (indeed, must not attempt to) dispose of these images themselves.
Clients may instantiate this class (it was not designed to be subclassed).
Unlike the FontRegistry, it is an error to replace images. As a result there are no events that fire when values are changed in the registry
-
Constructor Summary
ConstructorDescriptionCreates an empty image registry.ImageRegistry
(ResourceManager manager) Creates an empty image registry using the given resource manager to allocate images.ImageRegistry
(Display display) Creates an empty image registry. -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Disposes this image registry, disposing any images that were allocated for it, and clearing its entries.Returns the image associated with the given key in this registry, ornull
if none.getDescriptor
(String key) Returns the descriptor associated with the given key in this registry, ornull
if none.void
put
(String key, ImageDescriptor descriptor) Adds (or replaces) an image descriptor to this registry.void
Adds an image to this registry.void
Removes an image from this registry.
-
Constructor Details
-
ImageRegistry
public ImageRegistry()Creates an empty image registry.There must be an SWT Display created in the current thread before calling this method.
-
ImageRegistry
Creates an empty image registry using the given resource manager to allocate images.- Parameters:
manager
- the resource manager used to allocate images- Since:
- 3.1
-
ImageRegistry
Creates an empty image registry.- Parameters:
display
- thisDisplay
must not benull
and must not be disposed in order to use this registry
-
-
Method Details
-
get
Returns the image associated with the given key in this registry, ornull
if none.- Parameters:
key
- the key- Returns:
- the image, or
null
if none
-
getDescriptor
Returns the descriptor associated with the given key in this registry, ornull
if none.- Parameters:
key
- the key- Returns:
- the descriptor, or
null
if none - Since:
- 2.1
-
put
Adds (or replaces) an image descriptor to this registry. The first time this new entry is retrieved, the image descriptor's image will be computed (viaImageDescriptor.createImage
) and remembered. This method replaces an existing image descriptor associated with the given key, but fails if there is a real image associated with it.- Parameters:
key
- the keydescriptor
- the ImageDescriptor- Throws:
IllegalArgumentException
- if the key already exists
-
put
Adds an image to this registry. This method fails if there is already an image or descriptor for the given key.Note that an image registry owns all of the image objects registered with it, and automatically disposes of them when the SWT Display is disposed. Because of this, clients must not register an image object that is managed by another object.
- Parameters:
key
- the keyimage
- the image, should not benull
- Throws:
IllegalArgumentException
- if the key already exists
-
remove
Removes an image from this registry. If an SWT image was allocated, it is disposed. This method has no effect if there is no image or descriptor for the given key.- Parameters:
key
- the key
-
dispose
public void dispose()Disposes this image registry, disposing any images that were allocated for it, and clearing its entries.- Since:
- 3.1
-