scheme-overview.md 1.2 KB

A Scheme is named a mapping from VisualRoles (e.g. VisualRole.Focus) to Attributes, defining how a View should look based on its purpose (e.g. Menu or Dialog). @Terminal.Gui.SchemeManager.Schemes is a dictionary of Schemes, indexed by name.

A Scheme defines how Views look based on their semantic purpose. The following schemes are supported:

Scheme Name Description
Base The base scheme used for most Views.
Dialog The dialog scheme; used for Dialog, MessageBox, and other views dialog-like views.
Error The scheme for showing errors, such as in ErrorQuery.
Menu The menu scheme; used for Terminal.Gui.Menu, MenuBar, and StatusBar.
TopLevel The application TopLevel scheme; used for the TopLevel View.

@Terminal.Gui.SchemeManager manages the set of available schemes and provides a set of convenience methods for getting the current scheme and for overriding the default values for these schemes.

Scheme dialogScheme = SchemeManager.GetScheme (Schemes.Dialog);

ConfigurationManager can be used to override the default values for these schemes and add additional schemes.