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 |
true If all the text was forward searched.false otherwise. |
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 |
true If is replacing.false otherwise. |
Returns
Type |
Description |
System.Boolean |
true If the text was found.false otherwise. |
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 |
true If all the text was backward searched.false otherwise. |
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 |
true If the text was found.false otherwise. |
Returns
Type |
Description |
System.Boolean |
true If the text was found.false otherwise. |
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 |
true If the text was found.false otherwise. |
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