Eclipse Platform
Release 3.7

org.eclipse.jface.text.source
Class CompositeRuler

java.lang.Object
  extended by org.eclipse.jface.text.source.CompositeRuler
All Implemented Interfaces:
IVerticalRuler, IVerticalRulerExtension, IVerticalRulerInfo, IVerticalRulerInfoExtension

public class CompositeRuler
extends Object
implements IVerticalRuler, IVerticalRulerExtension, IVerticalRulerInfoExtension

Standard implementation of IVerticalRuler.

This ruler does not have a a visual representation of its own. The presentation comes from the configurable list of vertical ruler columns. Such columns must implement the IVerticalRulerColumn. interface.

Clients may instantiate and configure this class.

Since:
2.0
See Also:
IVerticalRulerColumn, ITextViewer

Constructor Summary
CompositeRuler()
          Constructs a new composite vertical ruler.
CompositeRuler(int gap)
          Constructs a new composite ruler with the given gap between its columns.
 
Method Summary
 void addDecorator(int index, IVerticalRulerColumn rulerColumn)
          Inserts the given column at the specified slot to this composite ruler.
 void addVerticalRulerListener(IVerticalRulerListener listener)
          Registers a vertical ruler listener to be informed if an annotation gets selected on the vertical ruler.
 Control createControl(Composite parent, ITextViewer textViewer)
          Creates the ruler's SWT control.
 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.
 void fireAnnotationDefaultSelected(VerticalRulerEvent event)
          Fires the annotation default selected event to all registered vertical ruler listeners.
 void fireAnnotationSelected(VerticalRulerEvent event)
          Fires the annotation selected event to all registered vertical ruler listeners.
 Control getControl()
          Returns the ruler's SWT control.
 Iterator getDecoratorIterator()
          Returns an iterator over the IVerticalRulerColumns that make up this composite column.
 IAnnotationHover getHover()
          Returns the hover for this vertical ruler (column).
 int getLineOfLastMouseButtonActivity()
          Returns the line number of the last mouse button activity.
 IAnnotationModel getModel()
          Returns the current annotation model of this ruler or null if the ruler has no model.
 ITextViewer getTextViewer()
          Returns this ruler's text viewer.
 int getWidth()
          Returns the width of this ruler's control.
 void immediateUpdate()
          Immediately redraws the entire ruler (without asynchronous posting).
 void relayout()
          Relayouts the receiver.
 void removeDecorator(int index)
          Removes the decorator in the specified slot from this composite ruler.
 void removeDecorator(IVerticalRulerColumn rulerColumn)
          Removes the given decorator from the composite ruler.
 void removeVerticalRulerListener(IVerticalRulerListener listener)
          Removes a previously registered listener.
 void setFont(Font font)
          Sets the font of this vertical ruler.
 void setLocationOfLastMouseButtonActivity(int x, int y)
          Sets the location of the last mouse button activity.
 void setModel(IAnnotationModel model)
          Associates an annotation model with this ruler.
 int toDocumentLineNumber(int y_coordinate)
          Translates a y-coordinate of the ruler's SWT control into the according line number of the document of the connected text viewer.
 void update()
          Forces the vertical ruler to synchronize itself with its annotation model and its viewer's view port.
protected static 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

getControl

public Control getControl()
Description copied from interface: IVerticalRulerInfo
Returns the ruler's SWT control.

Specified by:
getControl in interface IVerticalRulerInfo
Returns:
the ruler's SWT control

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

getModel

public IAnnotationModel getModel()
Description copied from interface: IVerticalRuler
Returns the current annotation model of this ruler or null if the ruler has no model.

Specified by:
getModel in interface IVerticalRuler
Specified by:
getModel in interface IVerticalRulerInfoExtension
Returns:
this ruler's annotation model or null if there is no model

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

setFont

public void setFont(Font font)
Description copied from interface: IVerticalRulerExtension
Sets the font of this vertical ruler.

Specified by:
setFont in interface IVerticalRulerExtension
Parameters:
font - the new font of the vertical ruler

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 getDecoratorIterator()
Returns an iterator over the IVerticalRulerColumns that make up this composite column.

Returns:
an iterator over the contained columns.
Since:
3.0

getHover

public IAnnotationHover getHover()
Description copied from interface: IVerticalRulerInfoExtension
Returns the hover for this vertical ruler (column).

Specified by:
getHover in interface IVerticalRulerInfoExtension
Returns:
the hover for this column

addVerticalRulerListener

public void addVerticalRulerListener(IVerticalRulerListener listener)
Description copied from interface: IVerticalRulerInfoExtension
Registers a vertical ruler listener to be informed if an annotation gets selected on the vertical ruler.

Specified by:
addVerticalRulerListener in interface IVerticalRulerInfoExtension
Parameters:
listener - the listener to be informed

removeVerticalRulerListener

public void removeVerticalRulerListener(IVerticalRulerListener listener)
Description copied from interface: IVerticalRulerInfoExtension
Removes a previously registered listener. If listener is not registered with the receiver, calling this method has no effect.

Specified by:
removeVerticalRulerListener in interface IVerticalRulerInfoExtension
Parameters:
listener - the listener to be removed

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

Eclipse Platform
Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.