Table of Contents

Namespace Terminal.Gui

Classes

Application

A static, singleton class providing 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 Toplevel view.

Autocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options.

Border

Draws a border, background, or both around another element.

Border.ToplevelContainer

A sealed Toplevel derived class to implement Border feature. This is only a wrapper to get borders on a toplevel and is recommended using another derived, like Window where is possible to have borders with or without border line or spacing around.

Button

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

CheckBox

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

Clipboard

Provides cut, copy, and paste support for the OS clipboard.

ClipboardBase

Shared abstract class to enforce rules from the implementation of the IClipboard interface.

CollectionNavigator

Navigates a collection of items using keystrokes. The keystrokes are used to build a search string. The SearchString is used to find the next item in the collection that matches the search string when GetNextMatchingItem(int, char) is called.

If the user types keystrokes that can't be found in the collection, the search string is cleared and the next item is found that starts with the last keystroke.

If the user pauses keystrokes for a short time (see TypingDelay), the search string is cleared.

CollectionNavigator.KeystrokeNavigatorEventArgs

Event arguments for the SearchStringChanged event.

ColorPicker

The ColorPickerView Color picker.

ColorScheme

Defines the color Attributes for common visible elements in a View. Containers such as Window and FrameView use ColorScheme to determine the colors used by sub-views.

Colors

The default ColorSchemes for the application.

ComboBox

Provides a drop-down list of items the user can select from.

ConsoleDriver

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

ConsoleKeyMapping

Helper class to handle the scan code and virtual key from a ConsoleKey.

ContextMenu

ContextMenu provides a pop-up menu that can be positioned anywhere within a View. ContextMenu is analogous to MenuBar and, once activated, works like a sub-menu of a MenuBarItem (but can be positioned anywhere).

By default, a ContextMenu with sub-menus is displayed in a cascading manner, where each sub-menu pops out of the ContextMenu frame (either to the right or left, depending on where the ContextMenu is relative to the edge of the screen). By setting UseSubMenusSingleFrame to true, this behavior can be changed such that all sub-menus are drawn within the ContextMenu frame.

ContextMenus can be activated using the Shift-F10 key (by default; use the Key to change to another key).

Callers can cause the ContextMenu to be activated on a right-mouse click (or other interaction) by calling Show().

ContextMenus are located using screen using screen coordinates and appear above all other Views.

DateField

Simple Date editing View

DateTimeEventArgs<T>

Defines the event arguments for DateChanged and TimeChanged events.

Dialog

The DialogView 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.

EscSeqReqProc

Manages a list of EscSeqReqStatus.

EscSeqReqStatus

Represents the state of an ANSI escape sequence request.

EscSeqUtils

Provides a platform-independent API for managing ANSI escape sequence codes.

FakeConsole
FakeDriver

Implements a mock ConsoleDriver for unit testing

FakeDriver.Behaviors
FakeDriver.FakeClipboard
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.

GraphView

Control for rendering graphs (bar, scatter etc)

HexView

An hex viewer and editor View over a Stream

HexView.HexViewEventArgs

Defines the event arguments for PositionChanged event.

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 separated by newline characters. Multi-line Labels support word wrap.

LineView

A straight line control either horizontal or vertical

ListView

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

ListViewItemEventArgs

EventArgs for ListView events.

ListViewRowEventArgs

EventArgs used by the RowRender event.

ListWrapper

Supports all classes in the .NET Framework class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all classes in the .NET Framework; it is the root of the type hierarchy.To browse the .NET Framework source code for this type, see the Reference Source.

MainLoop

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

MainLoop.Timeout

Provides data for timers running manipulation.

MenuBar

Provides a menu bar that spans the top of a Toplevel View with drop-down and cascading menus.

By default, any sub-sub-menus (sub-menus of the MenuItems added to MenuBarItems) are displayed in a cascading manner, where each sub-sub-menu pops out of the sub-menu frame (either to the right or left, depending on where the sub-menu is relative to the edge of the screen). By setting UseSubMenusSingleFrame to true, this behavior can be changed such that all sub-sub-menus are drawn within a single frame below the MenuBar.

MenuBarItem

MenuBarItem is a menu item on an app's MenuBar. MenuBarItems do not support Shortcut.

MenuClosingEventArgs

An EventArgs which allows passing a cancelable menu closing event.

MenuItem

A MenuItem has title, an associated help text, and an action to execute on activation. MenuItems can also have a checked indicator (see Checked).

MenuOpeningEventArgs

An EventArgs which allows passing a cancelable menu opening event or replacing with a new MenuBarItem.

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.

MouseEvent

Low-level construct that conveys the details of mouse events, such as coordinates and button state, from ConsoleDrivers up to Application and Views.

OpenDialog

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

PanelView

A container for single Child that will allow to drawn Border in two ways. If UsePanelFrame the borders and the child will be accommodated in the available panel size, otherwise the panel will be resized based on the child and borders thickness sizes.

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

Displays a group of labels each with a selected indicator. 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.

SelectedItemChangedArgs

Event arguments for the SelectedItemChagned event.

ShortcutHelper

Represents a helper to manipulate shortcut keys used on views.

StackExtensions

Extension of Stack<T> helper to work with specific IEqualityComparer<T>

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 StatusBarViews. 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 ~ (can be customized using HotTextSpecifier). A Title set to ~F1~ Help will render as F1 using HotNormal and Help as Normal.

TabView

Control that hosts multiple sub views, presenting a single one at once

TabView.Tab

A single tab in a TabView

TabView.TabChangedEventArgs

Describes a change in SelectedTab

TabView.TabMouseEventArgs

Describes a mouse event over a specific TabView.Tab in a TabView.

