* tweaked version # for v1.0.0-beta.10
* tweaked version # for v1.0.0-beta.11
* Updated readme and revision history for 1.0
* tweaked rel notes
* Regenerated docs for v1.0.0.0
* updating build docs
* updating docs
* updated readme
* updated readme
* more docs
* more docs
* Refactored for clarity
* tweaks
* updated info on versioning
* merged with main. updated relnotes
* updated api docs
* updated README to point to new docs
* merged from future v1.0.0 branch
* regen apidocs
* add code coverage badge generation to publish
* add code coverage badge generation to publish
* tweaked badge
@@ -76,7 +78,7 @@ You can force the use of `System.Console` on Unix as well; see `Core.cs`.
## Showcase & Examples
## Showcase & Examples
-* **[UI Catalog](https://github.com/migueldeicaza/gui.cs/tree/master/UICatalog)** - The UI Catalog project provides an easy to use and extend sample illustrating the capabilities of **Terminal.Gui**. Run `dotnet run` in the `UICatalog` directory to run the UI Catalog.
+* **[UI Catalog](https://github.com/migueldeicaza/gui.cs/tree/master/UICatalog)** - The UI Catalog project provides an easy to use and extend sample illustrating the capabilities of **Terminal.Gui**. Run `dotnet run --project UICatalog` to run the UI Catalog.
* **[Reactive Example](https://github.com/migueldeicaza/gui.cs/tree/master/ReactiveExample)** - A sample app that shows how to use `System.Reactive` and `ReactiveUI` with `Terminal.Gui`. The app uses the MVVM architecture that may seem familiar to folks coming from WPF, Xamarin Forms, UWP, Avalonia, or Windows Forms. In this app, we implement the data bindings using ReactiveUI `WhenAnyValue` syntax and [Pharmacist](https://github.com/reactiveui/pharmacist) — a tool that converts all events in a NuGet package into observable wrappers.
* **[Reactive Example](https://github.com/migueldeicaza/gui.cs/tree/master/ReactiveExample)** - A sample app that shows how to use `System.Reactive` and `ReactiveUI` with `Terminal.Gui`. The app uses the MVVM architecture that may seem familiar to folks coming from WPF, Xamarin Forms, UWP, Avalonia, or Windows Forms. In this app, we implement the data bindings using ReactiveUI `WhenAnyValue` syntax and [Pharmacist](https://github.com/reactiveui/pharmacist) — a tool that converts all events in a NuGet package into observable wrappers.
* **[Example (aka `demo.cs`)](https://github.com/migueldeicaza/gui.cs/tree/master/Example)** - Run `dotnet run` in the `Example` directory to run the simple demo.
* **[Example (aka `demo.cs`)](https://github.com/migueldeicaza/gui.cs/tree/master/Example)** - Run `dotnet run` in the `Example` directory to run the simple demo.
* **[Standalone Example](https://github.com/migueldeicaza/gui.cs/tree/master/StandaloneExample)** - A trivial .NET core sample application can be found in the `StandaloneExample` directory. Run `dotnet run` in directory to test.
* **[Standalone Example](https://github.com/migueldeicaza/gui.cs/tree/master/StandaloneExample)** - A trivial .NET core sample application can be found in the `StandaloneExample` directory. Run `dotnet run` in directory to test.
-* Windows, Mac, and Linux - Build and run using the .NET SDK command line tools (`dotnet build` in the root directory). Run `UICatalog` with `dotnet ./UICatalog/bin/Debug/net5.0/UICatalog.dll` or by directly executing `./UICatalog/bin/Debug/net5.0/UICatalog.exe`.
+* Windows, Mac, and Linux - Build and run using the .NET SDK command line tools (`dotnet build` in the root directory). Run `UICatalog` with `dotnet run --project ./UICatalog` or by directly executing `./UICatalog/bin/Debug/net5.0/UICatalog.exe`.
* Windows - Open `Terminal.Gui.sln` with Visual Studio 2019.
* Windows - Open `Terminal.Gui.sln` with Visual Studio 2019.
@@ -24,32 +24,49 @@ Contains all files required to build the **Terminal.Gui** library (and nuget pac
Version info for Terminal.Gui is managed by MinVer (https://github.com/adamralph/minver).
Version info for Terminal.Gui is managed by MinVer (https://github.com/adamralph/minver).
-To release a new version simply tag a commit
+The project version (the nuget package and in `Terminal.Gui.dlls`) is determined from the latest `git tag`.
+
+The format of version numbers is `vmajor.minor.patch.build.height` and follows the [Semantic Versioning](https://semver.org/) rules.
+
+To define a new version (e.g. with a higher `major`, `minor`, `patch`, or `build` value) tag a commit using `git tag`:
+
+```powershell
+git tag v1.3.4-beta.5 -a -m "v1.3.4 Beta 5"
+dotnet build -c Release
+``
+
+If the current commit does not have a version tag, another number is added to the pre-release identifiers. This is the number of commits since the latest commit with a version tag or, if no commits have a version tag, since the root commit. This is known as "height". For example, if the latest version tag found is 1.0.0-beta.1, at a height of 42 commits, the calculated version is 1.0.0-beta.1.42.
+
+You can see the version in the `UICatalog` about box or by viewing the "Details" page of the file properties of `/Terminal.Gui/bin/Release/net5.0/Terminal.Gui.dll.
+To release a new version (e.g. with a higher `major`, `minor`, or `patch` value) tag a commit using `git tag` and then push that tag directly to the upstream repo:
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+The <a class="xref" href="Terminal.Gui.TextField.html">TextField</a> control responds to the following keys:
+<table><thead><tr><th>Keys</th><th>Function</th></tr></thead><tbody><tr><td><a class="xref" href="Terminal.Gui.Key.html#Terminal_Gui_Key_Delete">Delete</a>, <a class="xref" href="Terminal.Gui.Key.html#Terminal_Gui_Key_Backspace">Backspace</a></td><td>Deletes the character before cursor.</td></tr></tbody></table>
@@ -485,7 +497,7 @@ Initializes a new instance of the <a class="xref" href="Terminal.Gui.Dialog.html
<div class="markdown level1 remarks">
<div class="markdown level1 remarks">
<p>
<p>
Te Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container.
Te Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container.
-After initialzation use <code>X</code>, <code>Y</code>, <code>Width</code>, and <code>Height</code> to override this with a location or size.
+After initialization use <code>X</code>, <code>Y</code>, <code>Width</code>, and <code>Height</code> to override this with a location or size.
</p>
</p>
<p>
<p>
Use <a class="xref" href="Terminal.Gui.Dialog.html#Terminal_Gui_Dialog_AddButton_Terminal_Gui_Button_">AddButton(Button)</a> to add buttons to the dialog.
Use <a class="xref" href="Terminal.Gui.Dialog.html#Terminal_Gui_Dialog_AddButton_Terminal_Gui_Button_">AddButton(Button)</a> to add buttons to the dialog.
@@ -540,7 +552,7 @@ and an optional set of <a class="xref" href="Terminal.Gui.Button.html">Button</a
<div class="markdown level1 remarks">
<div class="markdown level1 remarks">
if <code>width</code> and <code>height</code> are both 0, the Dialog will be vertically and horizontally centered in the
if <code>width</code> and <code>height</code> are both 0, the Dialog will be vertically and horizontally centered in the
container and the size will be 85% of the container.
container and the size will be 85% of the container.
-After initialzation use <code>X</code>, <code>Y</code>, <code>Width</code>, and <code>Height</code> to override this with a location or size.
+After initialization use <code>X</code>, <code>Y</code>, <code>Width</code>, and <code>Height</code> to override this with a location or size.
</div>
</div>
@@ -580,7 +592,7 @@ and with an optional set of <a class="xref" href="Terminal.Gui.Button.html">Butt
+Invoked by <a class="xref" href="Terminal.Gui.Application.html#Terminal_Gui_Application_Begin_Terminal_Gui_Toplevel_">Begin(Toplevel)</a> as part of the <a class="xref" href="Terminal.Gui.Application.html#Terminal_Gui_Application_Run_Terminal_Gui_Toplevel_System_Func_System_Exception_System_Boolean__">Run(Toplevel, Func<Exception, Boolean>)</a> after
+the views have been laid out, and before the views are drawn for the first time.
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Gets or sets the frame for the view. The frame is relative to the view's container (<a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_SuperView">SuperView</a>).
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -616,12 +630,22 @@ Each Key indicates an offset where an edit was made and the Value is the changed
+ Change the Frame when using the <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a> layout style to move or resize views.
+</p>
+<p>
+ Altering the Frame of a view will trigger the redrawing of the
+ view as well as the redrawing of the affected regions of the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_SuperView">SuperView</a>.
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Initializes a new instance of <a class="xref" href="Terminal.Gui.View.html">View</a> using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a> layout.
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -463,15 +477,28 @@ The <a class="xref" href="Terminal.Gui.Label.html">Label</a> view is functionali
<tr>
<tr>
<td><span class="xref">NStack.ustring</span></td>
<td><span class="xref">NStack.ustring</span></td>
<td><span class="parametername">text</span></td>
<td><span class="parametername">text</span></td>
- <td></td>
+ <td>text to initialize the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Text">Text</a> property with.</td>
+ The <a class="xref" href="Terminal.Gui.View.html">View</a> will be created using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>
+ coordinates with the given string. The initial size (<a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> will be
+ adjusted to fit the contents of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Text">Text</a>, including newlines ('\n') for multiple lines.
+</p>
+<p>
+ If <code>Height</code> is greater than one, word wrapping is provided.
+Initializes a new instance of <a class="xref" href="Terminal.Gui.View.html">View</a> using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a> layout.
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -490,25 +517,39 @@ The <a class="xref" href="Terminal.Gui.Label.html">Label</a> view is functionali
<tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">x</span></td>
<td><span class="parametername">x</span></td>
- <td></td>
+ <td>column to locate the Label.</td>
</tr>
</tr>
<tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">y</span></td>
<td><span class="parametername">y</span></td>
- <td></td>
+ <td>row to locate the Label.</td>
</tr>
</tr>
<tr>
<tr>
<td><span class="xref">NStack.ustring</span></td>
<td><span class="xref">NStack.ustring</span></td>
<td><span class="parametername">text</span></td>
<td><span class="parametername">text</span></td>
- <td></td>
+ <td>text to initialize the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Text">Text</a> property with.</td>
+ The <a class="xref" href="Terminal.Gui.View.html">View</a> will be created at the given
+ coordinates with the given string. The size (<a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> will be
+ adjusted to fit the contents of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Text">Text</a>, including newlines ('\n') for multiple lines.
+Initializes a new instance of a <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a> <a class="xref" href="Terminal.Gui.View.html">View</a> class with the absolute
+dimensions specified in the <code>frame</code> parameter.
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -527,15 +568,22 @@ The <a class="xref" href="Terminal.Gui.Label.html">Label</a> view is functionali
+This constructor initialize a View with a <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a>. Use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View__ctor">View()</a> to
+initialize a View with <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>
+Initializes a new instance of <a class="xref" href="Terminal.Gui.View.html">View</a> using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a> layout.
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -554,22 +602,35 @@ The <a class="xref" href="Terminal.Gui.Label.html">Label</a> view is functionali
+ The <a class="xref" href="Terminal.Gui.View.html">View</a> will be created at the given
+ coordinates with the given string. The initial size (<a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> will be
+ adjusted to fit the contents of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Text">Text</a>, including newlines ('\n') for multiple lines.
+</p>
+<p>
+ If <code>rect.Height</code> is greater than one, word wrapping is provided.
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Presents an error <a class="xref" href="Terminal.Gui.MessageBox.html">MessageBox</a> with the specified title and message and a list of buttons to show to the user.
+</div>
+ <div class="markdown level1 conceptual"></div>
+ <h5 class="decalaration">Declaration</h5>
+ <div class="codewrapper">
+ <pre><code class="lang-csharp hljs">public static int ErrorQuery(ustring title, ustring message, int defaultButton = 0, params ustring[] buttons)</code></pre>
+Presents an error <a class="xref" href="Terminal.Gui.MessageBox.html">MessageBox</a> with the specified title and message and a list of buttons to show to the user.
+</div>
+ <div class="markdown level1 conceptual"></div>
+ <h5 class="decalaration">Declaration</h5>
+ <div class="codewrapper">
+ <pre><code class="lang-csharp hljs">public static int ErrorQuery(int width, int height, ustring title, ustring message, int defaultButton = 0, params ustring[] buttons)</code></pre>
+Use <a class="xref" href="Terminal.Gui.MessageBox.html#Terminal_Gui_MessageBox_ErrorQuery_NStack_ustring_NStack_ustring_NStack_ustring___">ErrorQuery(ustring, ustring, ustring[])</a> instead; it automatically sizes the MessageBox based on the contents.
+Presents an error <a class="xref" href="Terminal.Gui.MessageBox.html">MessageBox</a> with the specified title and message and a list of buttons to show to the user.
+</div>
+ <div class="markdown level1 conceptual"></div>
+ <h5 class="decalaration">Declaration</h5>
+ <div class="codewrapper">
+ <pre><code class="lang-csharp hljs">public static int Query(ustring title, ustring message, int defaultButton = 0, params ustring[] buttons)</code></pre>
Use <a class="xref" href="Terminal.Gui.MessageBox.html#Terminal_Gui_MessageBox_Query_NStack_ustring_NStack_ustring_NStack_ustring___">Query(ustring, ustring, ustring[])</a> instead; it automatically sizes the MessageBox based on the contents.
Use <a class="xref" href="Terminal.Gui.MessageBox.html#Terminal_Gui_MessageBox_Query_NStack_ustring_NStack_ustring_NStack_ustring___">Query(ustring, ustring, ustring[])</a> instead; it automatically sizes the MessageBox based on the contents.
+Presents a normal <a class="xref" href="Terminal.Gui.MessageBox.html">MessageBox</a> with the specified title and message and a list of buttons to show to the user.
+</div>
+ <div class="markdown level1 conceptual"></div>
+ <h5 class="decalaration">Declaration</h5>
+ <div class="codewrapper">
+ <pre><code class="lang-csharp hljs">public static int Query(int width, int height, ustring title, ustring message, int defaultButton = 0, params ustring[] buttons)</code></pre>
+Use <a class="xref" href="Terminal.Gui.MessageBox.html#Terminal_Gui_MessageBox_Query_NStack_ustring_NStack_ustring_NStack_ustring___">Query(ustring, ustring, ustring[])</a> instead; it automatically sizes the MessageBox based on the contents.
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+True to show the top lip of tabs. False to directly begin with tab text during
+rendering. When true header line occupies 3 rows, when false only 2.
+Defaults to true.
+
+<p>When <a class="xref" href="Terminal.Gui.TabView.TabStyle.html#Terminal_Gui_TabView_TabStyle_TabsOnBottom">TabsOnBottom</a> is enabled this instead applies to the
+Initialzies a <a class="xref" href="Terminal.Gui.TabView.html">TabView</a> class using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a> layout.
+The default <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_MaxTabTextWidth">MaxTabTextWidth</a> to set on new <a class="xref" href="Terminal.Gui.TabView.html">TabView</a> controls
+Render choices for how to display tabs. After making changes, call <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_ApplyStyleChanges">ApplyStyleChanges()</a>
+Adds the given <code data-dev-comment-type="paramref" class="paramref">tab</code> to <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_Tabs">Tabs</a>
+Updates <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_TabScrollOffset">TabScrollOffset</a> to ensure that <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_SelectedTab">SelectedTab</a> is visible
+Updates <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_TabScrollOffset">TabScrollOffset</a> to be a valid index of <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_Tabs">Tabs</a>
+ <div class="markdown level1 remarks">Changes will not be immediately visible in the display until you call <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_SetNeedsDisplay">SetNeedsDisplay()</a></div>
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Removes the given <code data-dev-comment-type="paramref" class="paramref">tab</code> from <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_Tabs">Tabs</a>.
+Caller is responsible for disposing the tab's hosted <a class="xref" href="Terminal.Gui.TabView.Tab.html#Terminal_Gui_TabView_Tab_View">View</a>
+Changes the <a class="xref" href="Terminal.Gui.TabView.html#Terminal_Gui_TabView_SelectedTab">SelectedTab</a> by the given <code data-dev-comment-type="paramref" class="paramref">amount</code>.
+Positive for right, negative for left. If no tab is currently selected then
-The column index of the <a class="xref" href="Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Table">Table</a> cell that is being activated
+The column index of the <a class="xref" href="Terminal.Gui.TableView.CellActivatedEventArgs.html#Terminal_Gui_TableView_CellActivatedEventArgs_Table">Table</a> cell that is being activated
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -198,10 +198,10 @@ The column index of the <a class="xref" href="Terminal.Gui.CellActivatedEventArg
-The row index of the <a class="xref" href="Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Table">Table</a> cell that is being activated
+The row index of the <a class="xref" href="Terminal.Gui.TableView.CellActivatedEventArgs.html#Terminal_Gui_TableView_CellActivatedEventArgs_Table">Table</a> cell that is being activated
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -225,8 +225,8 @@ The row index of the <a class="xref" href="Terminal.Gui.CellActivatedEventArgs.h
-Describes how to render a given column in a <a class="xref" href="Terminal.Gui.TableView.html">TableView</a> including <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Alignment">Alignment</a>
+Describes how to render a given column in a <a class="xref" href="Terminal.Gui.TableView.html">TableView</a> including <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_Alignment">Alignment</a>
and textual representation of cells (e.g. date formats)
and textual representation of cells (e.g. date formats)
<a href="https://migueldeicaza.github.io/gui.cs/articles/tableview.html">See TableView Deep Dive for more information</a>.
<a href="https://migueldeicaza.github.io/gui.cs/articles/tableview.html">See TableView Deep Dive for more information</a>.
@@ -93,7 +93,7 @@ and textual representation of cells (e.g. date formats)
-Defines a delegate for returning custom alignment per cell based on cell values. When specified this will override <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Alignment">Alignment</a>
+Defines a delegate for returning custom alignment per cell based on cell values. When specified this will override <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_Alignment">Alignment</a>
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -155,9 +155,9 @@ Defines a delegate for returning custom alignment per cell based on cell values.
-Defines a delegate for returning custom representations of cell values. If not set then <span class="xref">System.Object.ToString()</span> is used. Return values from your delegate may be truncated e.g. based on <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_MaxWidth">MaxWidth</a>
+Defines a delegate for returning custom representations of cell values. If not set then <span class="xref">System.Object.ToString()</span> is used. Return values from your delegate may be truncated e.g. based on <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_MaxWidth">MaxWidth</a>
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -183,10 +183,10 @@ Defines a delegate for returning custom representations of cell values. If not
-Defines the default alignment for all values rendered in this column. For custom alignment based on cell contents use <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_AlignmentGetter">AlignmentGetter</a>.
+Defines the default alignment for all values rendered in this column. For custom alignment based on cell contents use <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_AlignmentGetter">AlignmentGetter</a>.
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -210,8 +210,8 @@ Defines the default alignment for all values rendered in this column. For custo
Set the maximum width of the column in characters. This value will be ignored if more than the tables <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth">MaxCellWidth</a>. Defaults to <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_DefaultMaxCellWidth">DefaultMaxCellWidth</a>
Set the maximum width of the column in characters. This value will be ignored if more than the tables <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth">MaxCellWidth</a>. Defaults to <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_DefaultMaxCellWidth">DefaultMaxCellWidth</a>
</div>
</div>
@@ -264,10 +264,10 @@ Set the maximum width of the column in characters. This value will be ignored i
-Set the minimum width of the column in characters. This value will be ignored if more than the tables <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth">MaxCellWidth</a> or the <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_MaxWidth">MaxWidth</a>
+Set the minimum width of the column in characters. This value will be ignored if more than the tables <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth">MaxCellWidth</a> or the <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_MaxWidth">MaxWidth</a>
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -293,10 +293,10 @@ Set the minimum width of the column in characters. This value will be ignored i
-Returns the alignment for the cell based on <code data-dev-comment-type="paramref" class="paramref">cellValue</code> and <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_AlignmentGetter">AlignmentGetter</a>/<a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Alignment">Alignment</a>
+Returns the alignment for the cell based on <code data-dev-comment-type="paramref" class="paramref">cellValue</code> and <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_AlignmentGetter">AlignmentGetter</a>/<a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_Alignment">Alignment</a>
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -337,8 +337,8 @@ Returns the alignment for the cell based on <code data-dev-comment-type="paramre
Returns the full string to render (which may be truncated if too long) that the current style says best represents the given <code data-dev-comment-type="paramref" class="paramref">value</code>
Returns the full string to render (which may be truncated if too long) that the current style says best represents the given <code data-dev-comment-type="paramref" class="paramref">value</code>
The previous selected column index. May be invalid e.g. when the selection has been changed as a result of replacing the existing Table with a smaller one
The previous selected column index. May be invalid e.g. when the selection has been changed as a result of replacing the existing Table with a smaller one
</div>
</div>
@@ -262,8 +262,8 @@ The previous selected column index. May be invalid e.g. when the selection has
-Corner of the <a class="xref" href="Terminal.Gui.TableSelection.html#Terminal_Gui_TableSelection_Rect">Rect</a> where selection began
+Corner of the <a class="xref" href="Terminal.Gui.TableView.TableSelection.html#Terminal_Gui_TableView_TableSelection_Rect">Rect</a> where selection began
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -189,8 +189,8 @@ Corner of the <a class="xref" href="Terminal.Gui.TableSelection.html#Terminal_Gu
-Returns the entry from <a class="xref" href="Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ColumnStyles">ColumnStyles</a> for the given <code data-dev-comment-type="paramref" class="paramref">col</code> or null if no custom styling is defined for it
+Returns the entry from <a class="xref" href="Terminal.Gui.TableView.TableStyle.html#Terminal_Gui_TableView_TableStyle_ColumnStyles">ColumnStyles</a> for the given <code data-dev-comment-type="paramref" class="paramref">col</code> or null if no custom styling is defined for it
-Returns an existing <a class="xref" href="Terminal.Gui.ColumnStyle.html">ColumnStyle</a> for the given <code data-dev-comment-type="paramref" class="paramref">col</code> or creates a new one with default options
+Returns an existing <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html">TableView.ColumnStyle</a> for the given <code data-dev-comment-type="paramref" class="paramref">col</code> or creates a new one with default options
-The default maximum cell width for <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth">MaxCellWidth</a> and <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_MaxWidth">MaxWidth</a>
+The default maximum cell width for <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth">MaxCellWidth</a> and <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_MaxWidth">MaxWidth</a>
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -640,7 +652,7 @@ When <a class="xref" href="Terminal.Gui.TableView.html#Terminal_Gui_TableView_Mu
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Gets or sets the frame for the view. The frame is relative to the view's container (<a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_SuperView">SuperView</a>).
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -629,12 +645,22 @@ Get / Set the wished cursor when the field is focused
+ Change the Frame when using the <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a> layout style to move or resize views.
+</p>
+<p>
+ Altering the Frame of a view will trigger the redrawing of the
+ view as well as the redrawing of the affected regions of the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_SuperView">SuperView</a>.
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
Upon a 'get' of this property, if the text needs to be formatted (if <a class="xref" href="Terminal.Gui.TextFormatter.html#Terminal_Gui_TextFormatter_NeedsFormat">NeedsFormat</a> is <code>true</code>)
Upon a 'get' of this property, if the text needs to be formatted (if <a class="xref" href="Terminal.Gui.TextFormatter.html#Terminal_Gui_TextFormatter_NeedsFormat">NeedsFormat</a> is <code>true</code>)
-<a class="xref" href="Terminal.Gui.TextFormatter.html#Terminal_Gui_TextFormatter_Format_NStack_ustring_System_Int32_Terminal_Gui_TextAlignment_System_Boolean_">Format(ustring, Int32, TextAlignment, Boolean)</a> will be called internally.
+<a class="xref" href="Terminal.Gui.TextFormatter.html#Terminal_Gui_TextFormatter_Format_NStack_ustring_System_Int32_System_Boolean_System_Boolean_System_Boolean_">Format(ustring, Int32, Boolean, Boolean, Boolean)</a> will be called internally.
</p>
</p>
</div>
</div>
@@ -409,6 +436,33 @@ The text to be displayed. This text is never modified.
+ <td>If <code>true</code>, the text will be wrapped to new lines as need. If <code>false</code>, forces text to fit a single line. Line breaks are converted to spaces. The text will be clipped to <code>width</code></td>
+ <td>If <code>true</code> and 'wordWrap' also true, the wrapped text will keep the trailing spaces. If <code>false</code>, the trailing spaces will be trimmed.</td>
<td>If <code>true</code>, the text will be wrapped to new lines as need. If <code>false</code>, forces text to fit a single line. Line breaks are converted to spaces. The text will be clipped to <code>width</code></td>
<td>If <code>true</code>, the text will be wrapped to new lines as need. If <code>false</code>, forces text to fit a single line. Line breaks are converted to spaces. The text will be clipped to <code>width</code></td>
+ <td>If <code>true</code> and 'wordWrap' also true, the wrapped text will keep the trailing spaces. If <code>false</code>, the trailing spaces will be trimmed.</td>
+ </tr>
</tbody>
</tbody>
</table>
</table>
<h5 class="returns">Returns</h5>
<h5 class="returns">Returns</h5>
@@ -682,7 +871,7 @@ Reformats text into lines, applying text alignment and optionally wrapping text
+Text field that validates input through a <a class="xref" href="Terminal.Gui.TextValidateProviders.ITextValidateProvider.html">ITextValidateProvider</a>
+ <pre><code class="lang-csharp hljs">public class TextValidateField<T> : View, IDisposable, ISupportInitializeNotification, ISupportInitialize where T : ITextValidateProvider</code></pre>
+Initializes a new instance of the <a class="xref" href="Terminal.Gui.TextValidateField-1.html">TextValidateField<T></a> class using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a> positioning.
+Initializes a new instance of the <a class="xref" href="Terminal.Gui.TextValidateField-1.html">TextValidateField<T></a> class using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a> positioning.
+Initializes a new instance of the <a class="xref" href="Terminal.Gui.TextValidateField-1.html">TextValidateField<T></a> class using <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a> positioning.
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Insert character <code data-dev-comment-type="paramref" class="paramref">ch</code> in position <code data-dev-comment-type="paramref" class="paramref">pos</code>.
+</div>
+ <div class="markdown level1 conceptual"></div>
+ <h5 class="decalaration">Declaration</h5>
+ <div class="codewrapper">
+ <pre><code class="lang-csharp hljs">bool InsertAt(char ch, int pos)</code></pre>
+.Net MaskedTextProvider Provider for TextValidateField.
+<p>
+<p><a href="https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.maskedtextprovider?view=net-5.0">Wrapper around MaskedTextProvider</a></p>
+Insert character <code data-dev-comment-type="paramref" class="paramref">ch</code> in position <code data-dev-comment-type="paramref" class="paramref">pos</code>.
+</div>
+ <div class="markdown level1 conceptual"></div>
+ <h5 class="decalaration">Declaration</h5>
+ <div class="codewrapper">
+ <pre><code class="lang-csharp hljs">public bool InsertAt(char ch, int pos)</code></pre>
+Insert character <code data-dev-comment-type="paramref" class="paramref">ch</code> in position <code data-dev-comment-type="paramref" class="paramref">pos</code>.
+</div>
+ <div class="markdown level1 conceptual"></div>
+ <h5 class="decalaration">Declaration</h5>
+ <div class="codewrapper">
+ <pre><code class="lang-csharp hljs">public bool InsertAt(char ch, int pos)</code></pre>
+.Net MaskedTextProvider Provider for TextValidateField.
+<p>
+<p><a href="https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.maskedtextprovider?view=net-5.0">Wrapper around MaskedTextProvider</a></p>
+The <a class="xref" href="Terminal.Gui.TextField.html">TextField</a> control responds to the following keys:
+<table><thead><tr><th>Keys</th><th>Function</th></tr></thead><tbody><tr><td><a class="xref" href="Terminal.Gui.Key.html#Terminal_Gui_Key_Delete">Delete</a>, <a class="xref" href="Terminal.Gui.Key.html#Terminal_Gui_Key_Backspace">Backspace</a></td><td>Deletes the character before cursor.</td></tr></tbody></table>
+The Views that have been added to this view can be retrieved via the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Subviews">Subviews</a> property. See also <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Remove_Terminal_Gui_View_">Remove(View)</a> <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_RemoveAll">RemoveAll()</a>
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Removes a subview added via <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View_">Add(View)</a> or <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View___">Add(View[])</a> from this View.
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -911,11 +990,16 @@ Convenience factory method that creates a new Toplevel with the current terminal
+Removes all subviews (children) added via <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View_">Add(View)</a> or <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View___">Add(View[])</a> from this View.
Initialises <a class="xref" href="Terminal.Gui.TreeView-1.html#Terminal_Gui_TreeView_1_TreeBuilder">TreeBuilder</a>.Creates a new tree view with absolute
Initialises <a class="xref" href="Terminal.Gui.TreeView-1.html#Terminal_Gui_TreeView_1_TreeBuilder">TreeBuilder</a>.Creates a new tree view with absolute
positioning. Use <a class="xref" href="Terminal.Gui.TreeView-1.html#Terminal_Gui_TreeView_1_AddObjects_System_Collections_Generic_IEnumerable__0__">AddObjects(IEnumerable<T>)</a> to set set root
positioning. Use <a class="xref" href="Terminal.Gui.TreeView-1.html#Terminal_Gui_TreeView_1_AddObjects_System_Collections_Generic_IEnumerable__0__">AddObjects(IEnumerable<T>)</a> to set set root
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
Creates a new instance of the tree control with absolute positioning and initialises
Creates a new instance of the tree control with absolute positioning and initialises
-<a class="xref" href="Terminal.Gui.TreeBuilder-1.html">TreeBuilder<T></a> with default <a class="xref" href="Terminal.Gui.ITreeNode.html">ITreeNode</a> based builder
+<a class="xref" href="Terminal.Gui.Trees.TreeBuilder-1.html">TreeBuilder<T></a> with default <a class="xref" href="Terminal.Gui.Trees.ITreeNode.html">ITreeNode</a> based builder
-Returns true if <a class="xref" href="Terminal.Gui.ITreeBuilder-1.html#Terminal_Gui_ITreeBuilder_1_CanExpand__0_">CanExpand(T)</a> is implemented by this class
+Returns true if <a class="xref" href="Terminal.Gui.Trees.ITreeBuilder-1.html#Terminal_Gui_Trees_ITreeBuilder_1_CanExpand__0_">CanExpand(T)</a> is implemented by this class
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -142,12 +142,12 @@ Returns true if <a class="xref" href="Terminal.Gui.ITreeBuilder-1.html#Terminal_
Returns true/false for whether a model has children. This method should be implemented
Returns true/false for whether a model has children. This method should be implemented
-when <a class="xref" href="Terminal.Gui.ITreeBuilder-1.html#Terminal_Gui_ITreeBuilder_1_GetChildren__0_">GetChildren(T)</a> is an expensive operation otherwise
-<a class="xref" href="Terminal.Gui.ITreeBuilder-1.html#Terminal_Gui_ITreeBuilder_1_SupportsCanExpand">SupportsCanExpand</a> should return false (in which case this method will not
+when <a class="xref" href="Terminal.Gui.Trees.ITreeBuilder-1.html#Terminal_Gui_Trees_ITreeBuilder_1_GetChildren__0_">GetChildren(T)</a> is an expensive operation otherwise
+<a class="xref" href="Terminal.Gui.Trees.ITreeBuilder-1.html#Terminal_Gui_Trees_ITreeBuilder_1_SupportsCanExpand">SupportsCanExpand</a> should return false (in which case this method will not
-The newly selected value in the <a class="xref" href="Terminal.Gui.SelectionChangedEventArgs-1.html#Terminal_Gui_SelectionChangedEventArgs_1_Tree">Tree</a> (can be null)
+The newly selected value in the <a class="xref" href="Terminal.Gui.Trees.SelectionChangedEventArgs-1.html#Terminal_Gui_Trees_SelectionChangedEventArgs_1_Tree">Tree</a> (can be null)
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -214,8 +214,8 @@ The newly selected value in the <a class="xref" href="Terminal.Gui.SelectionChan
-Constructs base and initializes <a class="xref" href="Terminal.Gui.TreeBuilder-1.html#Terminal_Gui_TreeBuilder_1_SupportsCanExpand">SupportsCanExpand</a>
+Constructs base and initializes <a class="xref" href="Terminal.Gui.Trees.TreeBuilder-1.html#Terminal_Gui_Trees_TreeBuilder_1_SupportsCanExpand">SupportsCanExpand</a>
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -171,7 +171,7 @@ Constructs base and initializes <a class="xref" href="Terminal.Gui.TreeBuilder-1
+Returns true if <a class="xref" href="Terminal.Gui.Trees.ITreeBuilder-1.html#Terminal_Gui_Trees_ITreeBuilder_1_CanExpand__0_">CanExpand(T)</a> is implemented by this class
-Override this method to return a rapid answer as to whether <a class="xref" href="Terminal.Gui.TreeBuilder-1.html#Terminal_Gui_TreeBuilder_1_GetChildren__0_">GetChildren(T)</a>
+Override this method to return a rapid answer as to whether <a class="xref" href="Terminal.Gui.Trees.TreeBuilder-1.html#Terminal_Gui_Trees_TreeBuilder_1_GetChildren__0_">GetChildren(T)</a>
returns results. If you are implementing this method ensure you passed true in base
returns results. If you are implementing this method ensure you passed true in base
-constructor or set <a class="xref" href="Terminal.Gui.TreeBuilder-1.html#Terminal_Gui_TreeBuilder_1_SupportsCanExpand">SupportsCanExpand</a>
+constructor or set <a class="xref" href="Terminal.Gui.Trees.TreeBuilder-1.html#Terminal_Gui_Trees_TreeBuilder_1_SupportsCanExpand">SupportsCanExpand</a>
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -252,9 +254,12 @@ constructor or set <a class="xref" href="Terminal.Gui.TreeBuilder-1.html#Termina
@@ -158,9 +160,9 @@ View is the base class for all views on the screen and represents a visible elem
</p>
</p>
<p>
<p>
Views supports two layout styles: Absolute or Computed. The choice as to which layout style is used by the View
Views supports two layout styles: Absolute or Computed. The choice as to which layout style is used by the View
- is determined when the View is initizlied. To create a View using Absolute layout, call a constructor that takes a
+ is determined when the View is initialized. To create a View using Absolute layout, call a constructor that takes a
Rect parameter to specify the absolute position and size (the <code>View.<a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a></code>)/. To create a View
Rect parameter to specify the absolute position and size (the <code>View.<a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a></code>)/. To create a View
- using Computed layout use a constructor that does not take a Rect parametr and set the X, Y, Width and Height
+ using Computed layout use a constructor that does not take a Rect parameter and set the X, Y, Width and Height
properties on the view. Both approaches use coordinates that are relative to the container they are being added to.
properties on the view. Both approaches use coordinates that are relative to the container they are being added to.
</p>
</p>
<p>
<p>
@@ -180,7 +182,7 @@ if the terminal size changes.
</p>
</p>
<p>
<p>
Absolute layout requires specifying coordinates and sizes of Views explicitly, and the
Absolute layout requires specifying coordinates and sizes of Views explicitly, and the
- View will typcialy stay in a fixed position and size. To change the position and size use the
+ View will typically stay in a fixed position and size. To change the position and size use the
@@ -248,7 +250,7 @@ Initializes a new instance of <a class="xref" href="Terminal.Gui.View.html">View
If <code>Height</code> is greater than one, word wrapping is provided.
If <code>Height</code> is greater than one, word wrapping is provided.
</p>
</p>
<p>
<p>
- This constructor intitalize a View with a <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
+ This constructor initialize a View with a <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
Use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_X">X</a>, <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Y">Y</a>, <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Width">Width</a>, and <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Height">Height</a> properties to dynamically control the size and location of the view.
Use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_X">X</a>, <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Y">Y</a>, <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Width">Width</a>, and <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Height">Height</a> properties to dynamically control the size and location of the view.
</p>
</p>
</div>
</div>
@@ -374,7 +376,7 @@ dimensions specified in the <code>frame</code> parameter.
-This constructor intitalize a View with a <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a>. Use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View__ctor">View()</a> to
+This constructor initialize a View with a <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Absolute">Absolute</a>. Use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View__ctor">View()</a> to
initialize a View with <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>
initialize a View with <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> of <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>
</div>
</div>
@@ -498,7 +500,9 @@ control for tasks such as drawing on the surface of the control.
-Gets or sets the height of the view. Only used whe <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
+Gets or sets the height of the view. Only used the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -1206,6 +1212,60 @@ Gets or sets how the View's <a class="xref" href="Terminal.Gui.View.html#Te
+Gets or sets the direction of the View's <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Text">Text</a>. Changing this property will redisplay the <a class="xref" href="Terminal.Gui.View.html">View</a>.
+Gets or sets how the View's <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Text">Text</a> is aligned verticaly when drawn. Changing this property will redisplay the <a class="xref" href="Terminal.Gui.View.html">View</a>.
-Gets or sets the width of the view. Only used whe <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
+Gets or sets the width of the view. Only used the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -1321,7 +1381,7 @@ If <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">L
-Gets or sets the X position for the view (the column). Only used whe <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
+Gets or sets the X position for the view (the column). Only used the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -1352,7 +1412,7 @@ If <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">L
-Gets or sets the Y position for the view (the row). Only used whe <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
+Gets or sets the Y position for the view (the row). Only used the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_LayoutStyle">LayoutStyle</a> is <a class="xref" href="Terminal.Gui.LayoutStyle.html#Terminal_Gui_LayoutStyle_Computed">Computed</a>.
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -1630,7 +1690,7 @@ Removes the <span class="xref">Terminal.Gui.View.SetNeedsLayout</span> setting o
-Removes the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_SetNeedsDisplay">SetNeedsDisplay()</a> and the <span class="xref">Terminal.Gui.View.ChildNeedsDisplay()</span> setting on this view.
+Removes the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_SetNeedsDisplay">SetNeedsDisplay()</a> and the <span class="xref">Terminal.Gui.View.ChildNeedsDisplay</span> setting on this view.
</div>
</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
@@ -1660,7 +1720,7 @@ Sets the <a class="xref" href="Terminal.Gui.ConsoleDriver.html">ConsoleDriver</a
- <td>The existing driver's clip region, which can be then re-eapplied by setting <code><a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Driver">Driver</a>.Clip</code> (<a class="xref" href="Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Clip">Clip</a>).</td>
+ <td>The existing driver's clip region, which can be then re-applied by setting <code><a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Driver">Driver</a>.Clip</code> (<a class="xref" href="Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Clip">Clip</a>).</td>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
@@ -1672,7 +1732,9 @@ Sets the <a class="xref" href="Terminal.Gui.ConsoleDriver.html">ConsoleDriver</a
+The Views that have been added to this view can be retrieved via the <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Subviews">Subviews</a> property. See also <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Remove_Terminal_Gui_View_">Remove(View)</a> <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_RemoveAll">RemoveAll()</a>
+ Always use <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Bounds">Bounds</a> (view-relative) when calling <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a>, NOT <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Frame">Frame</a> (superview-relative).
+</p>
+<p>
+ Views should set the color that they want to use on entry, as otherwise this will inherit
+ the last color that was set globally on the driver.
+</p>
+<p>
+ Overrides of <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Redraw_Terminal_Gui_Rect_">Redraw(Rect)</a> must ensure they do not set <code>Driver.Clip</code> to a clip region
+Removes a subview added via <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View_">Add(View)</a> or <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View___">Add(View[])</a> from this View.
+</div>
<div class="markdown level1 conceptual"></div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<div class="codewrapper">
@@ -835,11 +873,16 @@ The title to be displayed for this window.
+Removes all subviews (children) added via <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View_">Add(View)</a> or <a class="xref" href="Terminal.Gui.View.html#Terminal_Gui_View_Add_Terminal_Gui_View___">Add(View[])</a> from this View.
Button is a <a class="xref" href="Terminal.Gui.View.html">View</a> that provides an item that invokes an <span class="xref">System.Action</span> when activated by the user.
Button is a <a class="xref" href="Terminal.Gui.View.html">View</a> that provides an item that invokes an <span class="xref">System.Action</span> when activated by the user.
@@ -125,13 +121,6 @@ The default <a class="xref" href="Terminal.Gui.ColorScheme.html">ColorScheme</a>
Color scheme definitions, they cover some common scenarios and are used
Color scheme definitions, they cover some common scenarios and are used
typically in containers such as <a class="xref" href="Terminal.Gui.Window.html">Window</a> and <a class="xref" href="Terminal.Gui.FrameView.html">FrameView</a> to set the scheme that is used by all the
typically in containers such as <a class="xref" href="Terminal.Gui.Window.html">Window</a> and <a class="xref" href="Terminal.Gui.FrameView.html">FrameView</a> to set the scheme that is used by all the
-Describes how to render a given column in a <a class="xref" href="Terminal.Gui.TableView.html">TableView</a> including <a class="xref" href="Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Alignment">Alignment</a>
-and textual representation of cells (e.g. date formats)
-
-<a href="https://migueldeicaza.github.io/gui.cs/articles/tableview.html">See TableView Deep Dive for more information</a>.
Defines the event arguments for <a class="xref" href="Terminal.Gui.DateField.html#Terminal_Gui_DateField_DateChanged">DateChanged</a> and <a class="xref" href="Terminal.Gui.TimeField.html#Terminal_Gui_TimeField_TimeChanged">TimeChanged</a> events.
Defines the event arguments for <a class="xref" href="Terminal.Gui.DateField.html#Terminal_Gui_DateField_DateChanged">DateChanged</a> and <a class="xref" href="Terminal.Gui.TimeField.html#Terminal_Gui_TimeField_TimeChanged">TimeChanged</a> events.
@@ -309,21 +282,52 @@ The colour of the <a class="xref" href="Terminal.Gui.StatusItem.html#Terminal_Gu
A <a class="xref" href="Terminal.Gui.StatusItem.html#Terminal_Gui_StatusItem_Title">Title</a> set to `~F1~ Help` will render as *F1* using <a class="xref" href="Terminal.Gui.ColorScheme.html#Terminal_Gui_ColorScheme_HotNormal">HotNormal</a> and
A <a class="xref" href="Terminal.Gui.StatusItem.html#Terminal_Gui_StatusItem_Title">Title</a> set to `~F1~ Help` will render as *F1* using <a class="xref" href="Terminal.Gui.ColorScheme.html#Terminal_Gui_ColorScheme_HotNormal">HotNormal</a> and
*Help* as <a class="xref" href="Terminal.Gui.ColorScheme.html#Terminal_Gui_ColorScheme_HotNormal">HotNormal</a>.
*Help* as <a class="xref" href="Terminal.Gui.ColorScheme.html#Terminal_Gui_ColorScheme_HotNormal">HotNormal</a>.
+Describes how to render a given column in a <a class="xref" href="Terminal.Gui.TableView.html">TableView</a> including <a class="xref" href="Terminal.Gui.TableView.ColumnStyle.html#Terminal_Gui_TableView_ColumnStyle_Alignment">Alignment</a>
+and textual representation of cells (e.g. date formats)
<a href="https://migueldeicaza.github.io/gui.cs/articles/tableview.html">See TableView Deep Dive for more information</a>.
<a href="https://migueldeicaza.github.io/gui.cs/articles/tableview.html">See TableView Deep Dive for more information</a>.
+Text field that validates input through a <a class="xref" href="Terminal.Gui.TextValidateProviders.ITextValidateProvider.html">ITextValidateProvider</a>
@@ -106,7 +106,7 @@ will see how applications are put together.</p>
<p>In the example above, you can see that we have initialized the runtime by calling the
<p>In the example above, you can see that we have initialized the runtime by calling the
<a href="../api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Init"><code>Init</code></a> method in the Application class - this sets up the environment, initializes the color
<a href="../api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Init"><code>Init</code></a> method in the Application class - this sets up the environment, initializes the color
schemes available for your application and clears the screen to start your application.</p>
schemes available for your application and clears the screen to start your application.</p>
-<p>The <a href="../api/Terminal.Gui/Terminal.Gui.Application.html"><code>Application</code></a> class, additionally creates an instance of the [Toplevel]((../api/Terminal.Gui/Terminal.Gui.Toplevel.html) class that is ready to be consumed,
+<p>The <a href="../api/Terminal.Gui/Terminal.Gui.Application.html"><code>Application</code></a> class, additionally creates an instance of the <a href="../api/Terminal.Gui/Terminal.Gui.Toplevel.html"><code>Toplevel</code></a> class that is ready to be consumed,
this instance is available in the <code>Application.Top</code> property, and can be used like this:</p>
this instance is available in the <code>Application.Top</code> property, and can be used like this:</p>