Class Index | File Index

Classes


Class orion.editor.Ruler

This interface represents a ruler for the text view.

A Ruler is a graphical element that is placed either on the left or on the right side of the view. It can be used to provide the view with per line decoration such as line numbering, bookmarks, breakpoints, folding disclosures, etc.

There are two types of rulers: page and document. A page ruler only shows the content for the lines that are visible, while a document ruler always shows the whole content.

See:
orion.editor.LineNumberRuler
orion.editor.AnnotationRuler
orion.editor.OverviewRuler
orion.editor.TextView
orion.editor.TextView#addRuler


Defined in: </jobs/genie.orion/orion-client-stable/workspace/bundles/org.eclipse.orion.client.editor/web/orion/editor/rulers.js>.

Class Summary
Constructor Attributes Constructor Name and Description
 
orion.editor.Ruler(annotationModel, rulerLocation, rulerOverview, rulerStyle)
Constructs a new ruler.
Method Summary
Method Attributes Method Name and Description
 
addAnnotationType(type, priority)
Adds an annotation type to the receiver.
 
Returns the annotation model.
 
getAnnotations(startLine, endLine)
Returns the annotations for a given line range merging multiple annotations when necessary.
 
getAnnotationsByType(annotationModel, start, end)
Returns an array of annotations in the specified annotation model for the given range of text sorted by type.
 
Gets the annotation type priority.
 
Returns the widest annotation which determines the width of the ruler.
 
Returns whether the receiver shows annotations of the specified type.
 
Removes an annotation type from the receiver.
 
setAnnotationModel(annotationModel)
Sets the annotation model for the ruler.
 
setMultiAnnotation(annotation)
Sets the annotation that is displayed when a given line contains multiple annotations.
 
Sets the annotation that overlays a line with multiple annotations.
Event Summary
Event Attributes Event Name and Description
 
onClick(lineIndex, e)
This event is sent when the user clicks a line annotation.
 
onDblClick(lineIndex, e)
This event is sent when the user double clicks a line annotation.
 
onMouseMove(lineIndex, e)
This event is sent when the user moves the mouse over a line annotation.
 
onMouseOut(lineIndex, e)
This event is sent when the mouse pointer exits a line annotation.
 
onMouseOver(lineIndex, e)
This event is sent when the mouse pointer enters a line annotation.
Class Detail
orion.editor.Ruler(annotationModel, rulerLocation, rulerOverview, rulerStyle)
Constructs a new ruler.

The default implementation does not implement all the methods in the interface and is useful only for objects implementing rulers.

Parameters:
{orion.editor.AnnotationModel} annotationModel
the annotation model for the ruler.
{String} rulerLocation Optional, Default: "left"
the location for the ruler.
{String} rulerOverview Optional, Default: "page"
the overview for the ruler.
{orion.editor.Style} rulerStyle Optional
the style for the ruler.
Method Detail
addAnnotationType(type, priority)
Adds an annotation type to the receiver.

Only annotations of the specified types will be shown by the receiver.

If the priority is not specified, the annotation type will be added to the end of the receiver's list (lowest pririoty).


Defined in: </jobs/genie.orion/orion-client-stable/workspace/bundles/org.eclipse.orion.client.editor/web/orion/editor/annotations.js>.
Parameters:
{Object} type
the annotation type to be shown
{Number} priority
the priority for the annotation type
See:
orion.editor.AnnotationTypeList#removeAnnotationType
orion.editor.AnnotationTypeList#isAnnotationTypeVisible
orion.editor.AnnotationTypeList#getAnnotationTypePriority

{orion.editor.AnnotationModel} getAnnotationModel()
Returns the annotation model.
Returns:
{orion.editor.AnnotationModel} the ruler annotation model.
See:
orion.editor.Ruler#setAnnotationModel

{orion.editor.Annotation[]} getAnnotations(startLine, endLine)
Returns the annotations for a given line range merging multiple annotations when necessary.

This method is called by the text view when the ruler is redrawn.

Parameters:
{Number} startLine
the start line index
{Number} endLine
the end line index
Returns:
{orion.editor.Annotation[]} the annotations for the line range. The array might be sparse.

{orion.editor.Annotation[]} getAnnotationsByType(annotationModel, start, end)
Returns an array of annotations in the specified annotation model for the given range of text sorted by type.
Defined in: </jobs/genie.orion/orion-client-stable/workspace/bundles/org.eclipse.orion.client.editor/web/orion/editor/annotations.js>.
Parameters:
{orion.editor.AnnotationModel} annotationModel
the annotation model.
{Number} start
the start offset of the range.
{Number} end
the end offset of the range.
Returns:
{orion.editor.Annotation[]} an annotation array.

