Class MarginPainter

  • All Implemented Interfaces:
    EventListener, IPainter, PaintListener, SWTEventListener

    public class MarginPainter
    extends Object
    implements IPainter, PaintListener
    Paints a vertical line (margin line) after a given column respecting the text viewer's font.

    Clients usually instantiate and configure objects of this class.

    This class is not intended to be subclassed.

    Since:
    2.1
    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Detail

      • MarginPainter

        public MarginPainter​(ITextViewer textViewer)
        Creates a new painter for the given text viewer.
        Parameters:
        textViewer - the text viewer
    • Method Detail

      • setMarginRulerColumn

        public void setMarginRulerColumn​(int width)
        Sets the column after which to draw the margin line.
        Parameters:
        width - the column
      • setMarginRulerStyle

        public void setMarginRulerStyle​(int lineStyle)
        Sets the line style of the margin line.
        Parameters:
        lineStyle - a SWT style constant describing the line style
      • setMarginRulerWidth

        public void setMarginRulerWidth​(int lineWidth)
        Sets the line width of the margin line.
        Parameters:
        lineWidth - the line width
      • setMarginRulerColor

        public void setMarginRulerColor​(Color color)
        Sets the color of the margin line. Must be called before paint is called the first time.
        Parameters:
        color - the color
      • initialize

        public void initialize()
        Initializes this painter, by flushing and recomputing all caches and causing the widget to be redrawn.
      • deactivate

        public void deactivate​(boolean redraw)
        Description copied from interface: IPainter
        Deactivates this painter. If the painter is inactive, this call does not have any effect. redraw indicates whether the painter should remove any decoration it previously applied. A deactivated painter can be reactivated by calling paint.
        Specified by:
        deactivate in interface IPainter
        Parameters:
        redraw - true if any previously applied decoration should be removed
        See Also:
        IPainter.paint(int)
      • dispose

        public void dispose()
        Description copied from interface: IPainter
        Disposes this painter. Prior to disposing, a painter should be deactivated. A disposed painter can not be reactivated.
        Specified by:
        dispose in interface IPainter
        See Also:
        IPainter.deactivate(boolean)
      • paint

        public void paint​(int reason)
        Description copied from interface: IPainter
        Requests this painter to repaint because of the given reason. Based on the given reason the painter can decide whether it will repaint or not. If it repaints and is inactive, it will activate itself.
        Specified by:
        paint in interface IPainter
        Parameters:
        reason - the repaint reason, value is one of the constants defined in this interface
      • paintControl

        public void paintControl​(PaintEvent e)
        Description copied from interface: PaintListener
        Sent when a paint event occurs for the control.
        Specified by:
        paintControl in interface PaintListener
        Parameters:
        e - an event containing information about the paint
      • setPositionManager

        public void setPositionManager​(IPaintPositionManager manager)
        Description copied from interface: IPainter
        Sets the paint position manager that can be used by this painter or removes any previously set paint position manager.
        Specified by:
        setPositionManager in interface IPainter
        Parameters:
        manager - the paint position manager or null