Class DecoratingLabelProvider

    • 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

      • 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 BaseLabelProvider
      • 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
        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
      • 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
        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
      • 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 BaseLabelProvider
        Parameters:
        element - the element
        property - the property
        Returns:
        true if the label would be affected, and false if it would be unaffected
      • 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
      • 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
      • getDecorationContext

        public IDecorationContext getDecorationContext()
        Return 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
        Since:
        3.2
      • 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.
        Since:
        3.2