Bug 79909 [JFace] Localized resource registries for JFace
Please provide improved JFace support for managing SWT resources, with the following properties: - A registry can allocate and deallocate SWT resources given a descriptor - Resources are reference-counted and shared, allowing different objects with equivalent descriptors to share resources. - Everything in the registry can be deallocated with one function call - The registry should support an open-ended set of resources (and should initially support, at minimum, Images, Fonts, Colors) - It should be possible to create a "local registry" that behaves like a regular registry but actually shares its resources with a global registry. For example, the workbench could offer a local registry as a service to views and editors. This would allow views and editors to safely allocate and deallocate SWT resources without any chance of leaking.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java
ITableLabelProvider {
    private Image image;
    final static int COLUMN_ICON = 0;
    final static int COLUMN_DESCRIPTION = 1;
    final static int COLUMN_RESOURCE = 2;
    final static int COLUMN_FOLDER = 3;
    final static int COLUMN_LOCATION = 4;
    public BookmarkLabelProvider(BookmarkNavigator view) {
        ImageDescriptor desc = view.getImageDescriptor("obj16/bkmrk_tsk.gif"); 
        image = desc.createImage();
    }
    /* (non-Javadoc)
     * Method declared on LabelProvider.
     */
    public void dispose() {
        if (image != null) {
            image.dispose();