getAnnotationTypePriority(type)
Gets the annotation type priority. The priority is determined by the order the annotation type is added to the receiver. Annotation types added first have higher priority.

Returns 0 if the annotation type is not added.


Defined in: </jobs/genie.orion/orion-client-stable/workspace/bundles/org.eclipse.orion.client.editor/web/orion/editor/annotations.js>.
Parameters:
{Object} type
the annotation type
See:
orion.editor.AnnotationTypeList#addAnnotationType
orion.editor.AnnotationTypeList#removeAnnotationType
orion.editor.AnnotationTypeList#isAnnotationTypeVisible

{orion.editor.Annotation} getWidestAnnotation()
Returns the widest annotation which determines the width of the ruler.

If the ruler does not have a fixed width it should provide the widest annotation to avoid the ruler from changing size as the view scrolls.

This method is called by the text view when the ruler is redrawn.

Returns:
{orion.editor.Annotation} the widest annotation.
See:
orion.editor.Ruler#getAnnotations

{Boolean} isAnnotationTypeVisible(type)
Returns whether the receiver shows annotations of the specified type.
Defined in: </jobs/genie.orion/orion-client-stable/workspace/bundles/org.eclipse.orion.client.editor/web/orion/editor/annotations.js>.
Parameters:
{Object} type
the annotation type
Returns:
{Boolean} whether the specified annotation type is shown
See:
orion.editor.AnnotationTypeList#addAnnotationType
orion.editor.AnnotationTypeList#removeAnnotationType

removeAnnotationType(type)
Removes an annotation type from the receiver.
Defined in: </jobs/genie.orion/orion-client-stable/workspace/bundles/org.eclipse.orion.client.editor/web/orion/editor/annotations.js>.
Parameters:
{Object} type
the annotation type to be removed
See:
orion.editor.AnnotationTypeList#addAnnotationType
orion.editor.AnnotationTypeList#isAnnotationTypeVisible

setAnnotationModel(annotationModel)
Sets the annotation model for the ruler.
Parameters:
{orion.editor.AnnotationModel} annotationModel
the annotation model.
See:
orion.editor.Ruler#getAnnotationModel

setMultiAnnotation(annotation)
Sets the annotation that is displayed when a given line contains multiple annotations. This annotation is used when there are different types of annotations in a given line.
Parameters:
{orion.editor.Annotation} annotation
the annotation for lines with multiple annotations.
See:
orion.editor.Ruler#setMultiAnnotationOverlay

setMultiAnnotationOverlay(annotation)
Sets the annotation that overlays a line with multiple annotations. This annotation is displayed on top of the computed annotation for a given line when there are multiple annotations of the same type in the line. It is also used when the multiple annotation is not set.
Parameters:
{orion.editor.Annotation} annotation
the annotation overlay for lines with multiple annotations.
See:
orion.editor.Ruler#setMultiAnnotation
Event Detail
onClick(lineIndex, e)
This event is sent when the user clicks a line annotation. We select an annotation on the line using the following logic: 1) If no selection or selection is on another line, select the first annotation 2) If an annotation is selected, select the next annotation in the model 3) If there is a selection that does not match an annotation, select the first annotation after the selection start
Parameters:
{Number} lineIndex
the line index of the annotation under the pointer.
{DOMEvent} e
the click event.

onDblClick(lineIndex, e)
This event is sent when the user double clicks a line annotation.
Parameters:
{Number} lineIndex
the line index of the annotation under the pointer.
{DOMEvent} e
the double click event.

onMouseMove(lineIndex, e)
This event is sent when the user moves the mouse over a line annotation.
Parameters:
{Number} lineIndex
the line index of the annotation under the pointer.
{DOMEvent} e
the mouse move event.

onMouseOut(lineIndex, e)
This event is sent when the mouse pointer exits a line annotation.
Parameters:
{Number} lineIndex
the line index of the annotation under the pointer.
{DOMEvent} e
the mouse out event.

onMouseOver(lineIndex, e)
This event is sent when the mouse pointer enters a line annotation.
Parameters:
{Number} lineIndex
the line index of the annotation under the pointer.
{DOMEvent} e
the mouse over event.

Documentation generated by JsDoc Toolkit 2.4.0 on Thu Jun 29 2017 14:37:21 GMT-0400 (EDT)