Class DecoratingStyledCellLabelProvider

All Implemented Interfaces:
IBaseLabelProvider, IToolTipProvider

public class DecoratingStyledCellLabelProvider extends DelegatingStyledCellLabelProvider
A DecoratingStyledCellLabelProvider is a DelegatingStyledCellLabelProvider that uses a nested DelegatingStyledCellLabelProvider.IStyledLabelProvider to compute styled text label and image and takes a ILabelDecorator to decorate the label.

Use this label provider as a replacement for the DecoratingLabelProvider when decorating styled text labels.

The DecoratingStyledCellLabelProvider will try to evaluate the text decoration added by the ILabelDecorator and will apply the style returned by getDecorationStyle(Object)

The ILabelDecorator can optionally implement IColorDecorator and IFontDecorator to provide foreground and background color and font decoration.

Since:
3.4
  • Constructor Details

  • Method Details

    • getDecorationContext

      public IDecorationContext getDecorationContext()
      Returns the decoration context associated with this label provider. It will be passed to the decorator if the decorator is an instance of LabelDecorator.
      Returns:
      the decoration context associated with this label provider
    • setDecorationContext

      public void setDecorationContext(IDecorationContext decorationContext)
      Set the decoration context that will be based to the decorator for this label provider if that decorator implements LabelDecorator.
      Parameters:
      decorationContext - the decoration context.
    • update

      public void update(ViewerCell cell)
      Description copied from class: CellLabelProvider
      Update the label for cell.
      Overrides:
      update in class DelegatingStyledCellLabelProvider
      Parameters:
      cell - ViewerCell
    • getForeground

      public Color getForeground(Object element)
      Description copied from class: DelegatingStyledCellLabelProvider
      Provides a foreground color for the given element.
      Overrides:
      getForeground in class DelegatingStyledCellLabelProvider
      Parameters:
      element - the element
      Returns:
      the foreground color for the element, or null to use the default foreground color
    • getBackground

      public Color getBackground(Object element)
      Description copied from class: DelegatingStyledCellLabelProvider
      Provides a background color for the given element.
      Overrides:
      getBackground in class DelegatingStyledCellLabelProvider
      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 class: DelegatingStyledCellLabelProvider
      Provides a font for the given element.
      Overrides:
      getFont in class DelegatingStyledCellLabelProvider
      Parameters:
      element - the element
      Returns:
      the font for the element, or null to use the default font
    • getImage

      public Image getImage(Object element)
      Description copied from class: DelegatingStyledCellLabelProvider
      Returns the image for the label of the given element. The image is owned by the label provider and must not be disposed directly. Instead, dispose the label provider when no longer needed.
      Overrides:
      getImage in class DelegatingStyledCellLabelProvider
      Parameters:
      element - the element for which to provide the label image
      Returns:
      the image used to label the element, or null if there is no image for the given object
    • getStyledText

      protected StyledString getStyledText(Object element)
      Returns the styled text for the label of the given element.
      Overrides:
      getStyledText in class DelegatingStyledCellLabelProvider
      Parameters:
      element - the element for which to provide the styled label text
      Returns:
      the styled text string used to label the element
    • getDecorationStyle

      protected StyledString.Styler getDecorationStyle(Object element)
      Sets the StyledString.Styler to be used for string decorations. By default the decoration style. Clients can override. Note that it is the client's responsibility to react on color changes of the decoration color by refreshing the view
      Parameters:
      element - the element that has been decorated
      Returns:
      return the decoration style
    • getLabelDecorator

      public ILabelDecorator getLabelDecorator()
      Returns the decorator or null if no decorator is installed
      Returns:
      the decorator or null if no decorator is installed
    • setLabelDecorator

      public void setLabelDecorator(ILabelDecorator newDecorator)
      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:
      newDecorator - the label decorator, or null if no decorations are to be applied
    • addListener

      public void addListener(ILabelProviderListener listener)
      Description copied from interface: IBaseLabelProvider
      Adds a listener to this label provider. Has no effect if an identical listener is already registered.

      Label provider listeners are informed about state changes that affect the rendering of the viewer that uses this label provider.

      Specified by:
      addListener in interface IBaseLabelProvider
      Overrides:
      addListener in class DelegatingStyledCellLabelProvider
      Parameters:
      listener - a label provider listener
    • removeListener

      public void removeListener(ILabelProviderListener listener)
      Description copied from interface: IBaseLabelProvider
      Removes a listener to this label provider. Has no effect if an identical listener is not registered.
      Specified by:
      removeListener in interface IBaseLabelProvider
      Overrides:
      removeListener in class DelegatingStyledCellLabelProvider
      Parameters:
      listener - a label provider listener
    • isLabelProperty

      public boolean isLabelProperty(Object element, String property)
      Description copied from class: BaseLabelProvider
      The BaseLabelProvider implementation of this IBaseLabelProvider method returns true. Subclasses may override.
      Specified by:
      isLabelProperty in interface IBaseLabelProvider
      Overrides:
      isLabelProperty in class DelegatingStyledCellLabelProvider
      Parameters:
      element - the element
      property - the property
      Returns:
      true if the label would be affected, and false if it would be unaffected
    • dispose

      public void dispose()
      Description copied from class: BaseLabelProvider
      The BaseLabelProvider implementation of this IBaseLabelProvider method clears its internal listener list. Subclasses may extend but should call the super implementation.
      Specified by:
      dispose in interface IBaseLabelProvider
      Overrides:
      dispose in class DelegatingStyledCellLabelProvider