Class TextView
Multi-line text editing
View
Inheritance
System.Object
TextView
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize
Assembly: Terminal.Gui.dll
Syntax
public class TextView : View
Constructors
TextView()
Initializes a
TextView on the specified area,
with dimensions controlled with the X, Y, Width and Height properties.
Declaration
TextView(Rect)
Initializes a
TextView on the specified area, with absolute position and size.
Declaration
public TextView(Rect frame)
Parameters
| Type |
Name |
Description |
| Rect |
frame |
|
Properties
AllowsReturn
Gets or sets a value indicating whether pressing ENTER in a
TextView
creates a new line of text in the view or activates the default button for the toplevel.
Declaration
public bool AllowsReturn { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
AllowsTab
Gets or sets whether the
TextView inserts a tab character into the text or ignores
tab input. If set to `false` and the user presses the tab key (or shift-tab) the focus will move to the
next view (or previous with shift-tab). The default is `true`; if the user presses the tab key, a tab
character will be inserted into the text.
Declaration
public bool AllowsTab { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
Autocomplete
Provides autocomplete context menu based on suggestions at the current cursor
position. Populate
AllSuggestions to enable this feature
Declaration
public IAutocomplete Autocomplete { get; protected set; }
Property Value
BottomOffset
The bottom offset needed to use a horizontal scrollbar or for another reason.
This is only needed with the keyboard navigation.
Declaration
public int BottomOffset { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
CanFocus
Gets or sets a value indicating whether this
Responder can focus.
Declaration
public override bool CanFocus { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
true if can focus; otherwise, false. |
Overrides
Declaration
public ContextMenu ContextMenu { get; }
Property Value
CurrentColumn
Gets the cursor column.
Declaration
public int CurrentColumn { get; }
Property Value
| Type |
Description |
| System.Int32 |
The cursor column. |
CurrentRow
Gets the current cursor row.
Declaration
public int CurrentRow { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
CursorPosition
Sets or gets the current cursor position.
Declaration
public Point CursorPosition { get; set; }
Property Value
DesiredCursorVisibility
Get / Set the wished cursor when the field is focused
Declaration
public CursorVisibility DesiredCursorVisibility { get; set; }
Property Value
Frame
Gets or sets the frame for the view. The frame is relative to the view's container (
SuperView).
Declaration
public override Rect Frame { get; set; }
Property Value
| Type |
Description |
| Rect |
The frame. |
Overrides
HasHistoryChanges
Indicates whatever the text has history changes or not.
true if the text has history changes false otherwise.
Declaration
public bool HasHistoryChanges { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
IsDirty
Indicates whatever the text was changed or not.
true if the text was changed false otherwise.
Declaration
public bool IsDirty { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
LeftColumn
Gets or sets the left column.
Declaration
public int LeftColumn { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
Lines
Gets the number of lines.
Declaration
public int Lines { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
Maxlength
Gets the maximum visible length line.
Declaration
public int Maxlength { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
Multiline
Gets or sets a value indicating whether this
TextView is a multiline text view.
Declaration
public bool Multiline { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
ReadOnly
Gets or sets whether the
TextView is in read-only mode or not
Declaration
public bool ReadOnly { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
Boolean value(Default false) |
RightOffset
The right offset needed to use a vertical scrollbar or for another reason.
This is only needed with the keyboard navigation.
Declaration
public int RightOffset { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
SelectedLength
Length of the selected text.
Declaration
public int SelectedLength { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
SelectedText
The selected text.
Declaration
public ustring SelectedText { get; }
Property Value
| Type |
Description |
| NStack.ustring |
|
Selecting
Get or sets the selecting.
Declaration
public bool Selecting { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
SelectionStartColumn
Start column position of the selected text.
Declaration
public int SelectionStartColumn { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
SelectionStartRow
Start row position of the selected text.
Declaration
public int SelectionStartRow { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
TabWidth
Gets or sets a value indicating the number of whitespace when pressing the TAB key.
Declaration
public int TabWidth { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
Text
Declaration
public override ustring Text { get; set; }
Property Value
| Type |
Description |
| NStack.ustring |
|
Overrides
TopRow
Gets or sets the top row.
Declaration
public int TopRow { get; set; }
Property Value
| Type |
Description |
| System.Int32 |
|
Used
Tracks whether the text view should be considered "used", that is, that the user has moved in the entry,
so new input should be appended at the cursor position, rather than clearing the entry
Declaration
public bool Used { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
WordWrap
Allows word wrap the to fit the available container width.
Declaration
public bool WordWrap { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
Methods
ClearHistoryChanges()
Allows clearing the Terminal.Gui.HistoryText.HistoryTextItem items updating the original text.
Declaration
public void ClearHistoryChanges()
CloseFile()
Closes the contents of the stream into the
TextView.
Declaration
Returns
| Type |
Description |
| System.Boolean |
true, if stream was closed, false otherwise. |
ColorNormal()
Sets the driver to the default color for the control where no text is being rendered. Defaults to
Normal.
Declaration
protected virtual void ColorNormal()
ColorNormal(List<Rune>, Int32)
Sets the
Driver to an appropriate color for rendering the given
idx of the
current
line. Override to provide custom coloring by calling
SetAttribute(Attribute)
Defaults to
Normal.
Declaration
protected virtual void ColorNormal(List<Rune> line, int idx)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.List<System.Rune> |
line |
|
| System.Int32 |
idx |
|
ColorSelection(List<Rune>, Int32)
Sets the
Driver to an appropriate color for rendering the given
idx of the
current
line. Override to provide custom coloring by calling
SetAttribute(Attribute)
Defaults to
Focus.
Declaration
protected virtual void ColorSelection(List<Rune> line, int idx)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.List<System.Rune> |
line |
|
| System.Int32 |
idx |
|
ColorUsed(List<Rune>, Int32)
Declaration
protected virtual void ColorUsed(List<Rune> line, int idx)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.List<System.Rune> |
line |
|
| System.Int32 |
idx |
|
Copy()
Copy the selected text to the clipboard contents.
Declaration
Cut()
Cut the selected text to the clipboard contents.
Declaration
DeleteAll()
Deletes all text.
Declaration
DeleteCharLeft()
Deletes all the selected or a single character at left from the position of the cursor.
Declaration
public void DeleteCharLeft()
DeleteCharRight()
Deletes all the selected or a single character at right from the position of the cursor.
Declaration
public void DeleteCharRight()
FindNextText(ustring, out Boolean, Boolean, Boolean, ustring, Boolean)
Find the next text based on the match case with the option to replace it.
Declaration
public bool FindNextText(ustring textToFind, out bool gaveFullTurn, bool matchCase = false, bool matchWholeWord = false, ustring textToReplace = null, bool replace = false)
Parameters
| Type |
Name |
Description |
| NStack.ustring |
textToFind |
The text to find. |
| System.Boolean |
gaveFullTurn |
trueIf all the text was forward searched.falseotherwise. |
| System.Boolean |
matchCase |
The match case setting. |
| System.Boolean |
matchWholeWord |
The match whole word setting. |
| NStack.ustring |
textToReplace |
The text to replace. |
| System.Boolean |
replace |
trueIf is replacing.falseotherwise. |
Returns
| Type |
Description |
| System.Boolean |
trueIf the text was found.falseotherwise. |
FindPreviousText(ustring, out Boolean, Boolean, Boolean, ustring, Boolean)
Find the previous text based on the match case with the option to replace it.
Declaration
public bool FindPreviousText(ustring textToFind, out bool gaveFullTurn, bool matchCase = false, bool matchWholeWord = false, ustring textToReplace = null, bool replace = false)
Parameters
| Type |
Name |
Description |
| NStack.ustring |
textToFind |
The text to find. |
| System.Boolean |
gaveFullTurn |
trueIf all the text was backward searched.falseotherwise. |
| System.Boolean |
matchCase |
The match case setting. |
| System.Boolean |
matchWholeWord |
The match whole word setting. |
| NStack.ustring |
textToReplace |
The text to replace. |
| System.Boolean |
replace |
trueIf the text was found.falseotherwise. |
Returns
| Type |
Description |
| System.Boolean |
trueIf the text was found.falseotherwise. |
FindTextChanged()
Reset the flag to stop continuous find.
Declaration
public void FindTextChanged()
GetCurrentLine()
Returns the characters on the current line (where the cursor is positioned).
Use
CurrentColumn to determine the position of the cursor within
that line
Declaration
public List<Rune> GetCurrentLine()
Returns
| Type |
Description |
| System.Collections.Generic.List<System.Rune> |
|
InsertText(String)
Inserts the given toAdd text at the current cursor position
exactly as if the user had just typed it
Declaration
public void InsertText(string toAdd)
Parameters
| Type |
Name |
Description |
| System.String |
toAdd |
Text to add |
LoadFile(String)
Loads the contents of the file into the
TextView.
Declaration
public bool LoadFile(string path)
Parameters
| Type |
Name |
Description |
| System.String |
path |
Path to the file to load. |
Returns
| Type |
Description |
| System.Boolean |
true, if file was loaded, false otherwise. |
LoadStream(Stream)
Loads the contents of the stream into the
TextView.
Declaration
public void LoadStream(Stream stream)
Parameters
| Type |
Name |
Description |
| System.IO.Stream |
stream |
Stream to load the contents from. |
MouseEvent(MouseEvent)
Method invoked when a mouse event is generated
Declaration
public override bool MouseEvent(MouseEvent ev)
Parameters
Returns
| Type |
Description |
| System.Boolean |
true, if the event was handled, false otherwise. |
Overrides
MoveEnd()
Will scroll the
TextView to the last line and position the cursor there.
Declaration
MoveHome()
Will scroll the
TextView to the first line and position the cursor there.
Declaration
OnEnter(View)
Method invoked when a view gets focus.
Declaration
public override bool OnEnter(View view)
Parameters
| Type |
Name |
Description |
| View |
view |
The view that is losing focus. |
Returns
| Type |
Description |
| System.Boolean |
true, if the event was handled, false otherwise. |
Overrides
OnKeyUp(KeyEvent)
Method invoked when a key is released.
Declaration
public override bool OnKeyUp(KeyEvent kb)
Parameters
Returns
| Type |
Description |
| System.Boolean |
true if the event was handled |
Overrides
OnLeave(View)
Method invoked when a view loses focus.
Declaration
public override bool OnLeave(View view)
Parameters
| Type |
Name |
Description |
| View |
view |
The view that is getting focus. |
Returns
| Type |
Description |
| System.Boolean |
true, if the event was handled, false otherwise. |
Overrides
Paste()
Paste the clipboard contents into the current selected position.
Declaration
PositionCursor()
Positions the cursor on the current row and column
Declaration
public override void PositionCursor()
Overrides
ProcessKey(KeyEvent)
If the view is focused, gives the view a
chance to process the keystroke.
Declaration
public override bool ProcessKey(KeyEvent kb)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
Redraw(Rect)
Redraws this view and its subviews; only redraws the views that have been flagged for a re-display.
Declaration
public override void Redraw(Rect bounds)
Parameters
| Type |
Name |
Description |
| Rect |
bounds |
The bounds (view-relative region) to redraw. |
Overrides
ReplaceAllText(ustring, Boolean, Boolean, ustring)
Replaces all the text based on the match case.
Declaration
public bool ReplaceAllText(ustring textToFind, bool matchCase = false, bool matchWholeWord = false, ustring textToReplace = null)
Parameters
| Type |
Name |
Description |
| NStack.ustring |
textToFind |
The text to find. |
| System.Boolean |
matchCase |
The match case setting. |
| System.Boolean |
matchWholeWord |
The match whole word setting. |
| NStack.ustring |
textToReplace |
The text to replace. |
Returns
| Type |
Description |
| System.Boolean |
trueIf the text was found.falseotherwise. |
ScrollTo(Int32, Boolean)
Will scroll the
TextView to display the specified row at the top if
isRow is true or
will scroll the
TextView to display the specified column at the left if
isRow is false.
Declaration
public void ScrollTo(int idx, bool isRow = true)
Parameters
| Type |
Name |
Description |
| System.Int32 |
idx |
Row that should be displayed at the top or Column that should be displayed at the left,
if the value is negative it will be reset to zero |
| System.Boolean |
isRow |
If true (default) the idx is a row, column otherwise. |
SelectAll()
Select all text.
Declaration
Events
TextChanged
Declaration
public event Action TextChanged
Event Type
| Type |
Description |
| System.Action |
|
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize