Class CompositeRuler

    • Constructor Detail

      • CompositeRuler

        public CompositeRuler()
        Constructs a new composite vertical ruler.
      • CompositeRuler

        public CompositeRuler​(int gap)
        Constructs a new composite ruler with the given gap between its columns.
        Parameters:
        gap - the gap
    • Method Detail

      • addDecorator

        public void addDecorator​(int index,
                                 IVerticalRulerColumn rulerColumn)
        Inserts the given column at the specified slot to this composite ruler. Columns are counted from left to right.
        Parameters:
        index - the index
        rulerColumn - the decorator to be inserted
      • removeDecorator

        public void removeDecorator​(int index)
        Removes the decorator in the specified slot from this composite ruler.
        Parameters:
        index - the index
      • removeDecorator

        public void removeDecorator​(IVerticalRulerColumn rulerColumn)
        Removes the given decorator from the composite ruler.
        Parameters:
        rulerColumn - the ruler column to be removed
        Since:
        3.0
      • createControl

        public Control createControl​(Composite parent,
                                     ITextViewer textViewer)
        Description copied from interface: IVerticalRuler
        Creates the ruler's SWT control.
        Specified by:
        createControl in interface IVerticalRuler
        Parameters:
        parent - the parent control of the ruler's control
        textViewer - the text viewer to which this ruler belongs
        Returns:
        the ruler's SWT control
      • setModel

        public void setModel​(IAnnotationModel model)
        Description copied from interface: IVerticalRuler
        Associates an annotation model with this ruler. A value null is acceptable and clears the ruler.
        Specified by:
        setModel in interface IVerticalRuler
        Parameters:
        model - the new annotation model, may be null
      • update

        public void update()
        Description copied from interface: IVerticalRuler
        Forces the vertical ruler to synchronize itself with its annotation model and its viewer's view port.
        Specified by:
        update in interface IVerticalRuler
      • immediateUpdate

        public void immediateUpdate()
        Immediately redraws the entire ruler (without asynchronous posting).
        Since:
        3.2
      • getWidth

        public int getWidth()
        Description copied from interface: IVerticalRulerInfo
        Returns the width of this ruler's control.
        Specified by:
        getWidth in interface IVerticalRulerInfo
        Returns:
        the width of this ruler's control
      • getLineOfLastMouseButtonActivity

        public int getLineOfLastMouseButtonActivity()
        Description copied from interface: IVerticalRulerInfo
        Returns the line number of the last mouse button activity. Based on the input document of the connected text viewer.
        Specified by:
        getLineOfLastMouseButtonActivity in interface IVerticalRulerInfo
        Returns:
        the line number of the last mouse button activity or -1 if the last mouse activity does not correspond to a valid document line
      • toDocumentLineNumber

        public int toDocumentLineNumber​(int y_coordinate)
        Description copied from interface: IVerticalRulerInfo
        Translates a y-coordinate of the ruler's SWT control into the according line number of the document of the connected text viewer.
        Specified by:
        toDocumentLineNumber in interface IVerticalRulerInfo
        Parameters:
        y_coordinate - a y-coordinate of the ruler's SWT control
        Returns:
        the line number of that coordinate or -1 if that coordinate does not correspond to a valid document line
      • widgetLine2ModelLine

        protected static final int widgetLine2ModelLine​(ITextViewer viewer,
                                                        int widgetLine)
        Returns the line in the given viewer's document that correspond to the given line of the viewer's widget.
        Parameters:
        viewer - the viewer
        widgetLine - the widget line
        Returns:
        the corresponding line the viewer's document
        Since:
        2.1
      • getTextViewer

        public ITextViewer getTextViewer()
        Returns this ruler's text viewer.
        Returns:
        this ruler's text viewer
      • setLocationOfLastMouseButtonActivity

        public void setLocationOfLastMouseButtonActivity​(int x,
                                                         int y)
        Description copied from interface: IVerticalRulerExtension
        Sets the location of the last mouse button activity. This method is used for example by external mouse listeners.
        Specified by:
        setLocationOfLastMouseButtonActivity in interface IVerticalRulerExtension
        Parameters:
        x - the x-coordinate
        y - the y-coordinate
      • getDecoratorIterator

        public Iterator<IVerticalRulerColumn> getDecoratorIterator()
        Returns an iterator over the IVerticalRulerColumns that make up this composite column.
        Returns:
        an iterator over the contained columns.
        Since:
        3.0
      • fireAnnotationSelected

        public void fireAnnotationSelected​(VerticalRulerEvent event)
        Fires the annotation selected event to all registered vertical ruler listeners. TODO use robust iterators
        Parameters:
        event - the event to fire
        Since:
        3.0
      • fireAnnotationDefaultSelected

        public void fireAnnotationDefaultSelected​(VerticalRulerEvent event)
        Fires the annotation default selected event to all registered vertical ruler listeners. TODO use robust iterators
        Parameters:
        event - the event to fire
        Since:
        3.0
      • fireAnnotationContextMenuAboutToShow

        public void fireAnnotationContextMenuAboutToShow​(VerticalRulerEvent event,
                                                         Menu menu)
        Informs all registered vertical ruler listeners that the content menu on a selected annotation\ is about to be shown. TODO use robust iterators
        Parameters:
        event - the event to fire
        menu - the menu that is about to be shown
        Since:
        3.0
      • relayout

        public void relayout()
        Relayouts the receiver.
        Since:
        3.3