Table of Contents

Namespace Terminal.Gui

Classes

Adornment

Adornments are a special form of View that appear outside the Viewport: Margin, Border, and Padding. They are defined using the Thickness class, which specifies the thickness of the sides of a rectangle.

AllowedType

Describes a requirement on what FileInfo can be selected. This can be combined with other IAllowedType in a FileDialog to for example show only .csv files but let user change to open any if they want.

AllowedTypeAny

IAllowedType that allows selection of any types (.).

AppScope

The Scope<T> class for application-defined configuration settings.

AppendAutocomplete

Autocomplete for a TextField which shows suggestions within the box. Displayed suggestions can be completed using the tab key.

Application

A static, singleton class representing the application. This class is the entry point for the application.

AutocompleteBase

Abstract implementation of IAutocomplete allows for tailoring how autocomplete is rendered/interacted with.

AutocompleteContext

Describes the current state of a View which is proposing autocomplete. Suggestions are based on this state.

Axis

Renders a continuous line with grid line ticks and labels

AxisIncrementToRender

A location on an axis of a GraphView that may or may not have a label associated with it

BarSeries

Series of bars positioned at regular intervals

BarSeriesBar

A single bar in a BarSeries

Border

The Border for a View.

Button

Button is a View that provides an item that invokes raises the Accept event.

Cell

Represents a single row/column in a Terminal.Gui rendering surface (e.g. LineCanvas and ConsoleDriver).

CellActivatedEventArgs

Defines the event arguments for CellActivated event

CellColorGetterArgs

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

CellToggledEventArgs

Event args for the CellToggled event.

CheckBox

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

CheckBoxTableSourceWrapperBase

ITableSource for a TableView which adds a checkbox column as an additional column in the table.

CheckBoxTableSourceWrapperByIndex

Implementation of CheckBoxTableSourceWrapperBase which records toggled rows by their row number.

CheckBoxTableSourceWrapperByObject<T>

Implementation of CheckBoxTableSourceWrapperBase which records toggled rows by a property on row objects.

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.

CollectionNavigatorBase

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.

ColorEventArgs

Event arguments for the Color events.

ColorParseException

An exception thrown when something goes wrong when trying to parse a Color.

ColorPicker

The ColorPickerView Color picker.

ColorScheme

Defines a standard set of Attributes for common visible elements in a View.

Colors

Holds the ColorSchemes that define the Attributes that are used by views to render themselves.

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.

ComboBox

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

ConfigProperty

Holds a property's value and the PropertyInfo that allows ConfigurationManager to get and set the property's value.

ConfigurationManager

Provides settings and configuration management for Terminal.Gui applications.

Users can set Terminal.Gui settings on a global or per-application basis by providing JSON formatted configuration files. The configuration files can be placed in at .tui folder in the user's home directory (e.g. C:/Users/username/.tui, or /usr/username/.tui), the folder where the Terminal.Gui application was launched from (e.g. ./.tui ), or as a resource within the Terminal.Gui application's main assembly.

Settings are defined in JSON format, according to this schema: https://gui-cs.github.io/Terminal.Gui/schemas/tui-config-schema.json

Settings that will apply to all applications (global settings) reside in files named config.json. Settings that will apply to a specific Terminal.Gui application reside in files named appname.config.json, where appname is the assembly name of the application (e.g. UICatalog.config.json).

Settings are applied using the following precedence (higher precedence settings overwrite lower precedence settings):

1. Application configuration found in the users' home directory (~/.tui/appname.config.json) -- Highest precedence

2. Application configuration found in the directory the app was launched from ( ./.tui/appname.config.json).

3. Application configuration found in the applications' resources (Resources/config.json).

4. Global configuration found in the user's home directory (~/.tui/config.json).

5. Global configuration found in the directory the app was launched from (./.tui/config.json).

6. Global configuration in Terminal.Gui.dll's resources (Terminal.Gui.Resources.config.json) -- Lowest Precedence.

ConfigurationManagerEventArgs

Event arguments for the ConfigurationManager events.

ConsoleDriver

Base class for Terminal.Gui ConsoleDriver implementations.

ContentsChangedEventArgs

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

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.

DataTableSource

ITableSource implementation that wraps a DataTable. This class is mutable: changes are permitted to the wrapped DataTable.

DateField

Simple Date editing View

DatePicker

The DatePickerView Date Picker.

DateTimeEventArgs<T>

Defines the event arguments for DateChanged and TimeChanged events.

