Skip to content

Commit 2d41637

Browse files
authored
Merge pull request #1671 from tig/v1_5_0
v1.5.0 Release
2 parents 3040464 + 615bf80 commit 2d41637

File tree

123 files changed

+12233
-828
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+12233
-828
lines changed

README.md

+5-6
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ descriptors.
5959

6060
The input handling of **Terminal.Gui** is similar in some ways to Emacs and the Midnight Commander, so you can expect some of the special key combinations to be active.
6161

62-
The key `ESC` can act as an Alt modifier (or Meta in Emacs parlance), to allow input on terminals that do not have an alt key. So to produce the sequence `Alt-F`, you can press either `Alt-F`, or `ESC` followed by the key `F`.
62+
The key `ESC` can act as an Alt modifier (or Meta in Emacs parlance), to allow input on terminals that do not have an alt key. So to produce the sequence `Alt-F`, you can press either `Alt-F`, or `ESC` followed by the key `F`.
6363

6464
To enter the key `ESC`, you can either press `ESC` and wait 100 milliseconds, or you can press `ESC` twice.
6565

@@ -69,19 +69,19 @@ To enter the key `ESC`, you can either press `ESC` and wait 100 milliseconds, or
6969

7070
`CTRL-Q` is used for exiting views (and apps).
7171

72-
**Terminal.Gui** supports rebinding keys. For example the default key for activating a button is Enter. You can change this using the `ClearKeybinding` and `AddKeybinding` methods:
72+
**Terminal.Gui** supports rebinding keys. For example the default key for activating a button is Enter. You can change this using the `ClearKeybinding` and `AddKeybinding` methods:
7373

7474
```csharp
7575
var btn = new Button ("Press Me");
7676
btn.ClearKeybinding (Command.Accept);
7777
btn.AddKeyBinding (Key.b, Command.Accept);
7878
```
7979

80-
The `Command` enum lists generic operations that are implemented by views. For example `Command.Accept` in a Button results in the `Clicked` event firing while in `TableView` it is bound to `CellActivated`. Not all commands are implemented by all views (e.g. you cannot scroll in a Button). To see which commands are implemented by a View you can use the `GetSupportedCommands()` method.
80+
The `Command` enum lists generic operations that are implemented by views. For example `Command.Accept` in a Button results in the `Clicked` event firing while in `TableView` it is bound to `CellActivated`. Not all commands are implemented by all views (e.g. you cannot scroll in a Button). To see which commands are implemented by a View you can use the `GetSupportedCommands()` method.
8181

8282
Not all controls have the same key bound for a given command, for example `Command.Accept` defaults to `Key.Enter` in a `Button` but defaults to `Key.Space` in `RadioGroup`.
8383

84-
Keybindings only operate while a view has focus. To register global hotkeys you can override a view's `bool ProcessHotKey (KeyEvent kb)` method.
84+
Keybindings only operate while a view has focus. To register global hotkeys you can override a view's `bool ProcessHotKey (KeyEvent kb)` method.
8585

8686
### Driver model
8787

