Class LabelProvider

All Implemented Interfaces:
IProviderFlagsChangeListener, DelegatingStyledCellLabelProvider.IStyledLabelProvider, IBaseLabelProvider, ILabelProvider, ITableColorProvider, ITableLabelProvider, IToolTipProvider, ICommonLabelProvider, IDescriptionProvider, IMementoAware

The IIZI general purpose label provider.

The label provider implementation is straight-forward. Its task is to produce a textual and graphical representation of every element. In addition, it implements the IDescriptionProvider interface to provide description in the status bar when an element is selected. Please note, that this class is not CNF-specific but is related to JFace ContentProvider and JFace LabelProvider, as usual for any Viewer.

Author:
Christopher Mindus
  • Constructor Details

    • LabelProvider

      public LabelProvider()
      Eclipse constructor.
    • LabelProvider

      public LabelProvider(int flags)
      Constructor.
      Parameters:
      flags - The flags for the information.
  • Method Details

    • getJavaElementLabelProvider

      public static JavaElementLabelProvider getJavaElementLabelProvider()
      Gets the Java element label provider, allocates it if required.
    • getJavaElementLabelProvider_LargeImages

      public static JavaElementLabelProvider getJavaElementLabelProvider_LargeImages()
      Gets the Java element label provider for large images, allocates it if required.
    • onNewFlags

      public void onNewFlags(int flags)
      Called when the flags changed.
      Specified by:
      onNewFlags in interface IProviderFlagsChangeListener
      Parameters:
      flags - The flags from INavigatorPresentation.
    • setFlags

      public void setFlags(int flags)
      Sets the flags.
    • getFlags

      public int getFlags()
      Gets the flags.
    • init

      public void init(ICommonContentExtensionSite aConfig)
      Initialize the label provider with the given configuration.
      Specified by:
      init in interface ICommonLabelProvider
      Parameters:
      aConfig - The extension site provides information that some extensions will find useful to configure themselves properly in a particular viewer.
    • restoreState

      public void restoreState(IMemento aMemento)
      Specified by:
      restoreState in interface IMementoAware
    • saveState

      public void saveState(IMemento aMemento)
      Specified by:
      saveState in interface IMementoAware
    • dispose

      public void dispose()
      Disposes of the label provider.
      Specified by:
      dispose in interface IBaseLabelProvider
      Overrides:
      dispose in class StyledCellLabelProvider
    • isLabelProperty

      public boolean isLabelProperty(Object element, String property)
      Returns whether the label would be affected by a change to the given property of the given element. This can be used to optimize a non-structural viewer update. If the property mentioned in the update does not affect the label, then the viewer need not update the label.
      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.
    • 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.
      Specified by:
      getImage in interface DelegatingStyledCellLabelProvider.IStyledLabelProvider
      Specified by:
      getImage in interface ILabelProvider
      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.
    • getText

      public String getText(Object element)
      Returns the text for the label of the given element.
      Specified by:
      getText in interface ILabelProvider
      Parameters:
      element - The element for which to provide the label text.
      Returns:
      The text string used to label the element, or null if there is no text label for the given object.
    • getStyledText

      public StyledString getStyledText(Object element)
      Returns the styled text label for the given element
      Specified by:
      getStyledText in interface DelegatingStyledCellLabelProvider.IStyledLabelProvider
      Parameters:
      element - The element to evaluate the styled string for.
      Returns:
      The styled string.
    • getDescription

      public String getDescription(Object element)
      Provide a description for the status bar view, if available. A default string of the form "(x) items selected" will be used if this method choose to return null.

      The empty string ("") will be respected as a valid value if returned. Return null if the extension defers to the default method of supplying status bar descriptions.

      Specified by:
      getDescription in interface IDescriptionProvider
      Parameters:
      element - The element selected in the Navigator.
      Returns:
      A description for the status bar view, or null if not available.
    • getColumnImage

      public Image getColumnImage(Object element, int columnIndex)
      Returns the label image for the given column of the given element.
      Specified by:
      getColumnImage in interface ITableLabelProvider
      Parameters:
      element - The object representing the entire row, or null indicating that no input object is set in the viewer.
      columnIndex - The zero-based index of the column in which the label appears.
      Returns:
      Image or null if there is no image for the given object at columnIndex.
    • getColumnText

      public String getColumnText(Object element, int columnIndex)
      Returns the label text for the given column of the given element.
      Specified by:
      getColumnText in interface ITableLabelProvider
      Parameters:
      element - The object representing the entire row, or null indicating that no input object is set in the viewer.
      columnIndex - The zero-based index of the column in which the label appears.
      Returns:
      String or or null if there is no text for the given object at columnIndex.
    • getForeground

      public Color getForeground(Object element, int columnIndex)
      Provides a foreground color for the given element.
      Specified by:
      getForeground in interface ITableColorProvider
      Parameters:
      element - The element.
      columnIndex - The zero-based index of the column in which the color appears.
      Returns:
      The foreground color for the element, or null to use the default foreground color.
    • getBackground

      public Color getBackground(Object element, int columnIndex)
      Provides a background color for the given element at the specified index
      Specified by:
      getBackground in interface ITableColorProvider
      Parameters:
      element - The element.
      columnIndex - The zero-based index of the column in which the color appears
      Returns:
      The background color for the element, or null to use the default background color.