TabView.TabStyle

Describes render stylistic selections of a TabView

TableView

View for tabular data based on a DataTable.

See TableView Deep Dive for more information.

TableView.CellActivatedEventArgs

Defines the event arguments for CellActivated event

TableView.CellColorGetterArgs

Arguments for a TableView.CellColorGetterDelegate. Describes a cell for which a rendering ColorScheme is being sought

TableView.ColumnStyle

Describes how to render a given column in a TableView including Alignment and textual representation of cells (e.g. date formats)

See TableView Deep Dive for more information.

TableView.RowColorGetterArgs

Arguments for TableView.RowColorGetterDelegate. Describes a row of data in a DataTable for which ColorScheme is sought.

TableView.SelectedCellChangedEventArgs

Defines the event arguments for SelectedCellChanged

TableView.TableSelection

Describes a selected region of the table

TableView.TableStyle

Defines rendering options that affect how the table is displayed.

See TableView Deep Dive for more information.

TextChangingEventArgs

An EventArgs which allows passing a cancelable new text value event.

TextField

Single-line text entry View

TextFieldAutocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options. An implementation on a TextField.

TextFormatter

Provides text formatting capabilities for console apps. Supports, hotkeys, horizontal alignment, multiple lines, and word-based line wrap.

TextValidateField

Text field that validates input through a ITextValidateProvider

TextView

Multi-line text editing View.

TextView.ContentsChangedEventArgs

Event arguments for events for when the contents of the TextView change. E.g. the ContentsChanged event.

TextViewAutocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options. An implementation on a TextView.

TimeField

Time editing View

Toplevel

Toplevel views can be modally executed. They are used for both an application's main view (filling the entire screen and for pop-up views such as Dialog, MessageBox, and Wizard.

ToplevelClosingEventArgs

EventArgs implementation for the Closing event.

ToplevelComparer

Implements the IComparer<T> to sort the Toplevel from the MdiChildes if needed.

ToplevelEqualityComparer

Implements the IEqualityComparer<T> for comparing two Toplevels used by StackExtensions.

TreeView

Convenience implementation of generic TreeView<T> for any tree were all nodes implement ITreeNode.

See TreeView Deep Dive for more information.

TreeViewTextFilter<T>

ITreeViewFilter<T> implementation which searches the AspectGetter of the model for the given Text.

TreeView<T>

Hierarchical tree view with expandable branches. Branch objects are dynamically determined when expanded using a user defined ITreeBuilder<T>.

See TreeView Deep Dive for more information.

TrueColor

Indicates the RGB for true colors.

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. This is a higher-level construct than the wrapped MouseEvent class and is used for the events defined on View and subclasses of View (e.g. MouseEnter and MouseClick).

Window

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

Window.TitleEventArgs

An EventArgs which allows passing a cancelable new Title value event.

Wizard

Provides navigation and a user interface (UI) to collect related data across multiple steps. Each step (Wizard.WizardStep) can host arbitrary Views, much like a Dialog. Each step also has a pane for help text. Along the bottom of the Wizard view are customizable buttons enabling the user to navigate forward and backward through the Wizard.

Wizard.StepChangeEventArgs

EventArgs for Wizard.WizardStep events.

Wizard.WizardButtonEventArgs

EventArgs for Wizard.WizardStep transition events.

Wizard.WizardStep

Represents a basic step that is displayed in a Wizard. The Wizard.WizardStep view is divided horizontally in two. On the left is the content view where Views can be added, On the right is the help for the step. Set HelpText to set the help text. If the help text is empty the help pane will not be shown.

If there are no Views added to the WizardStep the HelpText (if not empty) will fill the wizard step.

Wizard.WizardStep.TitleEventArgs

An EventArgs which allows passing a cancelable new Title value event.

Structs

Attribute

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

Point

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

PointF

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

Rect

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

RectangleF

Stores the location and size of a rectangular region.

Size

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

SizeF

Represents the size of a rectangular region with an ordered pair of width and height.

Thickness

Describes the thickness of a frame around a rectangle. Four int values describe the Left, Top, Right, and Bottom sides of the rectangle, respectively.

Interfaces

IAutocomplete

Renders an overlay on another view at a given point that allows selecting from a range of 'autocomplete' options.

IClipboard

Definition to interact with the OS clipboard.

IListDataSource

Implement IListDataSource to provide custom rendering for a ListView.

IMainLoopDriver

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

ITreeView

Interface for all non generic members of TreeView<T>.

See TreeView Deep Dive for more information.

ITreeViewFilter<T>

Provides filtering for a TreeView.

Enums

BorderStyle

Specifies the border style for a View and to be used by the Border class.

Color

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

Command

Actions which can be performed by the application or bound to keys in a View control.

ConsoleDriver.DiagnosticFlags

Enables diagnostic functions

CursorVisibility

Cursors Visibility that are displayed

Dialog.ButtonAlignments

Determines the horizontal alignment of the Dialog buttons.

DisplayModeLayout

Used for choose the display mode of this RadioGroup

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

OpenDialog.OpenMode

Determine which System.IO type to open.

ProgressBarFormat

Specifies the format that a ProgressBar uses to indicate the visual presentation.

ProgressBarStyle

Specifies the style that a ProgressBar uses to indicate the progress of an operation.

TextAlignment

Text alignment enumeration, controls how text is displayed.

TextDirection

Text direction enumeration, controls how text is displayed.

VerticalTextAlignment

Vertical text alignment enumeration, controls how text is displayed.

Delegates

TableView.CellColorGetterDelegate

Delegate for providing color to TableView cells based on the value being rendered

TableView.RowColorGetterDelegate

Delegate for providing color for a whole row of a TableView