Eclipse Platform
Release 3.1

org.eclipse.jface.viewers
Class DecoratingLabelProvider

java.lang.Object
  extended byorg.eclipse.jface.viewers.LabelProvider
      extended byorg.eclipse.jface.viewers.DecoratingLabelProvider
All Implemented Interfaces:
IBaseLabelProvider, IColorProvider, IFontProvider, ILabelProvider, IViewerLabelProvider

public class DecoratingLabelProvider
extends LabelProvider
implements ILabelProvider, IViewerLabelProvider, IColorProvider, IFontProvider

A decorating label provider is a label provider which combines a nested label provider and an optional decorator. The decorator decorates the label text, image, font and colors provided by the nested label provider.


Constructor Summary
DecoratingLabelProvider(ILabelProvider provider, ILabelDecorator decorator)
          Creates a decorating label provider which uses the given label decorator to decorate labels provided by the given label provider.
 
Method Summary
 void addListener(ILabelProviderListener listener)
          The DecoratingLabelProvider implementation of this IBaseLabelProvider method adds the listener to both the nested label provider and the label decorator.
 void dispose()
          The DecoratingLabelProvider implementation of this IBaseLabelProvider method disposes both the nested label provider and the label decorator.
 Color getBackground(Object element)
          Provides a background color for the given element.
 Font getFont(Object element)
          Provides a font for the given element.
 Color getForeground(Object element)
          Provides a foreground color for the given element.
 Image getImage(Object element)
          The DecoratingLabelProvider implementation of this ILabelProvider method returns the image provided by the nested label provider's getImage method, decorated with the decoration provided by the label decorator's decorateImage method.
 ILabelDecorator getLabelDecorator()
          Returns the label decorator, or null if none has been set.
 ILabelProvider getLabelProvider()
          Returns the nested label provider.
 String getText(Object element)
          The DecoratingLabelProvider implementation of this ILabelProvider method returns the text label provided by the nested label provider's getText method, decorated with the decoration provided by the label decorator's decorateText method.
 boolean isLabelProperty(Object element, String property)
          The DecoratingLabelProvider implementation of this IBaseLabelProvider method returns true if the corresponding method on the nested label provider returns true or if the corresponding method on the decorator returns true.
 void removeListener(ILabelProviderListener listener)
          The DecoratingLabelProvider implementation of this IBaseLabelProvider method removes the listener from both the nested label provider and the label decorator.
 void setLabelDecorator(ILabelDecorator decorator)
          Sets the label decorator.
protected  void updateForDecorationReady(ViewerLabel settings, Object element)
          Decoration is ready.
 void updateLabel(ViewerLabel settings, Object element)
          Updates the label for the given element.
 
Methods inherited from class org.eclipse.jface.viewers.LabelProvider
fireLabelProviderChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecoratingLabelProvider

public DecoratingLabelProvider(ILabelProvider provider,
                               ILabelDecorator decorator)
Creates a decorating label provider which uses the given label decorator to decorate labels provided by the given label provider.

Parameters:
provider - the nested label provider
decorator - the label decorator, or null if no decorator is to be used initially
Method Detail

addListener

public void addListener(ILabelProviderListener listener)
The DecoratingLabelProvider implementation of this IBaseLabelProvider method adds the listener to both the nested label provider and the label decorator.

Specified by:
addListener in interface IBaseLabelProvider
Overrides:
addListener in class LabelProvider
Parameters:
listener - a label provider listener

dispose

public void dispose()
The DecoratingLabelProvider implementation of this IBaseLabelProvider method disposes both the nested label provider and the label decorator.

Specified by:
dispose in interface IBaseLabelProvider
Overrides:
dispose in class LabelProvider

getImage

public Image getImage(Object element)
The DecoratingLabelProvider implementation of this ILabelProvider method returns the image provided by the nested label provider's getImage method, decorated with the decoration provided by the label decorator's decorateImage method.

Specified by:
getImage in interface ILabelProvider
Overrides:
getImage in class LabelProvider

getLabelDecorator

public ILabelDecorator getLabelDecorator()
Returns the label decorator, or null if none has been set.

Returns:
the label decorator, or null if none has been set.

getLabelProvider

public ILabelProvider getLabelProvider()
Returns the nested label provider.

Returns:
the nested label provider

getText

public String getText(Object element)
The DecoratingLabelProvider implementation of this ILabelProvider method returns the text label provided by the nested label provider's getText method, decorated with the decoration provided by the label decorator's decorateText method.

Specified by:
getText in interface ILabelProvider
Overrides:
getText in class LabelProvider

isLabelProperty

public boolean isLabelProperty(Object element,
                               String property)
The DecoratingLabelProvider implementation of this IBaseLabelProvider method returns true if the corresponding method on the nested label provider returns true or if the corresponding method on the decorator returns true.

Specified by:
isLabelProperty in interface IBaseLabelProvider
Overrides:
isLabelProperty in class LabelProvider

removeListener

public void removeListener(ILabelProviderListener listener)
The DecoratingLabelProvider implementation of this IBaseLabelProvider method removes the listener from both the nested label provider and the label decorator.

Specified by:
removeListener in interface IBaseLabelProvider
Overrides:
removeListener in class LabelProvider
Parameters:
listener - a label provider listener

setLabelDecorator

public void setLabelDecorator(ILabelDecorator decorator)
Sets the label decorator. Removes all known listeners from the old decorator, and adds all known listeners to the new decorator. The old decorator is not disposed. Fires a label provider changed event indicating that all labels should be updated. Has no effect if the given decorator is identical to the current one.

Parameters:
decorator - the label decorator, or null if no decorations are to be applied

updateLabel

public void updateLabel(ViewerLabel settings,
                        Object element)
Description copied from interface: IViewerLabelProvider
Updates the label for the given element.

Specified by:
updateLabel in interface IViewerLabelProvider
Parameters:
settings - the label to update
element - the element

updateForDecorationReady

protected void updateForDecorationReady(ViewerLabel settings,
                                        Object element)
Decoration is ready. Update anything else for the settings.

Parameters:
settings - The object collecting the settings.
element - The Object being decorated.
Since:
3.1

getBackground

public Color getBackground(Object element)
Description copied from interface: IColorProvider
Provides a background color for the given element.

Specified by:
getBackground in interface IColorProvider
Parameters:
element - the element
Returns:
the background color for the element, or null to use the default background color

getFont

public Font getFont(Object element)
Description copied from interface: IFontProvider
Provides a font for the given element.

Specified by:
getFont in interface IFontProvider
Parameters:
element - the element
Returns:
the font for the element, or null to use the default font

getForeground

public Color getForeground(Object element)
Description copied from interface: IColorProvider
Provides a foreground color for the given element.

Specified by:
getForeground in interface IColorProvider
Parameters:
element - the element
Returns:
the foreground color for the element, or null to use the default foreground color

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

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