Class orion.editor.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.editor.TextView
orion.editor.TextModel
orion.editor.TextView#setModel
Defined in: </shared/eclipse/e4/orion/I201404012230/bundles/org.eclipse.orion.client.editor/web/orion/editor/projectionTextModel.js>.
Constructor Attributes | Constructor Name and Description |
---|---|
orion.editor.ProjectionTextModel(baseModel)
Constructs a new
ProjectionTextModel based on the specified TextModel . |
Method Attributes | Method Name and Description |
---|---|
addEventListener(type, listener, useCapture)
Adds an event listener to this event target.
|
|
addProjection(projection)
Adds a projection range to the model.
|
|
destroy()
Destroys this projection text model.
|
|
dispatchEvent(evt)
Dispatches the given event to the listeners added to this event target.
|
|
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)
|
|
removeEventListener(type, listener, useCapture)
Removes an event listener from the event target.
|
|
removeProjection(projection)
Removes a projection range from the model.
|
|
setLineDelimiter(lineDelimiter)
|
|
setText(text, start, end)
|
ProjectionTextModel
based on the specified TextModel
.
- Parameters:
- {orion.editor.TextModel} baseModel
- The base text model.
Defined in: </shared/eclipse/e4/orion/I201404012230/bundles/org.eclipse.orion.client.editor/web/orion/editor/eventTarget.js>.
- Parameters:
- {String} type
- The event type.
- {Function|EventListener} listener
- The function or the EventListener that will be executed when the event happens.
- {Boolean} useCapture Optional, Default: false
true
if the listener should be trigged in the capture phase.
The model must notify the listeners before and after the the text is changed by calling #onChanging and #onChanged respectively.
- Parameters:
- {orion.editor.Projection} projection
- The projection range to be added.
Defined in: </shared/eclipse/e4/orion/I201404012230/bundles/org.eclipse.orion.client.editor/web/orion/editor/eventTarget.js>.
- Parameters:
- {Event} evt
- The event to dispatch.
- Returns:
- {orion.editor.TextModel} The base text model.
- Parameters:
- lineIndex
- includeDelimiter
- Parameters:
- offset
- Parameters:
- lineIndex
- includeDelimiter
- Parameters:
- lineIndex
- Returns:
- {orion.editor.Projection[]} The projection ranges.
- Parameters:
- start
- end
- 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
- Parameters:
- modelChangedEvent
- Parameters:
- modelChangingEvent
All the parameters must be the same ones used to add the listener.
Defined in: </shared/eclipse/e4/orion/I201404012230/bundles/org.eclipse.orion.client.editor/web/orion/editor/eventTarget.js>.
- Parameters:
- {String} type
- The event type
- {Function|EventListener} listener
- The function or the EventListener that will be executed when the event happens.
- {Boolean} useCapture Optional, Default: false
true
if the listener should be trigged in the capture phase.
The model must notify the listeners before and after the the text is changed by calling #onChanging and #onChanged respectively.
- Parameters:
- {orion.editor.Projection} projection
- The projection range to be removed.
- Parameters:
- lineDelimiter
- Parameters:
- text
- start
- end