DefaultFileOperations

Default file operation handlers using modal dialogs.

DelegateTreeBuilder<T>

Implementation of ITreeBuilder<T> that uses user defined functions

Dialog

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

Dim

A Dim object describes the dimensions of a View. Dim is the type of the Width and Height properties of View. Dim objects enable Computed Layout (see Computed) to automatically manage the dimensions of a view.

Integer values are implicitly convertible to an absolute Dim. These objects are created using the static methods described below. The Dim objects can be combined with the addition and subtraction operators.

Dim.DimAuto

A Dim object that automatically sizes the view to fit all the view's SubViews and/or Text.

DrawEventArgs

Event args for draw events

DrawTreeViewLineEventArgs<T>

Event args for the DrawLine event

EnumerableTableSource<T>

ITableSource implementation that wraps arbitrary data.

EscSeqReqStatus

Represents the status of an ANSI escape sequence request made to the terminal using EscSeqRequests.

EscSeqRequests

Manages ANSI Escape Sequence requests and responses. The list of EscSeqReqStatus contains the status of the request. Each request is identified by the terminator (e.g. ESC[8t ... t is the terminator).

EscSeqUtils

Provides a platform-independent API for managing ANSI escape sequences.

FakeConsole
FakeDriver

Implements a mock ConsoleDriver for unit testing

FakeDriver.Behaviors
FakeDriver.FakeClipboard
FileDialog

Modal dialog for selecting files/directories. Has auto-complete and expandable navigation pane (Recent, Root drives etc).

FileDialogStyle

Stores style settings for FileDialog.

FileSystemColorProvider

Provides a way to get the color of a file or directory.

FileSystemIconProvider

Determines which symbol to use to represent files and directories.

FileSystemTreeBuilder

TreeView builder for creating file system based trees.

FilesSelectedEventArgs

Event args for the FilesSelected event

FocusEventArgs

Defines the event arguments for SetFocus()

FrameView

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

GlyphDefinitions

Defines the standard set of glyphs used to draw checkboxes, lines, borders, etc...

GrabMouseEventArgs

Args GrabMouse(View) related events.

GraphCellToRender

Describes how to render a single row/column of a GraphView based on the value(s) in ISeries at that location

GraphView

View for rendering graphs (bar, scatter, etc...).

HexView

An hex viewer and editor View over a Stream

HexViewEditEventArgs

Defines the event arguments for Edited event.

HexViewEventArgs

Defines the event arguments for PositionChanged event.

HighlightEventArgs

Event arguments for the Highlight event.

HorizontalAxis

The horizontal (x axis) of a GraphView

IterationEventArgs

Event arguments for the Iteration event.

Justifier

Justifies items within a container based on the specified Justification.

Key

Provides an abstraction for common keyboard operations and state. Used for processing keyboard input and raising keyboard events.

KeyBinding

Provides a collection of Command objects that are scoped to KeyBindingScope.

KeyBindings

A class that provides a collection of KeyBinding objects bound to a Key.

KeyChangedEventArgs

Event args for when a Key is changed from one value to a new value (e.g. in HotKeyChanged)

KeyJsonConverter

Support for Key in JSON in the form of "Ctrl-X" or "Alt-Shift-F1".

KeystrokeNavigatorEventArgs

Event arguments for the SearchStringChanged 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.

LayoutEventArgs

Event arguments for the LayoutComplete event.

LegendAnnotation

A box containing symbol definitions e.g. meanings for colors in a graph. The 'Key' to the graph

Line

Draws a single line using the LineStyle specified by BorderStyle.

LineCanvas

Facilitates box drawing and line intersection detection and rendering. Does not support diagonal lines.

LineF

Describes two points in graph space and a line between them

LineView

A straight line control either horizontal or vertical

ListColumnStyle

Defines rendering options that affect how the view is displayed.

ListTableSource

ITableSource implementation that wraps a IList. This class is mutable: changes are permitted to the wrapped IList.

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

Provides a default implementation of IListDataSource that renders ListView items using ToString().

Margin

The Margin for a View.

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

MenuOpenedEventArgs

Defines arguments for the MenuOpened event

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

Conveys the details of mouse events, such as coordinates and button state, from ConsoleDrivers up to Application and Views.

MouseEventEventArgs

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

MouseFlagsChangedEventArgs

Args for events that describe a change in MouseFlags

MultiBarSeries

Collection of BarSeries in which bars are clustered by category

ObjectActivatedEventArgs<T>

Event args for the ObjectActivated event

OpenDialog

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

OrientationEventArgs

EventArgs for Orientation events.

Padding

The Padding for a View.

PathAnnotation

Sequence of lines to connect points e.g. of a ScatterSeries

PointEventArgs

Event args for events which relate to a single Point

PopupAutocomplete

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

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.

RowColorGetterArgs

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

Ruler

Draws a ruler on the screen.

RunState

The execution state for a Toplevel view.

RunStateEventArgs

Event arguments for events about RunState

RuneCell

Represents a single row/column within the TextView. Includes the glyph and the foreground/background colors.

RuneCellEventArgs

Args for events that relate to a specific RuneCell.

RuneExtensions

Extends Rune to support TUI text manipulation.

SaveDialog

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

ScatterSeries

Series composed of any number of discrete data points

Scope<T>

Defines a configuration settings scope. Classes that inherit from this abstract class can be used to define scopes for configuration settings. Each scope is a JSON object that contains a set of configuration settings.

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.

SelectedCellChangedEventArgs

Defines the event arguments for SelectedCellChanged

SelectedItemChangedArgs

Event arguments for the SelectedItemChagned event.

SelectionChangedEventArgs<T>

Event arguments describing a change in selected object in a tree view

SerializableConfigurationProperty

An attribute that can be applied to a property to indicate that it should included in the configuration file.

SettingsScope

The root object of Terminal.Gui configuration settings / JSON schema. Contains only properties attributed with SettingsScope.

ShortcutHelper

Represents a helper to manipulate shortcut keys used on views.

SingleWordSuggestionGenerator

ISuggestionGenerator which suggests from a collection of words those that match the AutocompleteContext. You can update AllSuggestions at any time to change candidates considered for autocomplete.

SizeChangedEventArgs

Args for events about Size (e.g. Resized)

Slider

Slider control.

SliderAttributes

Slider<T> Legend Style

SliderEventArgs<T>

EventArgs for Slider<T> events.

SliderOptionEventArgs

EventArgs for Slider<T>SliderOption<T> events.

SliderOption<T>

Represents an option in a Slider<T> .

SliderStyle

Slider<T> Style

Slider<T>

Provides a slider control letting the user navigate from a set of typed options in a linear manner using the keyboard or mouse.

SpinnerStyle

SpinnerStyles used in a SpinnerView.

SpinnerStyle.Aesthetic
SpinnerStyle.Aesthetic2
SpinnerStyle.Arc
SpinnerStyle.Arrow
SpinnerStyle.Arrow2
SpinnerStyle.Arrow3
SpinnerStyle.Balloon
SpinnerStyle.Balloon2
SpinnerStyle.BetaWave
SpinnerStyle.BluePulse
SpinnerStyle.Bounce
SpinnerStyle.BouncingBall
SpinnerStyle.BouncingBar
SpinnerStyle.BoxBounce
SpinnerStyle.BoxBounce2
SpinnerStyle.Christmas
SpinnerStyle.Circle
SpinnerStyle.CircleHalves
SpinnerStyle.CircleQuarters
SpinnerStyle.Clock
SpinnerStyle.Custom
SpinnerStyle.Dots
SpinnerStyle.Dots10
SpinnerStyle.Dots11
SpinnerStyle.Dots12
SpinnerStyle.Dots2
SpinnerStyle.Dots3
SpinnerStyle.Dots4
SpinnerStyle.Dots5
SpinnerStyle.Dots6
SpinnerStyle.Dots7
SpinnerStyle.Dots8
SpinnerStyle.Dots8Bit
SpinnerStyle.Dots9
SpinnerStyle.Dqpb
SpinnerStyle.Earth
SpinnerStyle.FingerDance
SpinnerStyle.FistBump
SpinnerStyle.Flip
SpinnerStyle.Grenade
SpinnerStyle.GrowHorizontal
SpinnerStyle.GrowVertical
SpinnerStyle.Hamburger
SpinnerStyle.Hearts
SpinnerStyle.Layer
SpinnerStyle.Line
SpinnerStyle.Line2
SpinnerStyle.Material
SpinnerStyle.MindBlown
SpinnerStyle.Monkey
SpinnerStyle.Moon
SpinnerStyle.Noise
SpinnerStyle.OrangeBluePulse
SpinnerStyle.OrangePulse
SpinnerStyle.Pipe
SpinnerStyle.Points
SpinnerStyle.Pong
SpinnerStyle.Runner
SpinnerStyle.Shark
SpinnerStyle.SimpleDots
SpinnerStyle.SimpleDotsScrolling
SpinnerStyle.Smiley
SpinnerStyle.SoccerHeader
SpinnerStyle.Speaker
SpinnerStyle.SquareCorners
SpinnerStyle.Squish
SpinnerStyle.Star
SpinnerStyle.Star2
SpinnerStyle.TimeTravelClock
SpinnerStyle.Toggle
SpinnerStyle.Toggle10
SpinnerStyle.Toggle11
SpinnerStyle.Toggle12
SpinnerStyle.Toggle13
SpinnerStyle.Toggle2
SpinnerStyle.Toggle3
SpinnerStyle.Toggle4
SpinnerStyle.Toggle5
SpinnerStyle.Toggle6
SpinnerStyle.Toggle7
SpinnerStyle.Toggle8
SpinnerStyle.Toggle9
SpinnerStyle.Triangle
SpinnerStyle.Weather
SpinnerView

A View which displays (by default) a spinning line character.

SplitterEventArgs

Provides data for TileView events.

StackExtensions

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

StateEventArgs<T>

EventArgs for events that convey state changes to a View class.

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

StatusItem

StatusItem objects are contained by StatusBarViews. Each StatusItem has a title, a shortcut (hotkey), and an Command 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 color of the Title will be changed after each ~. A Title set to ~F1~ Help will render as F1 using HotNormal and Help as HotNormal.

StepChangeEventArgs

EventArgs for WizardStep events.

StraightLine

A line between two points on a horizontal or vertical Orientation and a given style/color.

StraightLineExtensions

Extension methods for StraightLine (including collections).

StringEventArgs

Cancellable event args for string-based property change events.

StringExtensions

Extensions to string to support TUI text manipulation.

Suggestion

A replacement suggestion made by IAutocomplete

SuperViewChangedEventArgs

Args for events where the SuperView of a View is changed (e.g. Removed / Added events).

Tab

A single tab in a TabView.

TabChangedEventArgs

Describes a change in SelectedTab

TabMouseEventArgs

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

TabStyle

Describes render stylistic selections of a TabView

TabView

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

TableCollectionNavigator

Collection navigator for cycling selections in a TableView.

TableSelection

Describes a selected region of the table

TableStyle

Defines rendering options that affect how the table is displayed. See TableView Deep Dive for more information.

TableView

View for tabular data based on a ITableSource. See TableView Deep Dive for more information.

TextAnnotation

Displays text at a given position (in screen space or graph space)

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. Supports HotKeys, horizontal alignment, vertical alignment, multiple lines, and word-based line wrap.

TextValidateField

Text field that validates input through a ITextValidateProvider

TextView

Multi-line text editing View.

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.

ThemeManager

Contains a dictionary of the Themes for a Terminal.Gui application.

ThemeManagerEventArgs

Event arguments for the ThemeManager events.

ThemeScope

The root object for a Theme. A Theme is a set of settings that are applied to the running Application as a group.

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.

ThicknessEventArgs

Event arguments for the Thickness events.

Tile

A single ContentView presented in a TileView. To create new instances use RebuildForTileCount(int) or InsertTile(int).

TileView

A View consisting of a moveable bar that divides the display area into resizeable Tiles.

TimeField

Time editing View

Timeout

Provides data for timers running manipulation.

Toplevel

Toplevel views are used for both an application's main view (filling the entire screen and for modal (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 OverlappedChildren if needed.

ToplevelEqualityComparer

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

ToplevelEventArgs

Args for events that relate to a specific Toplevel.

TreeBuilder<T>

Abstract implementation of ITreeBuilder<T>.

TreeNode

Simple class for representing nodes, use with regular (non generic) TreeView.

TreeNodeBuilder

ITreeBuilder<T> implementation for ITreeNode objects

TreeStyle

Defines rendering options that affect how the tree is displayed.

TreeTableSource<T>

An ITableSource with expandable rows.

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.

VerticalAxis

The vertical (i.e. Y axis) of a GraphView

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, called SubViews. View provides basic functionality for layout, positioning, and drawing. In addition, View provides keyboard and mouse event handling.

ViewDiagnosticFlagsExtensions

Extension methods for the ViewDiagnosticFlagsenum type.

ViewEventArgs

Args for events that relate to specific View

Window

A ToplevelView with BorderStyle set to Single. Provides a container for other views.

Wizard

Provides navigation and a user interface (UI) to collect related data across multiple steps. Each step ( 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.

WizardButtonEventArgs

EventArgs for WizardStep transition events.

WizardStep

Represents a basic step that is displayed in a Wizard. The 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.

Structs

Attribute

Attributes represent how text is styled when displayed in the terminal.

Color

Represents a 24-bit color encoded in ARGB32 format.

Interfaces

IAllowedType

Interface for FileDialog restrictions on which file type(s) the user is allowed to select/enter.

IAnnotation

Describes an overlay element that is rendered either before or after a series.

Annotations can be positioned either in screen space (e.g. a legend) or in graph space (e.g. a line showing high point)

Unlike ISeries, annotations are allowed to draw into graph margins

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.

ICustomColorFormatter

An interface to support custom formatting and parsing of Color values.

IEnumerableTableSource<T>

Interface for all ITableSource which present an object per row (of type T ).

IFileOperations

Interface for defining how to handle file/directory deletion, rename and newing attempts in FileDialog.

IListDataSource

Implement IListDataSource to provide custom rendering for a ListView.

ISearchMatcher

Defines whether a given file/directory matches a set of search terms.

ISeries

Describes a series of data that can be rendered into a GraphView>

ISuggestionGenerator

Generates autocomplete Suggestion based on a given cursor location within a string

ITableSource

Tabular matrix of data to be displayed in a TableView.

ITreeBuilder<T>

Interface for supplying data to a TreeView<T> on demand as root level nodes are expanded by the user

ITreeNode

Interface to implement when you want the regular (non generic) TreeView to automatically determine children for your class (without having to specify an ITreeBuilder<T>)

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

AnsiColorCode

The 16 foreground color codes used by ANSI Esc sequences for 256 color terminals. Add 10 to these values for background color.

ColorName

Defines the 16 legacy color names and values that can be used to set the foreground and background colors in Terminal.Gui apps. Used with Color.

Command

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

ConfigurationManager.ConfigLocations

Describes the location of the configuration files. The constants can be combined (bitwise) to specify multiple locations.

CursorVisibility

Terminal Cursor Visibility settings.

Dialog.ButtonAlignments

Determines the horizontal alignment of the Dialog buttons.

Dim.DimAutoStyle

Specifies how Dim.DimAuto will compute the dimension.

Dim.Dimension
EscSeqUtils.ClearScreenOptions

Options for ANSI ESC "[xJ" - Clears part of the screen.

EscSeqUtils.DECSCUSR_Style

Styles for ANSI ESC "[x q" - Set Cursor Style

HighlightStyle

Describes the highlight style of a view.

Justification

Controls how the Justifier justifies items within a container.

KeyBindingScope

Defines the scope of a Command that has been bound to a key with Add(Key, params Command[]).

KeyCode

The KeyCode enumeration encodes key information from ConsoleDrivers and provides a consistent way for application code to specify keys and receive key events.

The Key class provides a higher-level abstraction, with helper methods and properties for common operations. For example, IsAlt and IsCtrl provide a convenient way to check whether the Alt or Ctrl modifier keys were pressed when a key was pressed.

LayoutStyle

Indicates the LayoutStyle for the View.

If Absolute, the X, Y, Width, and Height objects are all absolute values and are not relative. The position and size of the view is described by Frame.

If Computed, one or more of the X, Y, Width, or Height objects are relative to the SuperView and are computed at layout time.

LineStyle

Defines the style of lines for a LineCanvas.

MenuItemCheckStyle

Specifies how a MenuItem shows selection state.

MouseFlags

Mouse flags reported in MouseEvent.

OpenMode

Determine which System.IO type to open.

Orientation

Direction of an element (horizontal or vertical)

Pos.Side

Describes which side of the view to use for the position.

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.

SliderType

Slider<T> Types

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.

ViewArrangement

Describes what user actions are enabled for arranging a View within it's SuperView. See Arrangement.

ViewDiagnosticFlags

Enables diagnostic functions for View.

ViewportSettings

Settings for how the Viewport behaves relative to the View's Content area.

Delegates

AspectGetterDelegate<T>

Delegates of this type are used to fetch string representations of user's model objects

CellColorGetterDelegate

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

LabelGetterDelegate

Delegate for custom formatting of axis labels. Determines what should be displayed at a given label

RowColorGetterDelegate

Delegate for providing color for a whole row of a TableView

SplitterEventHandler

Represents a method that will handle splitter events.