Eclipse Platform
Release 3.0

org.eclipse.jface.resource
Class ColorRegistry

java.lang.Object
  extended byorg.eclipse.jface.resource.ResourceRegistry
      extended byorg.eclipse.jface.resource.ColorRegistry

public class ColorRegistry
extends ResourceRegistry

A color registry maintains a mapping between symbolic color names and SWT Colors.

A color registry owns all of the Color objects registered with it, and automatically disposes of them when the SWT Display that creates the Colors is disposed. Because of this, clients do not need to (indeed, must not attempt to) dispose of Color objects themselves.

Methods are provided for registering listeners that will be kept apprised of changes to list of registed colors.

Clients may instantiate this class (it was not designed to be subclassed).

Since:
3.0

Field Summary
protected  Display display
          This registries Display.
protected  Runnable displayRunnable
          Runnable that cleans up the manager on disposal of the display.
 
Constructor Summary
ColorRegistry()
          Create a new instance of the receiver that is hooked to the current display.
ColorRegistry(Display display)
          Create a new instance of the receiver.
 
Method Summary
protected  void clearCaches()
          Disposes all currently allocated resources.
 Color get(String symbolicName)
          Returns the color associated with the given symbolic color name, or null if no such definition exists.
 Set getKeySet()
           
 RGB getRGB(String symbolicName)
          Returns the color data associated with the given symbolic color name.
 boolean hasValueFor(String colorKey)
          Return whether or not the receiver has a value for the supplied key.
 void put(String symbolicName, RGB colorData)
          Adds (or replaces) a color to this color registry under the given symbolic name.
 
Methods inherited from class org.eclipse.jface.resource.ResourceRegistry
addListener, fireMappingChanged, removeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

display

protected Display display
This registries Display. All colors will be allocated using it.


displayRunnable

protected Runnable displayRunnable
Runnable that cleans up the manager on disposal of the display.

Constructor Detail

ColorRegistry

public ColorRegistry()
Create a new instance of the receiver that is hooked to the current display.

See Also:
Display.getCurrent()

ColorRegistry

public ColorRegistry(Display display)
Create a new instance of the receiver.

Parameters:
display - the Display to hook into.
Method Detail

get

public Color get(String symbolicName)
Returns the color associated with the given symbolic color name, or null if no such definition exists.

Parameters:
symbolicName - symbolic color name
Returns:
the Color or null

getKeySet

public Set getKeySet()
Specified by:
getKeySet in class ResourceRegistry
Returns:
the set of keys this manager knows about. This collection should be immutable.

getRGB

public RGB getRGB(String symbolicName)
Returns the color data associated with the given symbolic color name.

Parameters:
symbolicName - symbolic color name.
Returns:
the RGB data.

clearCaches

protected void clearCaches()
Description copied from class: ResourceRegistry
Disposes all currently allocated resources.

Specified by:
clearCaches in class ResourceRegistry

hasValueFor

public boolean hasValueFor(String colorKey)
Description copied from class: ResourceRegistry
Return whether or not the receiver has a value for the supplied key.

Specified by:
hasValueFor in class ResourceRegistry
Parameters:
colorKey - the key
Returns:
true if there is a value for this key

put

public void put(String symbolicName,
                RGB colorData)
Adds (or replaces) a color to this color registry under the given symbolic name.

A property change event is reported whenever the mapping from a symbolic name to a color changes. The source of the event is this registry; the property name is the symbolic color name.

Parameters:
symbolicName - the symbolic color name
colorData - an RGB object

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

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