Class orion.textview.TextView
A TextView is a user interface for editing text.
Defined in: </shared/eclipse/e4/orion/I201107200200/plugins/org.eclipse.orion.client.editor/web/orion/textview/textView.js>.
Constructor Attributes | Constructor Name and Description |
---|---|
orion.textview.TextView(options)
Constructs a new text view.
|
Field Attributes | Field Name and Description |
---|---|
<inner> | |
<inner> |
Method Attributes | Method Name and Description |
---|---|
addEventListener(type, context, func, data)
Adds an event listener to the text view.
|
|
addRuler(ruler)
Adds a ruler to the text view.
|
|
convert(rect, from, to)
Converts the given rectangle from one coordinate spaces to another.
|
|
destroy()
Destroys the text view.
|
|
focus()
Gives focus to the text view.
|
|
getActions(defaultAction)
Returns all action names 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(name)
Returns all the key bindings associated to the given action name.
|
|
getLineHeight(lineIndex)
Returns the line height for a given line index.
|
|
getLinePixel(lineIndex)
Returns the top pixel position of a given line index relative to the beginning
of the document.
|
|
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.
|
|
getOffsetAtLocation(x, y)
Returns the character offset nearest to the given pixel location.
|
|
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.
|
|
invokeAction(name, defaultAction)
Executes the action handler associated with the given name.
|
|
redrawLines(startLine, endLine, ruler)
Redraws the text in the given line range.
|
|
redrawRange(start, end)
Redraws the text in the given range.
|
|
removeEventListener(type, context, func, data)
Removes an event listener from the text view.
|
|
removeRuler(ruler)
Removes a ruler from the text view.
|
|
setAction(name, handler)
Associates an application defined handler to an action name.
|
|
setCaretOffset(caret, show)
Sets the caret offset relative to the start of the document.
|
|
setHorizontalPixel(pixel)
Sets the horizontal pixel.
|
|
setKeyBinding(keyBinding, name)
Associates a key binding with the given action name.
|
|
setModel(model)
Sets the text model of the text view.
|
|
setSelection(start, end, show)
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.
|
Event Attributes | Event Name and Description |
---|---|
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.
|
|
onLineStyle(lineStyleEvent)
This event is sent when the text view needs the style information for a line.
|
|
onModelChanged(modelChangingEvent)
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:
- options
- the view options.
- {String|DOMElement} options.parent
- the parent element for the view, it can be either a DOM element or an ID for a DOM element.
- {orion.textview.TextModel} options.model Optional
- the text model for the view. If this options is not set the view creates an empty orion.textview.TextModel.
- {Boolean} options.readonly Optional, Default: false
- whether or not the view is read-only.
- {Boolean} options.fullSelection Optional, Default: true
- whether or not the view is in full selection mode.
- {String|String[]} options.stylesheet Optional
- one or more stylesheet URIs for the view.
- {Number} options.tabSize Optional
- The number of spaces in a tab.
- Parameters:
- {String} type
- the event type. The supported events are:
- "Modify" See #onModify
- "Selection" See #onSelection
- "Scroll" See #onScroll
- "Verify" See #onVerify
- "Destroy" See #onDestroy
- "LineStyle" See #onLineStyle
- "ModelChanging" See #onModelChanging
- "ModelChanged" See #onModelChanged
- {Object} context
- the context of the function.
- {Function} func
- the function that will be executed when the event happens. The function should take an event as the first parameter and optional data as the second parameter.
- {Object} data Optional
- optional data passed to the function.
- See:
- #removeEventListener
- Parameters:
- {orion.textview.Ruler} ruler
- the ruler.
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
- "view" - relative to text view, the origin is the top-left corner of the view container
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.
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:
- #onDestroy
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
- "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 names defined in the text view.
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.
- See:
- #getTopIndex
- #setTopIndex
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.
- Returns:
- the caret offset relative to the start of the document.
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:
- the client area rectangle {x, y, width, height}.
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} name
- the action name.
- Returns:
- {orion.textview.KeyBinding[]} the array of key bindings associated to the given action name.
- See:
- #setKeyBinding
- #setAction
- Parameters:
- {Number} lineIndex Optional
- the line index.
- Returns:
- {Number} the height of the line in pixels.
- See:
- #getLinePixel
Clamps out of range indices.
- Parameters:
- {Number} lineIndex
- the line index.
- Returns:
- {Number} the pixel position of the line.
- See:
- #setTopPixel
- #convert
Clamps out of range offsets.
- Parameters:
- {Number} offset
- the character offset
- Returns:
- the {x, y} pixel location of the given offset.
- Returns:
- {orion.textview.TextModel} the text model of the view.
- Parameters:
- x
- the x of the location
- y
- the y of the location
- Returns:
- the character offset at the given location.
- See:
- #getLocationAtOffset
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.textview.Selection} the view selection
- See:
- #setSelection
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.
- See:
- #setText
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.
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} name
- the action name.
- {Boolean} defaultAction Optional
- whether to always execute the predefined action.
- Returns:
- {Boolean}
true
if the action was executed.
- See:
- #setAction
- #getActions
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
All the parameters must be the same ones used to add the listener.
- Parameters:
- {String} type
- the event type.
- {Object} context
- the context of the function.
- {Function} func
- the function that will be executed when the event happens.
- {Object} data Optional
- optional data passed to the function.
- See:
- #addEventListener
- Parameters:
- {orion.textview.Ruler} ruler
- the ruler.
If the action name 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} name
- the action name.
- {Function} handler
- the action handler.
- See:
- #getActions
- #invokeAction
- Parameters:
- {Number} caret
- the caret offset relative to the start of the document.
- {Boolean} show Optional, Default: true
- if
true
, the view will scroll if needed to show the caret location.
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.textview.KeyBinding} keyBinding
- the key binding
- {String} name
- the action
- Parameters:
- {orion.textview.TextModel} model
- the text model of the view.
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} show Optional, Default: true
- if
true
, the view will scroll if needed to show the caret location.
- See:
- #getSelection
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.
- See:
- #getText
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.
- Returns:
- true if the view was scrolled.
- Parameters:
- {orion.textview.ContextMenuEvent} contextMenuEvent
- the event
- Parameters:
- {orion.textview.DestroyEvent} destroyEvent
- the event
- See:
- #destroy
- Parameters:
- {orion.textview.LineStyleEvent} lineStyleEvent
- the event
- Parameters:
- {orion.textview.ModelChangingEvent} modelChangingEvent
- the event
- Parameters:
- {orion.textview.ModelChangingEvent} modelChangingEvent
- the event
If the text is changed directly through the model API, this event is not sent.
- Parameters:
- {orion.textview.ModifyEvent} modifyEvent
- the event
- Parameters:
- {orion.textview.ScrollEvent} scrollEvent
- the event
- Parameters:
- {orion.textview.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.textview.VerifyEvent} verifyEvent
- the event