Class orion.textview.ProjectionTextModel
The ProjectionTextModel
represents a projection of its base text
model. Projection ranges can be added to the projection text model to hide and/or insert
ranges to the base text model.
The contents of the projection text model is modified when changes occur in the base model, projection model or by calls to #addProjection and #removeProjection.
See:
orion.textview.TextView
orion.textview.TextModel
orion.textview.TextView#setModel
Defined in: </shared/eclipse/e4/orion/I201110211442/plugins/org.eclipse.orion.client.editor/web/orion/textview/projectionTextModel.js>.
Constructor Attributes | Constructor Name and Description |
---|---|
orion.textview.ProjectionTextModel(baseModel)
Constructs a new
ProjectionTextModel based on the specified TextModel . |
Method Attributes | Method Name and Description |
---|---|
addListener(listener)
|
|
addProjection(projection)
Adds a projection range to the model.
|
|
Gets the base text model.
|
|
getLine(lineIndex, includeDelimiter)
|
|
getLineAtOffset(offset)
|
|
getLineEnd(lineIndex, includeDelimiter)
|
|
getLineStart(lineIndex)
|
|
Returns all projection ranges of this model.
|
|
getText(start, end)
|
|
mapOffset(offset, baseOffset)
Maps offsets between the projection model and its base model.
|
|
onChanged(modelChangedEvent)
|
|
onChanging(modelChangingEvent)
|
|
removeListener(listener)
|
|
removeProjection(projection)
Removes a projection range from the model.
|
|
setLineDelimiter(lineDelimiter)
|
|
setText(text, start, end)
|
Class Detail
orion.textview.ProjectionTextModel(baseModel)
Constructs a new
ProjectionTextModel
based on the specified TextModel
.
- Parameters:
- {orion.textview.TextModel} baseModel
- The base text model.
Method Detail
addListener(listener)
- Parameters:
- listener
addProjection(projection)
Adds a projection range to the model.
The model must notify the listeners before and after the the text is changed by calling #onChanging and #onChanged respectively.
- Parameters:
- {orion.textview.Projection} projection
- The projection range to be added.
- See:
- #removeProjection
{orion.textview.TextModel}
getBaseModel()
Gets the base text model.
- Returns:
- {orion.textview.TextModel} The base text model.
getCharCount()
getLine(lineIndex, includeDelimiter)
- Parameters:
- lineIndex
- includeDelimiter
getLineAtOffset(offset)
- Parameters:
- offset
getLineCount()
getLineDelimiter()
getLineEnd(lineIndex, includeDelimiter)
- Parameters:
- lineIndex
- includeDelimiter
getLineStart(lineIndex)
- Parameters:
- lineIndex
{orion.textview.Projection[]}
getProjections()
Returns all projection ranges of this model.
- Returns:
- {orion.textview.Projection[]} The projection ranges.
- See:
- #addProjection
getText(start, end)
- Parameters:
- start
- end
{Number}
mapOffset(offset, baseOffset)
Maps offsets between the projection model and its base model.
- Parameters:
- {Number} offset
- The offset to be mapped.
- {Boolean} baseOffset Optional, Default: false
true
ifoffset
is in base model and should be mapped to the projection model.
- Returns:
- {Number} The mapped offset
onChanged(modelChangedEvent)
- Parameters:
- modelChangedEvent
onChanging(modelChangingEvent)
- Parameters:
- modelChangingEvent
removeListener(listener)
- Parameters:
- listener
removeProjection(projection)
Removes a projection range from the model.
The model must notify the listeners before and after the the text is changed by calling #onChanging and #onChanged respectively.
- Parameters:
- {orion.textview.Projection} projection
- The projection range to be removed.
- See:
- #addProjection
setLineDelimiter(lineDelimiter)
- Parameters:
- lineDelimiter
setText(text, start, end)
- Parameters:
- text
- start
- end