2.5 KiB
View Deep Dive
View Lexicon & Taxonomy
Hierarchy
-
@"Terminal.Gui.View" - The base class for implementing higher-level visual/interactive Terminal.Gui elements. Implemented in the @Terminal.Gui.View base class.
-
SubView - A View that is contained in another view and will be rendered as part of the containing view's ContentArea. SubViews are added to another view via the @"Terminal.Gui.View.Add(Terminal.Gui.View)" method. A View may only be a SubView of a single View. Each View has a @Terminal.Gui.View.Subviews property that is a list of all Subviews that have been added.
-
@"Terminal.Gui.View.SuperView" - The View that is a container for SubViews. Each View has a @Terminal.Gui.View.SuperView property that references it's SuperView after it has been added.
-
Child View - A view that holds a reference to another view in a parent/child relationship. Terminal.Gui uses the terms "Child" and "Parent" sparingly. Generally Subview/SuperView is preferred.
-
Parent View - A view that holds a reference to another view in a parent/child relationship, but is NOT a SuperView of the child. Terminal.Gui uses the terms "Child" and "Parent" sparingly. Generally Subview/SuperView is preferred.
Layout
See the Layout Deep Dive and the Arrangement Deep Dive.
Drawing
See the Drawing Deep Dive.
Navigation
See the Navigation Deep Dive.
Application Concepts
-
TopLevel - The v1 term used to describe a view that can have a MenuBar and/or StatusBar. In v2, we will delete the
TopLevelclass and ensure ANY View can have a menu bar and/or status bar (viaAdornments).- NOTE: There will still be an
Application.Topwhich is the View that is the root of theApplication's view hierarchy.
- NOTE: There will still be an
-
Runnable - TBD
-
Modal - Modal - The term used when describing a View that was created using the
Application.Run(view)orApplication.Run<T>APIs. When a View is running as a modal, user input is restricted to just that View untilApplication.Runexits. AModalView has its ownRunState.- In v1, classes derived from
Dialogwere originally thought to only work modally. However,Wizardproved that aDialog-based class can also work non-modally. - In v2, we will simplify the
Dialogclass, and let any class be run viaApplicaiton.Run. TheModalproperty will be set byApplication.Runso the class can detect it is running modally if it needs to.
- In v1, classes derived from