Class DelegatingStyledCellLabelProvider

All Implemented Interfaces:
IBaseLabelProvider, IToolTipProvider
Direct Known Subclasses:
DecoratingStyledCellLabelProvider

public class DelegatingStyledCellLabelProvider extends StyledCellLabelProvider
A DelegatingStyledCellLabelProvider is a StyledCellLabelProvider that delegates requests for the styled string and the image to a DelegatingStyledCellLabelProvider.IStyledLabelProvider.

Existing label providers can be enhanced by implementing DelegatingStyledCellLabelProvider.IStyledLabelProvider so they can be used in viewers with styled labels.

The DelegatingStyledCellLabelProvider.IStyledLabelProvider can optionally implement IColorProvider and IFontProvider to provide foreground and background color and a default font.

Since 3.10, DelegatingStyledCellLabelProvider.IStyledLabelProvider can optionally implement IToolTipProvider to provide tooltip support.

Since:
3.4
  • Constructor Details

  • Method Details

    • update

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

      public Color getForeground(Object element)
      Provides a foreground color for the given element.
      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)
      Provides a background color for the given element.
      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)
      Provides a font for the given element.
      Parameters:
      element - the element
      Returns:
      the font for the element, or null to use the default font
    • getToolTipText

      public String getToolTipText(Object element)
      Description copied from class: CellLabelProvider
      Get the text displayed in the tool tip for object.

      If CellLabelProvider.getToolTipText(Object) and CellLabelProvider.getToolTipImage(Object) both return null the control is set back to standard behavior

      Specified by:
      getToolTipText in interface IToolTipProvider
      Overrides:
      getToolTipText in class CellLabelProvider
      Parameters:
      element - the element for which the tool tip is shown
      Returns:
      the String or null if there is not text to display
    • getImage

      public Image getImage(Object element)
      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.
      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.
      Parameters:
      element - the element for which to provide the styled label text
      Returns:
      the styled text string used to label the element
    • getStyledStringProvider

      Returns the styled string provider.
      Returns:
      the wrapped label provider
    • 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 BaseLabelProvider
      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 BaseLabelProvider
      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 BaseLabelProvider
      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 StyledCellLabelProvider