Show / Hide Table of Contents

# Namespace Terminal.Gui

### Classes

#### Application

A static, singelton class provding the main application driver for Terminal.Gui apps.

#### Application.ResizedEventArgs

Event arguments for the Resized event.

#### Application.RunState

Captures the execution state for the provided Terminal.Gui.Application.RunState.Toplevel view.

#### Button

Button is a View that provides an item that invokes an System.Action when activated by the user.

#### CheckBox

The CheckBox View shows an on/off toggle that the user can set

#### Clipboard

Provides cut, copy, and paste support for the clipboard. NOTE: Currently not implemented.

#### Colors

The default ColorSchemes for the application.

#### ColorScheme

Color scheme definitions, they cover some common scenarios and are used typically in containers such as Window and FrameView to set the scheme that is used by all the views contained inside.

#### ConsoleDriver

ConsoleDriver is an abstract class that defines the requirements for a console driver. There are currently three implementations: Terminal.Gui.CursesDriver (for Unix and Mac), Terminal.Gui.WindowsDriver, and Terminal.Gui.NetDriver that uses the .NET Console API.

#### DateField

Simple Date editing View

#### DateTimeEventArgs<T>

Defines the event arguments for DateChanged and TimeChanged events.

#### Dialog

The Dialog View is a Window that by default is centered and contains one or more Buttons. It defaults to the Dialog color scheme and has a 1 cell padding around the edges.

#### Dim

Dim properties of a View to control the position.

#### FileDialog

Base class for the OpenDialog and the SaveDialog

#### FrameView

The FrameView is a container frame that draws a frame around the contents. It is similar to a GroupBox in Windows.

#### HexView

An hex viewer and editor View over a System.IO.Stream

#### KeyEvent

Describes a keyboard event.

#### KeyModifiers

Identifies the state of the "shift"-keys within a event.

#### Label

The Label View displays a string at a given position and supports multiple lines separted by newline characters.

#### ListView

ListView View renders a scrollable list of data where each item can be activated to perform an action.

#### ListViewItemEventArgs

System.EventArgs for ListView events.

#### ListWrapper

Implements an IListDataSource that renders arbitrary System.Collections.IList instances for ListView.

#### MainLoop

Simple main loop implementation that can be used to monitor file descriptor, run timers and idle handlers.

#### MenuBar

The MenuBar provides a menu for Terminal.Gui applications.

#### MenuBarItem

A MenuBarItem contains MenuBarItems or MenuItems.

#### MenuItem

A MenuItem has a title, an associated help text, and an action to execute on activation.

#### MessageBox

MessageBox displays a modal message to the user, with a title, a message and a series of options that the user can choose from.

#### OpenDialog

The OpenDialogprovides an interactive dialog box for users to select files or directories.

#### Pos

Describes the position of a View which can be an absolute value, a percentage, centered, or relative to the ending dimension. Integer values are implicitly convertible to an absolute Pos. These objects are created using the static methods Percent, AnchorEnd, and Center. The Pos objects can be combined with the addition and subtraction operators.

#### ProgressBar

A Progress Bar view that can indicate progress of an activity visually.

#### RadioGroup

RadioGroup shows a group of radio labels, only one of those can be selected at a given time

#### Responder

Responder base class implemented by objects that want to participate on keyboard and mouse input.

#### SaveDialog

The SaveDialog provides an interactive dialog box for users to pick a file to save.

#### ScrollBarView

ScrollBarViews are views that display a 1-character scrollbar, either horizontal or vertical

#### ScrollView

Scrollviews are views that present a window into a virtual space where subviews are added. Similar to the iOS UIScrollView.

#### StatusBar

A status bar is a View that snaps to the bottom of a Toplevel displaying set of StatusItems. The StatusBar should be context sensitive. This means, if the main menu and an open text editor are visible, the items probably shown will be ~F1~ Help ~F2~ Save ~F3~ Load. While a dialog to ask a file to load is executed, the remaining commands will probably be ~F1~ Help. So for each context must be a new instance of a statusbar.

#### StatusItem

StatusItem objects are contained by StatusBar Views. Each StatusItem has a title, a shortcut (hotkey), and an Action that will be invoked when the Shortcut is pressed. The Shortcut will be a global hotkey for the application in the current context of the screen. The colour of the Title will be changed after each ~. A Title set to `~F1~ Help` will render as *F1* using HotNormal and *Help* as HotNormal.

#### TextField

Single-line text entry View

#### TextView

Multi-line text editing View

#### TimeField

Time editing View

#### Toplevel

Toplevel views can be modally executed.

#### 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.

#### View.FocusEventArgs

Defines the event arguments for SetFocus(View)

#### View.KeyEventEventArgs

Defines the event arguments for KeyEvent

#### View.LayoutEventArgs

Event arguments for the LayoutComplete event.

#### View.MouseEventArgs

Specifies the event arguments for MouseEvent

#### Window

A Toplevel View that draws a border around its Frame with a Title at the top.

### Structs

#### Attribute

Attributes are used as elements that contain both a foreground and a background or platform specific features

#### MouseEvent

Describes a mouse event

#### Point

Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional plane.

#### Rect

Stores a set of four integers that represent the location and size of a rectangle

#### Size

Stores an ordered pair of integers, which specify a Height and Width.

### Interfaces

#### IListDataSource

Implement IListDataSource to provide custom rendering for a ListView.

#### IMainLoopDriver

Public interface to create your own platform specific main loop driver.

### Enums

#### Color

Basic colors that can be used to set the foreground and background colors in console applications.

#### ConsoleDriver.DiagnosticFlags

Enables diagnostic funcions

#### Key

The Key enumeration contains special encoding for some keys, but can also encode all the unicode values that can be passed.

#### LayoutStyle

Determines the LayoutStyle for a view, if Absolute, during LayoutSubviews, the value from the Frame will be used, if the value is Computed, then the Frame will be updated from the X, Y Pos objects and the Width and Height Dim objects.

#### MenuItemCheckStyle

Specifies how a MenuItem shows selection state.

#### MouseFlags

Mouse flags reported in MouseEvent.

#### TextAlignment

Text alignment enumeration, controls how text is displayed.