@@ -102,7 +102,6 @@ You can force the use of `System.Console` on Unix as well; see `Core.cs`.
102102
* **PowerShell's Out-ConsoleGridView** - The [`Out-ConsoleGridView` PowerShell Cmdlet](https://github.com/PowerShell/GraphicalTools/blob/master/docs/Microsoft.PowerShell.ConsoleGuiTools/Out-ConsoleGridView.md) sends the output from a command to a grid view window where the output is displayed in an interactive table. sends the output from a command to a grid view window where the output is displayed in an interactive table, using Terminal.Gui.
103103
* **[PoshRedisViewer](https://github.com/En3Tho/PoshRedisViewer)** - A compact Redis viewer module for PowerShell written in F# and Gui.cs
104104

105-
106105
## Documentation
107106

108107
* [Overview](https://migueldeicaza.github.io/gui.cs/articles/overview.html)
@@ -112,7 +111,7 @@ You can force the use of `System.Console` on Unix as well; see `Core.cs`.
112111
See the [`Terminal.Gui/` README](https://github.com/migueldeicaza/gui.cs/tree/master/Terminal.Gui) for an overview of how the library is structured. The [Conceptual Documentation](https://migueldeicaza.github.io/gui.cs/articles/index.html) provides insight into core concepts.
113112

114113
### Sample Usage
115-
The code below is done with the new [Top-level statements](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9#top-level-statements) in C# 9.0.
114+
The code below is done with the new [Top-level statements](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9#top-level-statements) in C# 9.0.
116115
```csharp
117116
using Terminal.Gui;
118117
using NStack;

Terminal.Gui/Terminal.Gui.csproj

+46-5
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,54 @@
5555
<Title>Terminal.Gui is a framework for creating console user interfaces</Title>
5656

5757
<PackageReleaseNotes>
58+
v1.5.0
59+
* Localization support added. en-US, Japanese, fr-FR, and pt-PT
60+
* Adds Key Binding support. Also refactors Autocomplete.
61+
* Adds a popup ContextMenu feature. Implements ContextMenu for TextField.
62+
* Adds HistoryText class for undo and redo text.
63+
* Adds mouse support and more features to the HexView.
64+
* Adds feature to display the sub-menus on a single frame instead multiple frames.
65+
* Adds Support for Colored ListView Items
66+
* Adds context menu and localization on TextView.
67+
* Cleanup of UI Catalog scenarios
68+
* #1666 Fixes the MenuIem Width for wider runes
69+
* #1658 Fixes wide runes not render well on NetDriver.
70+
* #1656 Cursor visibility fix.
71+
* #1652 Fixed Axis.Text being a field while every other class member is a property
72+
* #1651 Dispose `FileSystemWatcher` instance before creating another in `FileDialog`
73+
* #1639 Fixed TableView when redrawing a System.DataTable that has no columns
74+
* #1633 Fixes the WindowsDriver dirty redrawn on resizing if HeightAsBuffer is true.
75+
* #1630 Fixes TextField context menu not showing with the current localization.
76+
* #1629 Bump actions/checkout from 2 to 3
77+
* #1627 Table scroll fix
78+
* #1622 Changed Button Text property to use override instead of new.
79+
* #1614 Fixes the ProcessHotKey event.
80+
* #1612 Fixes the CanFocus equal to false from setting HasFocus to true again.
81+
* #1608 Implementing undo/redo to back tab key.
82+
* #1606 Fixes ComboBox text and list if the height is equal to one.
83+
* #1603 Fixes the auto-size text bug.
84+
* #1600 Fixes FileSystemWatcher exception on Linux.
85+
* #1599 Adding unit test for the ListView RowRender event.
86+
* #1596 Standalone update fix
87+
* #1595 Fixes #1588 - Documentation for keybinding
88+
* #1593 Fixes TableView not activating after keybinding refactor
89+
* #1586 fixing #1560 - Fix docfx errors and warnings
90+
* #1585 Fixes #1584 - ComboBox is hiding elements below from being clicked/focused
91+
* #1574 Use custom resolver for libcoreclr.so also for .NET 6.0
92+
* #1572 Added MenuOpened event and others bug fixes.
93+
* #1564 Fixes #1525 - Gives TextField the same backspace behavior as TextView
94+
* #1563 Fixes #1557 - Border and PanelView fixes
95+
* #1562 Fixes #1560. Documentation link broken.
96+
* #1561 Fixes #1559 - Added DesiredCursorVisibility to TreeView
97+
* #1550 Adding Application.Shutdown and updating ReactiveUI.Fody.
98+
5899
v1.4.0
59-
* #1546 Fixes #1535. Added IsMouseDisabled prop to Application
60-
* #1515 Upgrading to Net6.0
61-
* #1508 Allows ListView trigger the Enter and Leave events.
62-
* #1506 Prevents a Process breaks rendering on Linux.
100+
* #1546 Fixes #1535. Added IsMouseDisabled prop to Application
101+
* #1515 Upgrading to Net6.0
102+
* #1508 Allows ListView trigger the Enter and Leave events.
103+
* #1506 Prevents a Process breaks rendering on Linux.
63104
* #1505 Fixes #1499. Allowing border settings for the MessageBox.
64-
* #1504 Fixes #1502. Prevents high CPU usage.
105+
* #1504 Fixes #1502. Prevents high CPU usage.
65106

66107
v1.3.0
67108
* #1491 Fix link to MainLoop docs in README.md

UICatalog/UICatalog.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<OutputType>Exe</OutputType>
55
<TargetFramework>net6.0</TargetFramework>
66
<StartupObject>UICatalog.UICatalogApp</StartupObject>
7-
<AssemblyVersion>1.0.0.1</AssemblyVersion>
7+
<AssemblyVersion>1.5.0.0</AssemblyVersion>
88
<LangVersion>8.0</LangVersion>
99
</PropertyGroup>
1010

docs/api/Terminal.Gui/Terminal.Gui.Application.html

+53
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,34 @@ <h5 class="fieldValue">Field Value</h5>
229229
</tr>
230230
</tbody>
231231
</table>
232+
<h4 id="Terminal_Gui_Application_RootKeyEvent" data-uid="Terminal.Gui.Application.RootKeyEvent">RootKeyEvent</h4>
233+
<div class="markdown level1 summary">
234+
<p>
235+
Called for new KeyPress events before any processing is performed or
236+
views evaluate. Use for global key handling and/or debugging.
237+
</p>
238+
<p>Return true to suppress the KeyPress event</p>
239+
</div>
240+
<div class="markdown level1 conceptual"></div>
241+
<h5 class="decalaration">Declaration</h5>
242+
<div class="codewrapper">
243+
<pre><code class="lang-csharp hljs">public static Func&lt;KeyEvent, bool&gt; RootKeyEvent</code></pre>
244+
</div>
245+
<h5 class="fieldValue">Field Value</h5>
246+
<table class="table table-bordered table-striped table-condensed">
247+
<thead>
248+
<tr>
249+
<th>Type</th>
250+
<th>Description</th>
251+
</tr>
252+
</thead>
253+
<tbody>
254+
<tr>
255+
<td><span class="xref">System.Func</span>&lt;<a class="xref" href="Terminal.Gui.KeyEvent.html">KeyEvent</a>, <span class="xref">System.Boolean</span>&gt;</td>
256+
<td></td>
257+
</tr>
258+
</tbody>
259+
</table>
232260
<h4 id="Terminal_Gui_Application_RootMouseEvent" data-uid="Terminal.Gui.Application.RootMouseEvent">RootMouseEvent</h4>
233261
<div class="markdown level1 summary">
234262
Merely a debugging aid to see the raw mouse events
@@ -529,6 +557,31 @@ <h5 class="propertyValue">Property Value</h5>
529557
</tr>
530558
</tbody>
531559
</table>
560+
<a id="Terminal_Gui_Application_SupportedCultures_" data-uid="Terminal.Gui.Application.SupportedCultures*"></a>
561+
<h4 id="Terminal_Gui_Application_SupportedCultures" data-uid="Terminal.Gui.Application.SupportedCultures">SupportedCultures</h4>
562+
<div class="markdown level1 summary">
563+
Gets all supported cultures by the application without the invariant language.
564+
</div>
565+
<div class="markdown level1 conceptual"></div>
566+
<h5 class="decalaration">Declaration</h5>
567+
<div class="codewrapper">
568+
<pre><code class="lang-csharp hljs">public static List&lt;CultureInfo&gt; SupportedCultures { get; }</code></pre>
569+
</div>
570+
<h5 class="propertyValue">Property Value</h5>
571+
<table class="table table-bordered table-striped table-condensed">
572+
<thead>
573+
<tr>
574+
<th>Type</th>
575+
<th>Description</th>
576+
</tr>
577+
</thead>
578+
<tbody>
579+
<tr>
580+
<td><span class="xref">System.Collections.Generic.List</span>&lt;<span class="xref">System.Globalization.CultureInfo</span>&gt;</td>
581+
<td></td>
582+
</tr>
583+
</tbody>
584+
</table>
532585
<a id="Terminal_Gui_Application_Top_" data-uid="Terminal.Gui.Application.Top*"></a>
533586
<h4 id="Terminal_Gui_Application_Top" data-uid="Terminal.Gui.Application.Top">Top</h4>
534587
<div class="markdown level1 summary">

0 commit comments

Comments
 (0)