Class View
View is the base class for all views on the screen and represents a visible element that can render itself and contains zero or more nested views.
Inheritance
System.Object
View
Implements
System.Collections.IEnumerable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: Terminal.Gui.dll
Syntax
public class View : Responder, IEnumerable
Constructors
View()
Declaration
View(Rect)
Initializes a new instance of a
Absolute View class with the absolute
dimensions specified in the
frame
parameter.
Declaration
Parameters
Type |
Name |
Description |
Rect |
frame |
The region covered by this view. |
Properties
Bounds
The bounds represent the View-relative rectangle used for this view; the area inside of the view.
Declaration
public Rect Bounds { get; set; }
Property Value
Type |
Description |
Rect |
The bounds. |
ColorScheme
The color scheme for this view, if it is not defined, it returns the
SuperView's
color scheme.
Declaration
public ColorScheme ColorScheme { get; set; }
Property Value
Driver
Points to the current driver in use by the view, it is a convenience property
for simplifying the development of new views.
Declaration
public static ConsoleDriver Driver { get; }
Property Value
Focused
Returns the currently focused view inside this view, or null if nothing is focused.
Declaration
public View Focused { get; }
Property Value
Type |
Description |
View |
The focused. |
Frame
Gets or sets the frame for the view. The frame is relative to the view's container (
SuperView).
Declaration
public virtual Rect Frame { get; set; }
Property Value
Type |
Description |
Rect |
The frame. |
HasFocus
Gets or sets a value indicating whether this
Responder has focus.
Declaration
public override bool HasFocus { get; }
Property Value
Type |
Description |
System.Boolean |
true if has focus; otherwise, false . |
Overrides
Height
Declaration
public Dim Height { get; set; }
Property Value
Type |
Description |
Dim |
The height. |
Id
Gets or sets an identifier for the view;
Declaration
public ustring Id { get; set; }
Property Value
Type |
Description |
NStack.ustring |
The identifier. |
IsCurrentTop
Returns a value indicating if this View is currently on Top (Active)
Declaration
public bool IsCurrentTop { get; }
Property Value
Type |
Description |
System.Boolean |
|
LayoutStyle
Controls how the View's
Frame is computed during the LayoutSubviews method, if the style is set to
Absolute,
LayoutSubviews does not change the
Frame. If the style is
Computed the
Frame is updated using
the
X,
Y,
Width, and
Height properties.
Declaration
public LayoutStyle LayoutStyle { get; set; }
Property Value
MostFocused
Returns the most focused view in the chain of subviews (the leaf view that has the focus).
Declaration
public View MostFocused { get; }
Property Value
Type |
Description |
View |
The most focused. |
Subviews
This returns a list of the subviews contained by this view.
Declaration
public IList<View> Subviews { get; }
Property Value
Type |
Description |
System.Collections.Generic.IList<View> |
The subviews. |
SuperView
Returns the container for this view, or null if this view has not been added to a container.
Declaration
public View SuperView { get; }
Property Value
Type |
Description |
View |
The super view. |
Gets or sets a value indicating whether this
View want continuous button pressed event.
Declaration
public virtual bool WantContinuousButtonPressed { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
WantMousePositionReports
Gets or sets a value indicating whether this
View wants mouse position reports.
Declaration
public virtual bool WantMousePositionReports { get; set; }
Property Value
Type |
Description |
System.Boolean |
true if want mouse position reports; otherwise, false . |
Width
Declaration
public Dim Width { get; set; }
Property Value
Type |
Description |
Dim |
The width. |
X
Declaration
public Pos X { get; set; }
Property Value
Type |
Description |
Pos |
The X Position. |
Y
Declaration
public Pos Y { get; set; }
Property Value
Type |
Description |
Pos |
The y position (line). |
Methods
Add(View)
Adds a subview (child) to this view.
Declaration
public virtual void Add(View view)
Parameters
Type |
Name |
Description |
View |
view |
|
Add(View[])
Adds the specified views (children) to the view.
Declaration
public void Add(params View[] views)
Parameters
Type |
Name |
Description |
View[] |
views |
Array of one or more views (can be optional parameter). |
AddRune(Int32, Int32, Rune)
Displays the specified character in the specified column and row of the View.
Declaration
public void AddRune(int col, int row, Rune ch)
Parameters
Type |
Name |
Description |
System.Int32 |
col |
Column (view-relative). |
System.Int32 |
row |
Row (view-relative). |
System.Rune |
ch |
Ch. |
BringSubviewForward(View)
Moves the subview backwards in the hierarchy, only one step
Declaration
public void BringSubviewForward(View subview)
Parameters
Type |
Name |
Description |
View |
subview |
The subview to send backwards |
BringSubviewToFront(View)
Brings the specified subview to the front so it is drawn on top of any other views.
Declaration
public void BringSubviewToFront(View subview)
Parameters
Type |
Name |
Description |
View |
subview |
The subview to send to the front |
ChildNeedsDisplay()
Indicates that any child views (in the
Subviews list) need to be repainted.
Declaration
public void ChildNeedsDisplay()
Clear()
Clears the view region with the current color.
Declaration
Clear(Rect)
Clears the specified region with the current color.
Declaration
public void Clear(Rect regionScreen)
Parameters
Type |
Name |
Description |
Rect |
regionScreen |
The screen-relative region to clear. |
ClearNeedsDisplay()
Declaration
protected void ClearNeedsDisplay()
ClipToBounds()
Declaration
public Rect ClipToBounds()
Returns
Type |
Description |
Rect |
The existing driver's clip region, which can be then re-eapplied by setting Driver.Clip (Clip). |
DrawFrame(Rect, Int32, Boolean)
Draws a frame in the current view, clipped by the boundary of this view
Declaration
public void DrawFrame(Rect region, int padding = 0, bool fill = false)
Parameters
Type |
Name |
Description |
Rect |
region |
View-relative region for the frame to be drawn. |
System.Int32 |
padding |
The padding to add around the outside of the drawn frame. |
System.Boolean |
fill |
If set to true it fill will the contents. |
DrawHotString(ustring, Boolean, ColorScheme)
Utility function to draw strings that contains a hotkey using a
ColorScheme and the "focused" state.
Declaration
public void DrawHotString(ustring text, bool focused, ColorScheme scheme)
Parameters
Type |
Name |
Description |
NStack.ustring |
text |
String to display, the underscoore before a letter flags the next letter as the hotkey. |
System.Boolean |
focused |
If set to true this uses the focused colors from the color scheme, otherwise the regular ones. |
ColorScheme |
scheme |
The color scheme to use. |
DrawHotString(ustring, Attribute, Attribute)
Utility function to draw strings that contain a hotkey.
Declaration
public void DrawHotString(ustring text, Attribute hotColor, Attribute normalColor)
Parameters
Type |
Name |
Description |
NStack.ustring |
text |
String to display, the underscoore before a letter flags the next letter as the hotkey. |
Attribute |
hotColor |
Hot color. |
Attribute |
normalColor |
Normal color. |
EnsureFocus()
Finds the first view in the hierarchy that wants to get the focus if nothing is currently focused, otherwise, it does nothing.
Declaration
public void EnsureFocus()
FocusFirst()
Focuses the first focusable subview if one exists.
Declaration
FocusLast()
Focuses the last focusable subview if one exists.
Declaration
FocusNext()
Focuses the next view.
Declaration
Returns
Type |
Description |
System.Boolean |
true , if next was focused, false otherwise. |
FocusPrev()
Focuses the previous view.
Declaration
Returns
Type |
Description |
System.Boolean |
true , if previous was focused, false otherwise. |
GetEnumerator()
Gets an enumerator that enumerates the subviews in this view.
Declaration
public IEnumerator GetEnumerator()
Returns
Type |
Description |
System.Collections.IEnumerator |
The enumerator. |
LayoutSubviews()
Invoked when a view starts executing or when the dimensions of the view have changed, for example in
response to the container view or terminal resizing.
Declaration
public virtual void LayoutSubviews()
Move(Int32, Int32)
This moves the cursor to the specified column and row in the view.
Declaration
public void Move(int col, int row)
Parameters
Type |
Name |
Description |
System.Int32 |
col |
Col (view-relative). |
System.Int32 |
row |
Row (view-relative). |
OnDrawContent(Rect)
Enables overrides to draw infinitely scrolled content and/or a background behind added controls.
Declaration
public virtual void OnDrawContent(Rect viewport)
Parameters
Type |
Name |
Description |
Rect |
viewport |
The view-relative rectangle describing the currently visible viewport into the View |
OnEnter()
Method invoked when a view gets focus.
Declaration
public override bool OnEnter()
Returns
Type |
Description |
System.Boolean |
true , if the event was handled, false otherwise. |
Overrides
OnKeyDown(KeyEvent)
Declaration
public override bool OnKeyDown(KeyEvent keyEvent)
Parameters
Type |
Name |
Description |
KeyEvent |
keyEvent |
Contains the details about the key that produced the event. |
Returns
Type |
Description |
System.Boolean |
|
Overrides
OnKeyUp(KeyEvent)
Declaration
public override bool OnKeyUp(KeyEvent keyEvent)
Parameters
Type |
Name |
Description |
KeyEvent |
keyEvent |
Contains the details about the key that produced the event. |
Returns
Type |
Description |
System.Boolean |
|
Overrides
OnLeave()
Method invoked when a view loses focus.
Declaration
public override bool OnLeave()
Returns
Type |
Description |
System.Boolean |
true , if the event was handled, false otherwise. |
Overrides
OnMouseEnter(MouseEvent)
Method invoked when a mouse event is generated for the first time.
Declaration
public override bool OnMouseEnter(MouseEvent mouseEvent)
Parameters
Returns
Type |
Description |
System.Boolean |
true , if the event was handled, false otherwise. |
Overrides
OnMouseEvent(MouseEvent)
Method invoked when a mouse event is generated
Declaration
public virtual bool OnMouseEvent(MouseEvent mouseEvent)
Parameters
Returns
Type |
Description |
System.Boolean |
true , if the event was handled, false otherwise. |
OnMouseLeave(MouseEvent)
Method invoked when a mouse event is generated for the last time.
Declaration
public override bool OnMouseLeave(MouseEvent mouseEvent)
Parameters
Returns
Type |
Description |
System.Boolean |
true , if the event was handled, false otherwise. |
Overrides
PositionCursor()
Positions the cursor in the right position based on the currently focused view in the chain.
Declaration
public virtual void PositionCursor()
ProcessColdKey(KeyEvent)
This method can be overwritten by views that
want to provide accelerator functionality
(Alt-key for example), but without
interefering with normal ProcessKey behavior.
Declaration
public override bool ProcessColdKey(KeyEvent keyEvent)
Parameters
Type |
Name |
Description |
KeyEvent |
keyEvent |
Contains the details about the key that produced the event. |
Returns
Type |
Description |
System.Boolean |
|
Overrides
ProcessHotKey(KeyEvent)
This method can be overwritten by view that
want to provide accelerator functionality
(Alt-key for example).
Declaration
public override bool ProcessHotKey(KeyEvent keyEvent)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Overrides
ProcessKey(KeyEvent)
If the view is focused, gives the view a
chance to process the keystroke.
Declaration
public override bool ProcessKey(KeyEvent keyEvent)
Parameters
Type |
Name |
Description |
KeyEvent |
keyEvent |
Contains the details about the key that produced the event. |
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 virtual void Redraw(Rect bounds)
Parameters
Type |
Name |
Description |
Rect |
bounds |
The bounds (view-relative region) to redraw. |
Remove(View)
Declaration
public virtual void Remove(View view)
Parameters
Type |
Name |
Description |
View |
view |
|
RemoveAll()
Declaration
public virtual void RemoveAll()
ScreenToView(Int32, Int32)
Converts a point from screen-relative coordinates to view-relative coordinates.
Declaration
public Point ScreenToView(int x, int y)
Parameters
Type |
Name |
Description |
System.Int32 |
x |
X screen-coordinate point. |
System.Int32 |
y |
Y screen-coordinate point. |
Returns
Type |
Description |
Point |
The mapped point. |
SendSubviewBackwards(View)
Moves the subview backwards in the hierarchy, only one step
Declaration
public void SendSubviewBackwards(View subview)
Parameters
Type |
Name |
Description |
View |
subview |
The subview to send backwards |
SendSubviewToBack(View)
Sends the specified subview to the front so it is the first view drawn
Declaration
public void SendSubviewToBack(View subview)
Parameters
Type |
Name |
Description |
View |
subview |
The subview to send to the front |
SetClip(Rect)
Sets the clip region to the specified view-relative region.
Declaration
public Rect SetClip(Rect region)
Parameters
Type |
Name |
Description |
Rect |
region |
View-relative clip region. |
Returns
Type |
Description |
Rect |
The previous screen-relative clip region. |
SetFocus(View)
Causes the specified subview to have focus.
Declaration
public void SetFocus(View view)
Parameters
Type |
Name |
Description |
View |
view |
View. |
SetNeedsDisplay()
Sets a flag indicating this view needs to be redisplayed because its state has changed.
Declaration
public void SetNeedsDisplay()
SetNeedsDisplay(Rect)
Flags the view-relative region on this View as needing to be repainted.
Declaration
public void SetNeedsDisplay(Rect region)
Parameters
Type |
Name |
Description |
Rect |
region |
The view-relative region that must be flagged for repaint. |
ToString()
Pretty prints the View
Declaration
public override string ToString()
Returns
Type |
Description |
System.String |
|
Overrides
System.Object.ToString()
Events
DrawContent
Event invoked when the content area of the View is to be drawn.
Declaration
public event EventHandler<Rect> DrawContent
Event Type
Type |
Description |
System.EventHandler<Rect> |
|
Enter
Event fired when the view gets focus.
Declaration
public event EventHandler<View.FocusEventArgs> Enter
Event Type
KeyDown
Invoked when a key is pressed
Declaration
public event EventHandler<View.KeyEventEventArgs> KeyDown
Event Type
KeyPress
Invoked when a character key is pressed and occurs after the key up event.
Declaration
public event EventHandler<View.KeyEventEventArgs> KeyPress
Event Type
KeyUp
Invoked when a key is released
Declaration
public event EventHandler<View.KeyEventEventArgs> KeyUp
Event Type
LayoutComplete
Declaration
public event EventHandler<View.LayoutEventArgs> LayoutComplete
Event Type
Leave
Event fired when the view looses focus.
Declaration
public event EventHandler<View.FocusEventArgs> Leave
Event Type
MouseClick
Event fired when a mouse event is generated.
Declaration
public event EventHandler<View.MouseEventEventArgs> MouseClick
Event Type
MouseEnter
Event fired when the view receives the mouse event for the first time.
Declaration
public event EventHandler<View.MouseEventEventArgs> MouseEnter
Event Type
MouseLeave
Event fired when the view receives a mouse event for the last time.
Declaration
public event EventHandler<View.MouseEventEventArgs> MouseLeave
Event Type
Implements
System.Collections.IEnumerable