Class orion.editor.TextView
A TextView is a user interface for editing text.
Defined in: </shared/eclipse/e4/orion/I201404012230/bundles/org.eclipse.orion.client.editor/web/orion/editor/textView.js>.
Constructor Attributes | Constructor Name and Description |
---|---|
orion.editor.TextView(options)
Constructs a new text view.
|
Method Attributes | Method Name and Description |
---|---|
addEventListener(type, listener, useCapture)
Adds an event listener to this event target.
|
|
addKeyMode(mode, index)
Adds a keyMode to the text view at the specified position.
|
|
addRuler(ruler, index)
Adds a ruler to the text view at the specified position.
|
|
convert(rect, from, to)
Converts the given rectangle from one coordinate spaces to another.
|
|
destroy()
Destroys the text view.
|
|
dispatchEvent(evt)
Dispatches the given event to the listeners added to this event target.
|
|
focus()
Gives focus to the text view.
|
|
getActionDescription(actionID)
Returns the action description for a given action ID.
|
|
getActions(defaultAction)
Returns all action IDs defined in the text view.
|
|
getBottomIndex(fullyVisible)
Returns the bottom index.
|
|
Returns the bottom pixel.
|
|
Returns the caret offset relative to the start of the document.
|
|
Returns the client area.
|
|
Returns the horizontal pixel.
|
|
getKeyBindings(actionID)
Returns all the key bindings associated to the given action ID.
|
|
Returns all the key modes added to text view.
|
|
<static> |
orion.editor.TextView.getLineAtOffset(offset)
Compute the editor line number for the given offset
|
getLineAtOffset(offset)
|
|
getLineHeight(lineIndex)
Returns the line height for a given line index.
|
|
getLineIndex(y)
Returns the line index for a given line pixel position relative to the document.
|
|
getLinePixel(lineIndex)
Returns the top pixel position of a given line index relative to the beginning
of the document.
|
|
getLineStart(line)
|
|
<static> |
orion.editor.TextView.getLineStart(line)
Compute the editor start offset of the given line number
|
getLocationAtOffset(offset)
Returns the {x, y} pixel location of the top-left corner of the character
bounding box at the specified offset in the document.
|
|
getModel()
Returns the text model of the text view.
|
|
getNextOffset(offset, options)
Returns the next character offset after the given offset and options
|
|
getOffsetAtLocation(x, y)
Returns the character offset nearest to the given pixel location.
|
|
getOptions(options)
Returns the specified view options.
|
|
Get the view rulers.
|
|
Returns the text view selection.
|
|
getText(start, end)
Returns the text for the given range.
|
|
getTopIndex(fullyVisible)
Returns the top index.
|
|
Returns the top pixel.
|
|
hasFocus()
Check if the text view has focus.
|
|
invokeAction(actionID, defaultAction, actionOptions)
Executes the action handler associated with the given action ID.
|
|
Returns if the view is destroyed.
|
|
onDrag(dragEvent)
|
|
onDragEnd(dragEvent)
|
|
onDragEnter(dragEvent)
|
|
onDragLeave(dragEvent)
|
|
onDragOver(dragEvent)
|
|
onDragStart(dragEvent)
|
|
onDrop(dragEvent)
|
|
onMouseDown(mouseEvent)
|
|
onMouseMove(mouseEvent)
|
|
onMouseOut(mouseEvent)
|
|
onMouseOver(mouseEvent)
|
|
onMouseUp(mouseEvent)
|
|
redraw()
Redraws the entire view, including rulers.
|
|
redrawLines(startLine, endLine, ruler)
Redraws the text in the given line range.
|
|
redrawRange(start, end)
Redraws the text in the given range.
|
|
redrawRulers(startLine, endLine)
|
|
removeEventListener(type, listener, useCapture)
Removes an event listener from the event target.
|
|
removeKeyMode(mode)
Removes a key mode from the text view.
|
|
removeRuler(ruler)
Removes a ruler from the text view.
|
|
resize()
|
|
setAction(actionID, handler, actionDescription)
Associates an application defined handler to an action ID.
|
|
setCaretOffset(caret, show, callback)
Sets the caret offset relative to the start of the document.
|
|
setHorizontalPixel(pixel)
Sets the horizontal pixel.
|
|
setKeyBinding(keyBinding, actionID)
Associates a key binding with the given action ID.
|
|
setModel(model)
Sets the text model of the text view.
|
|
setOptions(options)
Sets the view options for the view.
|
|
setRedraw(redraw)
Sets whether the view should update the DOM.
|
|
setSelection(start, end, show, callback)
Sets the text view selection.
|
|
setText(text, start, end)
Replaces the text in the given range with the given text.
|
|
setTopIndex(topIndex)
Sets the top index.
|
|
setTopPixel(pixel)
Sets the top pixel.
|
|
Scrolls the selection into view if needed.
|
|
update(styleChanged, sync)
|
Event Attributes | Event Name and Description |
---|---|
onBlur(blurEvent)
This event is sent when the text view goes out of focus.
|
|
onContextMenu(contextMenuEvent)
This event is sent when the user invokes the view context menu.
|
|
onDestroy(destroyEvent)
This event is sent when the text view has been destroyed.
|
|
onFocus(focusEvent)
This event is sent when the text view is focused.
|
|
onKeyDown(keyEvent)
This event is sent for key down events.
|
|
onKeyPress(keyEvent)
This event is sent for key press events.
|
|
onKeyUp(keyEvent)
This event is sent for key up events.
|
|
onLineStyle(lineStyleEvent)
This event is sent when the text view needs the style information for a line.
|
|
onModelChanged(modelChangedEvent)
This event is sent when the text in the model has changed.
|
|
onModelChanging(modelChangingEvent)
This event is sent when the text in the model is about to change.
|
|
onModify(modifyEvent)
This event is sent when the text view has changed text in the model.
|
|
onScroll(scrollEvent)
This event is sent when the text view scrolls vertically or horizontally.
|
|
onSelection(selectionEvent)
This event is sent when the text view selection has changed.
|
|
onVerify(verifyEvent)
This event is sent when the text view is about to change text in the model.
|
- Parameters:
- {orion.editor.TextViewOptions} options
- the view options.
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.
- Parameters:
- {orion.editor.KeyMode} mode
- the editor keyMode.
- {Number} index Optional, Default: length
- the index.
The position is relative to the ruler location.
- Parameters:
- {orion.editor.Ruler} ruler
- the ruler.
- {Number} index Optional, Default: length
- the ruler index.
The supported coordinate spaces are:
- "document" - relative to document, the origin is the top-left corner of first line
- "page" - relative to html page that contains the text view
All methods in the view that take or return a position are in the document coordinate space.
- Parameters:
- rect
- the rectangle to convert.
- rect.x
- the x of the rectangle.
- rect.y
- the y of the rectangle.
- rect.width
- the width of the rectangle.
- rect.height
- the height of the rectangle.
- {String} from
- the source coordinate space.
- {String} to
- the destination coordinate space.
- See:
- orion.editor.TextView#getLocationAtOffset
- orion.editor.TextView#getOffsetAtLocation
- orion.editor.TextView#getTopPixel
- orion.editor.TextView#setTopPixel
Removes the view from the page and frees all resources created by the view. Calling this function causes the "Destroy" event to be fire so that all components attached to view can release their references.
- See:
- orion.editor.TextView#onDestroy
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.
- Parameters:
- actionID
- Returns:
- {orion.editor.ActionDescrition} the action description
There are two types of actions, the predefined actions of the view and the actions added by application code.
The predefined actions are:
- Navigation actions. These actions move the caret collapsing the selection.
- "lineUp" - moves the caret up by one line
- "lineDown" - moves the caret down by one line
- "lineStart" - moves the caret to beginning of the current line
- "lineEnd" - moves the caret to end of the current line
- "charPrevious" - moves the caret to the previous character
- "charNext" - moves the caret to the next character
- "pageUp" - moves the caret up by one page
- "pageDown" - moves the caret down by one page
- "wordPrevious" - moves the caret to the previous word
- "wordNext" - moves the caret to the next word
- "textStart" - moves the caret to the beginning of the document
- "textEnd" - moves the caret to the end of the document
- Selection actions. These actions move the caret extending the selection.
- "selectLineUp" - moves the caret up by one line
- "selectLineDown" - moves the caret down by one line
- "selectLineStart" - moves the caret to beginning of the current line
- "selectLineEnd" - moves the caret to end of the current line
- "selectCharPrevious" - moves the caret to the previous character
- "selectCharNext" - moves the caret to the next character
- "selectPageUp" - moves the caret up by one page
- "selectPageDown" - moves the caret down by one page
- "selectWordPrevious" - moves the caret to the previous word
- "selectWordNext" - moves the caret to the next word
- "selectTextStart" - moves the caret to the beginning of the document
- "selectTextEnd" - moves the caret to the end of the document
- "selectAll" - selects the entire document
- Edit actions. These actions modify the text view text
- "deletePrevious" - deletes the character preceding the caret
- "deleteNext" - deletes the charecter following the caret
- "deleteWordPrevious" - deletes the word preceding the caret
- "deleteWordNext" - deletes the word following the caret
- "tab" - inserts a tab character at the caret
- "shiftTab" - noop
- "toggleTabMode" - toggles tab mode.
- "toggleWrapMode" - toggles wrap mode.
- "toggleOverwriteMode" - toggles overwrite mode.
- "enter" - inserts a line delimiter at the caret
- Clipboard actions.
- "copy" - copies the selected text to the clipboard
- "cut" - copies the selected text to the clipboard and deletes the selection
- "paste" - replaces the selected text with the clipboard contents
- Parameters:
- {Boolean} defaultAction Optional, Default: false
- whether or not the predefined actions are included.
- Returns:
- {String[]} an array of action IDs defined in the text view.
- See:
- orion.editor.TextView#invokeAction
- orion.editor.TextView#setAction
- orion.editor.TextView#setKeyBinding
- orion.editor.TextView#getKeyBindings
The bottom index is the line that is currently at the bottom of the view. This
line may be partially visible depending on the vertical scroll of the view. The parameter
fullyVisible
determines whether to return only fully visible lines.
- Parameters:
- {Boolean} fullyVisible Optional, Default: false
- if
true
, returns the index of the last fully visible line. This parameter is ignored if the view is not big enough to show one line.
- Returns:
- {Number} the index of the bottom line.
The bottom pixel is the pixel position that is currently at the bottom edge of the view. This position is relative to the beginning of the document.
- Returns:
- {Number} the bottom pixel.
- See:
- orion.editor.TextView#getTopPixel
- orion.editor.TextView#setTopPixel
- orion.editor.TextView#convert
- Returns:
- {Number} the caret offset relative to the start of the document.
- See:
- orion.editor.TextView#setCaretOffset
- orion.editor.TextView#setSelection
- orion.editor.TextView#getSelection
The client area is the portion in pixels of the document that is visible. The client area position is relative to the beginning of the document.
- Returns:
- {Object} the client area rectangle {x, y, width, height}.
- See:
- orion.editor.TextView#getTopPixel
- orion.editor.TextView#getBottomPixel
- orion.editor.TextView#getHorizontalPixel
- orion.editor.TextView#convert
The horizontal pixel is the pixel position that is currently at the left edge of the view. This position is relative to the beginning of the document.
- Returns:
- {Number} the horizontal pixel.
- Parameters:
- {String} actionID
- the action ID.
- Returns:
- {orion.editor.KeyBinding[]} the array of key bindings associated to the given action ID.
- Returns:
- {orion.editor.KeyMode[]} the array of key modes.
- Parameters:
- {Number} offset
- The offset into the editor
- Since:
- 5.0
- Returns:
- {Number} Returns the line number in the editor corresponding to the given offset or
-1
if the offset is out of range
- Parameters:
- offset
- Parameters:
- {Number} lineIndex Optional
- the line index.
- Returns:
- {Number} the height of the line in pixels.
- Parameters:
- {Number} y Optional
- the line pixel.
- Returns:
- {Number} the line index for the specified pixel position.
Clamps out of range indices.
- Parameters:
- {Number} lineIndex
- the line index.
- Returns:
- {Number} the pixel position of the line.
- See:
- orion.editor.TextView#setTopPixel
- orion.editor.TextView#getLineIndex
- orion.editor.TextView#convert
- Parameters:
- line
Defined in: </shared/eclipse/e4/orion/I201404012230/bundles/org.eclipse.orion.client.editor/web/orion/editor/editor.js>.
- Parameters:
- {Number} line
- The line number in the editor
- Since:
- 5.0
- Returns:
- {Number} Returns the start offset of the given line number in the editor.
Clamps out of range offsets.
- Parameters:
- {Number} offset
- the character offset
- Returns:
- {Object} the {x, y} pixel location of the given offset.
- Returns:
- {orion.editor.TextModel} the text model of the view.
- Parameters:
- {Number} offset
- the offset to start from
- {Object} options
- { unit: the type of unit to advance to (eg "character", "word", "wordend", "wordWS", "wordendWS"), count: the number of units to advance (negative to advance backwards) }
- Returns:
- {Number} the next character offset
- Parameters:
- x
- the x of the location
- y
- the y of the location
- Returns:
- {Number} the character offset at the given location.
The returned value is either a orion.editor.TextViewOptions
or an option value. An option value is returned when only one string paremeter
is specified. A orion.editor.TextViewOptions
is returned when there are no paremeters, or the parameters are a list of options names or a
orion.editor.TextViewOptions
. All view options are returned when there no paremeters.
- Parameters:
- {String|orion.editor.TextViewOptions} options Optional
- The options to return.
- Returns:
- {Object|orion.editor.TextViewOptions} The requested options or an option value.
- Returns:
- {orion.editor.Ruler[]} the view rulers
The selection is defined by a start and end character offset relative to the document. The character at end offset is not included in the selection.
- Returns:
- {orion.editor.Selection} the view selection
The text does not include the character at the end offset.
- Parameters:
- {Number} start Optional, Default: 0
- the start offset of text range.
- {Number} end Optional, Default: char count
- the end offset of text range.
The top index is the line that is currently at the top of the view. This
line may be partially visible depending on the vertical scroll of the view. The parameter
fullyVisible
determines whether to return only fully visible lines.
- Parameters:
- {Boolean} fullyVisible Optional, Default: false
- if
true
, returns the index of the first fully visible line. This parameter is ignored if the view is not big enough to show one line.
- Returns:
- {Number} the index of the top line.
The top pixel is the pixel position that is currently at the top edge of the view. This position is relative to the beginning of the document.
- Returns:
- {Number} the top pixel.
- See:
- orion.editor.TextView#getBottomPixel
- orion.editor.TextView#setTopPixel
- orion.editor.TextView#convert
- Returns:
- {Boolean}
true
if the text view has focus, otherwisefalse
.
The application defined action takes precedence over predefined actions unless
the defaultAction
paramater is true
.
If the application defined action returns false
, the text view predefined
action is executed if present.
- Parameters:
- {String} actionID
- the action ID.
- {Boolean} defaultAction Optional
- whether to always execute the predefined action only.
- {Object} actionOptions Optional
- action specific options to be passed to the action handlers.
- Returns:
- {Boolean}
true
if the action was executed.
- Returns:
- {Boolean}
true
if the view is destroyed.
- Parameters:
- dragEvent
- Parameters:
- dragEvent
- Parameters:
- dragEvent
- Parameters:
- dragEvent
- Parameters:
- dragEvent
- Parameters:
- dragEvent
- Parameters:
- dragEvent
- Parameters:
- mouseEvent
- Parameters:
- mouseEvent
- Parameters:
- mouseEvent
- Parameters:
- mouseEvent
- Parameters:
- mouseEvent
- See:
- orion.editor.TextView#redrawLines
- orion.editor.TextView#redrawRange
- orion.editor.TextView#setRedraw
The line at the end index is not redrawn.
- Parameters:
- {Number} startLine Optional, Default: 0
- the start line
- {Number} endLine Optional, Default: line count
- the end line
- ruler
The character at the end offset is not redrawn.
- Parameters:
- {Number} start Optional, Default: 0
- the start offset of text range
- {Number} end Optional, Default: char count
- the end offset of text range
- Parameters:
- startLine
- endLine
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.
- Parameters:
- {orion.editor.KeyMode} mode
- the key mode.
- Parameters:
- {orion.editor.Ruler} ruler
- the ruler.
If the action ID is a predefined action, the given handler executes before
the default action handler. If the given handler returns true
, the
default action handler is not called.
- Parameters:
- {String} actionID
- the action ID.
- {Function} handler
- the action handler.
- {orion.editor.ActionDescription} actionDescription Optional, Default: undefined
- the action description.
- Parameters:
- {Number} caret
- the caret offset relative to the start of the document.
- {Boolean|Number} show Optional, Default: true
- if
true
, the view will scroll the minimum amount necessary to show the caret location. Ifshow
is aNumber
, the view will scroll the minimum amount necessary to show the caret location plus a percentage of the client area height. The parameter is clamped to the [0,1] range. In either case, the view will only scroll if the new caret location is visible already. - {Function} callback Optional
- if callback is specified and
scrollAnimation
is not zero, view scrolling is animated and the callback is called when the animation is done. Otherwise, callback is callback right away.
- See:
- orion.editor.TextView#getCaretOffset
- orion.editor.TextView#setSelection
- orion.editor.TextView#getSelection
The horizontal pixel is the pixel position that is currently at the left edge of the view. This position is relative to the beginning of the document.
- Parameters:
- {Number} pixel
- the horizontal pixel.
null
, the association is removed.
- Parameters:
- {orion.editor.KeyBinding} keyBinding
- the key binding
- {String} actionID
- the action ID
- Parameters:
- {orion.editor.TextModel} model
- the text model of the view.
- Parameters:
- {orion.editor.TextViewOptions} options
- the view options.
This can be used to improve the performance.
When the flag is set to true
,
the entire view is marked as needing to be redrawn.
Nested calls to this method are stacked.
- Parameters:
- {Boolean} redraw
- the new redraw state
The selection is defined by a start and end character offset relative to the document. The character at end offset is not included in the selection.
The caret is always placed at the end offset. The start offset can be greater than the end offset to place the caret at the beginning of the selection.
Clamps out of range offsets.
- Parameters:
- {Number} start
- the start offset of the selection
- {Number} end
- the end offset of the selection
- {Boolean|Number} show Optional, Default: true
- if
true
, the view will scroll the minimum amount necessary to show the caret location. Ifshow
is aNumber
, the view will scroll the minimum amount necessary to show the caret location plus a percentage of the client area height. The parameter is clamped to the [0,1] range. In either case, the view will only scroll if the new caret location is visible already. - {Function} callback Optional
- if callback is specified and
scrollAnimation
is not zero, view scrolling is animated and the callback is called when the animation is done. Otherwise, callback is callback right away.
The character at the end offset is not replaced.
When both start
and end
parameters
are not specified, the text view places the caret at the beginning
of the document and scrolls to make it visible.
- Parameters:
- {String} text
- the new text.
- {Number} start Optional, Default: 0
- the start offset of text range.
- {Number} end Optional, Default: char count
- the end offset of text range.
The top index is the line that is currently at the top of the text view. This line may be partially visible depending on the vertical scroll of the view.
- Parameters:
- {Number} topIndex
- the index of the top line.
The top pixel is the pixel position that is currently at the top edge of the view. This position is relative to the beginning of the document.
- Parameters:
- {Number} pixel
- the top pixel.
- See:
- orion.editor.TextView#getBottomPixel
- orion.editor.TextView#getTopPixel
- orion.editor.TextView#convert
- Returns:
- {Boolean} true if the view was scrolled.
- Parameters:
- styleChanged
- sync
- Parameters:
- {orion.editor.BlurEvent} blurEvent
- the event
- Parameters:
- {orion.editor.ContextMenuEvent} contextMenuEvent
- the event
- Parameters:
- {orion.editor.DestroyEvent} destroyEvent
- the event
- Parameters:
- {orion.editor.FocusEvent} focusEvent
- the event
- Parameters:
- {orion.editor.KeyEvent} keyEvent
- the event
- Parameters:
- {orion.editor.KeyEvent} keyEvent
- the event
- Parameters:
- {orion.editor.KeyEvent} keyEvent
- the event
- Parameters:
- {orion.editor.LineStyleEvent} lineStyleEvent
- the event
- Parameters:
- {orion.editor.ModelChangedEvent} modelChangedEvent
- the event
- Parameters:
- {orion.editor.ModelChangingEvent} modelChangingEvent
- the event
If the text is changed directly through the model API, this event is not sent.
- Parameters:
- {orion.editor.ModifyEvent} modifyEvent
- the event
- Parameters:
- {orion.editor.ScrollEvent} scrollEvent
- the event
- Parameters:
- {orion.editor.SelectionEvent} selectionEvent
- the event
If the text is changed directly through the model API, this event is not sent.
Listeners are allowed to change these parameters. Setting text to null or undefined stops the change.
- Parameters:
- {orion.editor.VerifyEvent} verifyEvent
- the event