Class DefaultDamagerRepairer

    • Field Detail

      • fDocument

        protected IDocument fDocument
        The document this object works on
      • fDefaultTextAttribute

        protected TextAttribute fDefaultTextAttribute
        The default text attribute if non is returned as data by the current token
    • Constructor Detail

      • DefaultDamagerRepairer

        @Deprecated
        public DefaultDamagerRepairer​(ITokenScanner scanner,
                                      TextAttribute defaultTextAttribute)
        Deprecated.
        use DefaultDamagerRepairer(ITokenScanner) instead
        Creates a damager/repairer that uses the given scanner and returns the given default text attribute if the current token does not carry a text attribute.
        Parameters:
        scanner - the token scanner to be used
        defaultTextAttribute - the text attribute to be returned if non is specified by the current token, may not be null
      • DefaultDamagerRepairer

        public DefaultDamagerRepairer​(ITokenScanner scanner)
        Creates a damager/repairer that uses the given scanner. The scanner may not be null and is assumed to return only token that carry text attributes.
        Parameters:
        scanner - the token scanner to be used, may not be null
    • Method Detail

      • endOfLineOf

        protected int endOfLineOf​(int offset)
                           throws BadLocationException
        Returns the end offset of the line that contains the specified offset or if the offset is inside a line delimiter, the end offset of the next line.
        Parameters:
        offset - the offset whose line end offset must be computed
        Returns:
        the line end offset for the given offset
        Throws:
        BadLocationException - if offset is invalid in the current document
      • getDamageRegion

        public IRegion getDamageRegion​(ITypedRegion partition,
                                       DocumentEvent e,
                                       boolean documentPartitioningChanged)
        Returns the damage in the document's presentation caused by the given document change. The damage is restricted to the specified partition for which the presentation damager is responsible. The damage may also depend on whether the document change also caused changes of the document's partitioning.

        This implementation damages entire lines unless clipped by the given partition.

        Specified by:
        getDamageRegion in interface IPresentationDamager
        Parameters:
        partition - the partition inside which the damage must be determined
        e - the event describing the change whose damage must be determined
        documentPartitioningChanged - indicates whether the given change changed the document's partitioning
        Returns:
        the full lines containing the document changes described by the document event, clipped by the given partition. If there was a partitioning change then the whole partition is returned.
      • createPresentation

        public void createPresentation​(TextPresentation presentation,
                                       ITypedRegion region)
        Description copied from interface: IPresentationRepairer
        Fills the given presentation with the style ranges which when applied to the presentation reconciler's text viewer repair the presentation damage described by the given region.
        Specified by:
        createPresentation in interface IPresentationRepairer
        Parameters:
        presentation - the text presentation to be filled by this repairer
        region - the damage to be repaired
      • getTokenTextAttribute

        protected TextAttribute getTokenTextAttribute​(IToken token)
        Returns a text attribute encoded in the given token. If the token's data is not null and a text attribute it is assumed that it is the encoded text attribute. It returns the default text attribute if there is no encoded text attribute found.
        Parameters:
        token - the token whose text attribute is to be determined
        Returns:
        the token's text attribute
      • addRange

        protected void addRange​(TextPresentation presentation,
                                int offset,
                                int length,
                                TextAttribute attr)
        Adds style information to the given text presentation.
        Parameters:
        presentation - the text presentation to be extended
        offset - the offset of the range to be styled
        length - the length of the range to be styled
        attr - the attribute describing the style of the range to be styled