Terminal.Gui.csproj 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. <Project Sdk="Microsoft.NET.Sdk">
  2. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  3. <DebugType>portable</DebugType>
  4. </PropertyGroup>
  5. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  6. <DefineConstants>TRACE;DEBUG_IDISPOSABLE</DefineConstants>
  7. <DebugType>portable</DebugType>
  8. </PropertyGroup>
  9. <PropertyGroup>
  10. <!-- Version numbers are automatically updated by gitversion when a release is released -->
  11. <!-- In the source tree the version will always be 1.0 for all projects. -->
  12. <!-- Do not modify these. -->
  13. <AssemblyVersion>1.0</AssemblyVersion>
  14. <FileVersion>1.0</FileVersion>
  15. <Version>1.0</Version>
  16. <InformationalVersion>1.0</InformationalVersion>
  17. </PropertyGroup>
  18. <ItemGroup>
  19. <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2" PrivateAssets="all" />
  20. <PackageReference Include="NStack.Core" Version="0.17.1" />
  21. <InternalsVisibleTo Include="UnitTests" />
  22. </ItemGroup>
  23. <!-- Uncomment the RestoreSources element to have dotnet restore pull NStack from a local dir for testing -->
  24. <PropertyGroup>
  25. <!-- See https://stackoverflow.com/a/44463578/297526 -->
  26. <!--<RestoreSources>$(RestoreSources);../../local-packages;https://api.nuget.org/v3/index.json</RestoreSources>-->
  27. </PropertyGroup>
  28. <!-- API Documentation -->
  29. <ItemGroup>
  30. <None Include="..\docfx\images\logo.png">
  31. <Pack>True</Pack>
  32. <PackagePath>\</PackagePath>
  33. </None>
  34. <None Include="..\README.md">
  35. <Pack>True</Pack>
  36. <PackagePath>\</PackagePath>
  37. </None>
  38. </ItemGroup>
  39. <ItemGroup>
  40. <Compile Update="Resources\Strings.Designer.cs">
  41. <DesignTime>True</DesignTime>
  42. <AutoGen>True</AutoGen>
  43. <DependentUpon>Strings.resx</DependentUpon>
  44. </Compile>
  45. </ItemGroup>
  46. <ItemGroup>
  47. <EmbeddedResource Update="Resources\Strings.resx">
  48. <Generator>ResXFileCodeGenerator</Generator>
  49. <LastGenOutput>Strings.Designer.cs</LastGenOutput>
  50. </EmbeddedResource>
  51. </ItemGroup>
  52. <!-- Enable Nuget Source Link for github -->
  53. <ItemGroup>
  54. <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
  55. </ItemGroup>
  56. <PropertyGroup>
  57. <TargetFrameworks>net472;netstandard2.0;net6.0</TargetFrameworks>
  58. <RootNamespace>Terminal.Gui</RootNamespace>
  59. <AssemblyName>Terminal.Gui</AssemblyName>
  60. <DocumentationFile>bin\Release\Terminal.Gui.xml</DocumentationFile>
  61. <GenerateDocumentationFile Condition=" '$(Configuration)' == 'Release' ">true</GenerateDocumentationFile>
  62. <!--<GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>-->
  63. <PackageId>Terminal.Gui</PackageId>
  64. <PackageLicenseExpression>MIT</PackageLicenseExpression>
  65. <PackageProjectUrl>https://github.com/gui-cs/Terminal.Gui/</PackageProjectUrl>
  66. <RepositoryUrl>https://github.com/gui-cs/Terminal.Gui.git</RepositoryUrl>
  67. <RepositoryType>git</RepositoryType>
  68. <IncludeSymbols>true</IncludeSymbols>
  69. <SymbolPackageFormat>snupkg</SymbolPackageFormat>
  70. <!-- Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
  71. <PublishRepositoryUrl>true</PublishRepositoryUrl>
  72. <!-- Embed source files that are not tracked by the source control manager in the PDB -->
  73. <EmbedUntrackedSources>true</EmbedUntrackedSources>
  74. <PackageIcon>logo.png</PackageIcon>
  75. <PackageReadmeFile>README.md</PackageReadmeFile>
  76. <PackageTags>csharp, terminal, c#, f#, gui, toolkit, console, tui</PackageTags>
  77. <Description>Cross Platform Terminal UI toolkit for .NET</Description>
  78. <Owners>Miguel de Icaza, Charlie Kindel</Owners>
  79. <Summary>A toolkit for building rich console apps for .NET that works on Windows, Mac, and Linux/Unix.</Summary>
  80. <Title>Terminal.Gui - Cross Platform Terminal user interface toolkit for .NET</Title>
  81. <PackageReleaseNotes>
  82. v1.6.4
  83. * Fixes #1750. Erroneous suppression of Button Text updates.
  84. * Fixes #1753. Update all .csproj files with Release version # upon Release
  85. * Fixes #1742. Explicitly dispose old TreeView instances in UICatalog scenario
  86. * Fixes #1748. Add horizontal scroll idicators to TableView
  87. * StandaloneExample: Updated to use latest version and added help menu
  88. v1.6.0
  89. * Adds ColorPicker control
  90. * Adds Context Menu to TreeView
  91. * Adds support for custom colors in TreeView
  92. * Adds Data field to MenuItem
  93. * Adds Timeout thread safety
  94. * Adds better docs for Application.Shutdown ()
  95. * Fixes #1699. Menu closes on button press and menu hot-key text renders correctly
  96. * Fixes #1675. ContextMenu MenuItems typo
  97. * Fixes #1715. UI Catalog about box version
  98. * Fixes #1712. Intermittent Github Action build failures
  99. * Fixes remaining wide runes render issues including #1693 Character Map
  100. * Fixes the draw clip bounds issue visible on ScrollView.
  101. * Fixes UpdateScreen running twice on Application.Refresh because Driver. Refresh already does.
  102. * Fixes TextView throwing when WordWrap is true on constructor initialization.
  103. * Fixes RunTimers not checking for key collisions in list when adding to timeouts
  104. * Fixes erroneous namespace on LineView to match other views
  105. * Fixes #1723. ProgressBar with Percentage has extra spaces on the right
  106. * Fixes nullref on unclean shutdown
  107. * Fixes Thin tabview
  108. * Fixes #1732. Toplevel shouldn't clear the buffer.
  109. * Fixes #1730. AllViewsTester throw exception on Dim.Percent.
  110. v1.5.0
  111. * Localization support added. en-US, Japanese, fr-FR, and pt-PT
  112. * Adds Key Binding support. Also refactors Autocomplete.
  113. * Adds a popup ContextMenu feature. Implements ContextMenu for TextField.
  114. * Adds HistoryText class for undo and redo text.
  115. * Adds mouse support and more features to the HexView.
  116. * Adds feature to display the sub-menus on a single frame instead multiple frames.
  117. * Adds Support for Colored ListView Items
  118. * Adds context menu and localization on TextView.
  119. * Cleanup of UI Catalog scenarios
  120. * #1666 Fixes the MenuIem Width for wider runes
  121. * #1658 Fixes wide runes not render well on NetDriver.
  122. * #1656 Cursor visibility fix.
  123. * #1652 Fixed Axis.Text being a field while every other class member is a property
  124. * #1651 Dispose `FileSystemWatcher` instance before creating another in `FileDialog`
  125. * #1639 Fixed TableView when redrawing a System.DataTable that has no columns
  126. * #1633 Fixes the WindowsDriver dirty redrawn on resizing if HeightAsBuffer is true.
  127. * #1630 Fixes TextField context menu not showing with the current localization.
  128. * #1629 Bump actions/checkout from 2 to 3
  129. * #1627 Table scroll fix
  130. * #1622 Changed Button Text property to use override instead of new.
  131. * #1614 Fixes the ProcessHotKey event.
  132. * #1612 Fixes the CanFocus equal to false from setting HasFocus to true again.
  133. * #1608 Implementing undo/redo to back tab key.
  134. * #1606 Fixes ComboBox text and list if the height is equal to one.
  135. * #1603 Fixes the auto-size text bug.
  136. * #1600 Fixes FileSystemWatcher exception on Linux.
  137. * #1599 Adding unit test for the ListView RowRender event.
  138. * #1596 Standalone update fix
  139. * #1595 Fixes #1588 - Documentation for keybinding
  140. * #1593 Fixes TableView not activating after keybinding refactor
  141. * #1586 fixing #1560 - Fix docfx errors and warnings
  142. * #1585 Fixes #1584 - ComboBox is hiding elements below from being clicked/focused
  143. * #1574 Use custom resolver for libcoreclr.so also for .NET 6.0
  144. * #1572 Added MenuOpened event and others bug fixes.
  145. * #1564 Fixes #1525 - Gives TextField the same backspace behavior as TextView
  146. * #1563 Fixes #1557 - Border and PanelView fixes
  147. * #1562 Fixes #1560. Documentation link broken.
  148. * #1561 Fixes #1559 - Added DesiredCursorVisibility to TreeView
  149. * #1550 Adding Application.Shutdown and updating ReactiveUI.Fody.
  150. v1.4.0
  151. * #1546 Fixes #1535. Added IsMouseDisabled prop to Application
  152. * #1515 Upgrading to Net6.0
  153. * #1508 Allows ListView trigger the Enter and Leave events.
  154. * #1506 Prevents a Process breaks rendering on Linux.
  155. * #1505 Fixes #1499. Allowing border settings for the MessageBox.
  156. * #1504 Fixes #1502. Prevents high CPU usage.
  157. v1.3.0
  158. * #1491 Fix link to MainLoop docs in README.md
  159. * #1489 Dynamic menu/statusbar and Enable property fix.
  160. * #1488 Fixed label positions to begin at Margins not just bottom left of screen
  161. * #1486 Scrollbarview ensures host always focused.
  162. * #1484 NetDriver fixes keys modifiers not reseting and enter key on Windows Terminal.
  163. * #1479 Trying updating FSharpExample to net5.0
  164. * #1478 Fixes #1475. Selection ending with a white space error.
  165. * #1476 Added PoshRedisViewer to the list of Showcases/Examples
  166. * #1473 Bump ReportGenerator from 4.8.12 to 4.8.13
  167. * #1472 ComboBox cursonDownKey nullref fix
  168. * #1468 Fixes #1467. AlternateForward/BackwardKey bypasses dialog modality
  169. * #1466 Fixes WindowsDriver HeightAsBuffer set to false.
  170. * #1450 Added Application.QuitKey property to allow change the quitting application key.
  171. * #1449 Bump ReactiveMarbles.ObservableEvents.SourceGenerator from 1.1.3 to 1.1.4
  172. * #1448 Fixes #1445. Fixing more the Curses and WSL clipboard.
  173. * #1447 Fixes #1446. Added more features to the Border and Toplevel focus.
  174. * #1441 Fixes #1438. Backspace not redrawing screen under some situations.
  175. * #1440 feature: Don't pull Terminal.Gui from NuGet, use ReactiveMarbles.ObservableEvents
  176. * #1437 Fixed bug setting ColorScheme on Autocomplete
  177. * #1436 Border feature
  178. * #1432 tweaked readme
  179. v1.2.1
  180. * Fixes code block fencing
  181. * NetDriver triple click mouse bug fix.
  182. * WindowsDriver double click mouse bug fix.
  183. * Fixes CursesDriver mouse and reset issue.
  184. * Correctly mark the .NET Framework reference assemblies as private.
  185. * Fix version conflicts caused by PR#1412
  186. * Autocomplete for TextView
  187. * Fixes #1402. Only WindowsDriver supports horizontal scroll.
  188. * Fixes #1396. Using the Loaded event instead the Ready event.
  189. * Fixes #1394. Added ReflectedType to check for overridden.
  190. * Fixes #1389. Added a unidirectional feature to the Marquee styles to the ProgressBar.
  191. * Fixes #1387. Allowing the UnitTests project to test internal keywords.
  192. * Fixes #1384. Added a VisibleChanged event on the View class.
  193. * Fixes #1381. Unit tests to demonstrate the Key enum ambiguity check.
  194. * Fixes #546. Enhancement ProgressBar.
  195. * Disables MinVer on Debug builds
  196. * Adds Lineview
  197. * CheckBox AutoSize should initialize with the Label default.
  198. * Fixes to avoid exception with the ComboBox in All Views Tester.
  199. * Simplifying FrameView constructors avoiding redundant code.
  200. * Button text should be centered by default.
  201. * Fixes #1078. ColorScheme setter now calls SetNeedsDisplay.
  202. * Bump ReportGenerator from 4.8.11 to 4.8.12
  203. * Fixes #1314. TextView now exposes file exceptions from callers.
  204. * Prevents application crash if OS clipboard is not supported.
  205. * Fixes #1358. Attribute.Foreground / Attribute.Background now working with CursesDriver
  206. * Added support for coloring cells in TableView
  207. * More unit test for issue #1344, testing IsVertical as False.
  208. * Fix for #1353 (tab view not refreshing in some circumstances)
  209. * Fixes #1344. Setting showBothScrollIndicator to false on the constructor don't throws NullReferenceException anymore.
  210. * Fixes #1341. Now if AutoSize is true the Bounds size is always updated by using the Dim.Fill or the Dim.Absolute.
  211. * Resolves: Add GitHub Codespaces configuration
  212. * Expose TextView color methods as protected virtual (allows custom colors)
  213. * Fixes InvalidOperationException from throwing when removing the label on the LabelsAsLabels scenario.
  214. * Added a Initialize method to the Window to simplify the constructors.
  215. * Fixes GetCurrentWidth and GetCurrentHeight providing the correct current values.
  216. * Fixes CursesDriver resize issue.
  217. * Toplevel improvement as a subviews container without frame borders.
  218. * Prevents ListView top to be less than zero if source count is zero.
  219. * Fixes #1326. Prevent selected item to be equal to the source count.
  220. * Fixes #1327. Fixes TextField backspace and canceling TextChanging.
  221. * Prevents WindowSize event from being always triggered in Netdriver unnecessarily.
  222. * Fix bug where series/annotations are added during render
  223. * Fixes #1318. Ensures that the OS clipboard is always sets.
  224. * Fixes #983. Improving clipboard with interaction with the OS.
  225. * Added Attributes tests; balanced Application.Init/Shutdown
  226. v1.1.1
  227. * Fixes #1307 - MainLoop timeouts duplicate keys error.
  228. v1.1.0
  229. * TextView CursorLeft/CursorRight change focus when at start/end #1271
  230. * Fixes #1273 - Add direction summaries
  231. * Fixes #1276 - Added TextDirection constructor to View and Label and improving AutoSize
  232. * Fixes #1272 - Fixes Linux/Mac window sizing
  233. * Fixes #1281 - Fixed CursesDriver colors. Added BasicColors scenario
  234. * Fixes #1266 - Using Ctrl+PageUp/PageDown to allowing navigate through windows.
  235. * TableView - adds last column dividing line #1289
  236. * Fixes #1291. Combining two PosAbsolute or two DimAbsolute result on a PosAbsolute or DimAbsolute
  237. * Changed Console.WriteLine to ITestOutputHelper in tests #1305
  238. v1.0.0
  239. * Version 1.0 Release!!! - Thank you to @migueldeicaza, @tig, @bdisp, @tznind, @jmprricone, and many more!
  240. v1.0.0-rc.13
  241. * NEW CONTROL: GraphView - thanks @tznind!
  242. * Fixes #1256 - OutConsoleGridView no longer works - ENTER does not work
  243. v1.0.0-rc.12
  244. * Fixes #1257 - ListView's ProcessKey should return false if no OpenSelectedItem handler is defined
  245. v1.0.0-rc.10
  246. * Fixes #931. Fixed the limit 25 lines issue
  247. * Fixes #1251. Fixes TextValidateProvider exception on the All View Tester scenario.
  248. v1.0.0-rc.9
  249. * Fixes #1210. Added AllowsReturn, AllowsTab and Multiline into the TextView.
  250. * Fixes #1241. Added SendKeys feature to the ConsoleDriver.
  251. * Fixes #418 and #931. Unix terminal hangs after exit.
  252. v1.0.0-rc.7
  253. * Added TextValidateField - Enables masked and validated text input. Thanks @jmperricone!
  254. * Refactored TreeView and TabView to reduce api surface area
  255. * Added code coverage reporting
  256. v1.0.0-rc.1
  257. * Added Dependabot support and updated dependencies
  258. * Renamed master branch to main
  259. * Fixes #1211. Added support to TextView for word based operations Ctrl+Del and Ctrl+Backspace
  260. * Fixes #1208. Now the selected text is overwritten if SelectedStart is greater than CursorPosition.
  261. * Fixes #1206. NetDriver now print the selected text. Attribute struct now create a valid Value for the current driver. Insert key is detected by NetDriver.
  262. * Fixes #1202. CheckBox now deals with a functional '_' underscore hotkey.
  263. * Fixes #1199. Normalize views constructors and did some typo fixing.
  264. * Fixes #1197. Prevents width negative value if added directly to the A
  265. * Added Vertical Alignment and Text Direction + UICatalog Demo (thanks @jmprricone!)
  266. * Fixes #1193. A non auto size default Button now preserves his width and thus the text alignment now work.
  267. * Fixes #1187. Prevents WordBackward throwing an exception if point is greater than the text length
  268. * Fixes #1185. Button click is only processed if there are no mouse mov
  269. * Fixes #1183. ListView now return true on the handled keys
  270. * Fixes #1179. TextView does not copy to the clipboard on deleting
  271. * Fixes #1177. Now is possible to copy or cut on the TextView with the...
  272. * Fixes #1175. demo.cs editor now implement "Copy", "Cut" and "Paste".
  273. * Fixes #1173. TextField only need to handle a single line.
  274. * Fixes #1171. Delete and Backspace now deletes the selected text
  275. * Fixes #1167. Application.Run method with #DEBUG can be simplified.
  276. * Fixes #1165. Changing the directory name label or the field name crashes
  277. * Fixes #1159. Dialog must have a default button if none is provided.
  278. v1.0.0-beta.11
  279. * NEW CONTROL: Tabview - thanks @tznind!
  280. * UI Catalog now shows correct Terminal.gui.dll version
  281. * Fixes #939 - README sample does not compile - thanks @buzzfrog!
  282. * Fixes #1154 - FileDialog blank constructor results in unstable window
  283. * Fixes #1155 - MoveForward/MoveBackward not bound on Text controls.
  284. * Fixes #1152 - Generic TreeView`1 breaks upon selection in All Views Tester)
  285. * Fixes #1148 - TextFormatter.Format does not keep the end spaces on wrapped text.
  286. * Fixes #134 - (HUGE) TextView: Add line wrapping.
  287. * Fixes #1145 - ScrollBar down arrow is not showing.
  288. * Fixes #1143 - Cannot change the MenuBar's background color.
  289. * Fixes #1141 - Cannot change the StatusBar's background color.
  290. * Fixes #1048 - BrighCyan to BrightCyan spelling
  291. * Fixes #1130 - Broken Table/TreeView links in docs.
  292. v1.0.0-beta.8
  293. * Now using MinVer to generate version numbers from git tags.
  294. * Updated publish-to-nuget to work with minver
  295. v1.0.0-pre.9
  296. * NEW CONTROL: TreeView - Thanks @tznind!
  297. * Fixes #1066. View sizing across the various terminals has been fixed; works in Windows Terminal again - thanks @bdisp
  298. * Fixes #1117. Newfile Modal.
  299. v1.0.0-pre.8
  300. * NOTE: Windows Terminal is broken - see #1099
  301. * NEW CONTROL: TableView - Thanks @tznind!
  302. * NetDriver is signficantly imporved - thanks @bdisp!
  303. * Fixes #1016. Window is drawing its frame over the menu.
  304. * Fixes #1018. Since childNeedsDisplay is used outside the View class it must to be a property.
  305. * Fixes #1024. TextView is printing theFixes #1030. Getting colors from the Attributes of a ColorScheme. new line character "\n" with a symbol
  306. * Fixes #1030. Getting colors from the Attributes of a ColorScheme.
  307. * Fixes #1034. The NuGet packages need to be updated.
  308. * Fixes #1043. The menu separator is being printed in the wrong place.
  309. * Fixes #93. Audit TextView just like we did TextField to ensure proper treatment of Unicode.
  310. * Fixes #1050. ScrollView takes too long to scroll enormous content size.
  311. * BREAKING CHANGE - Fixes #1052. Application.CurrentView looks unused.
  312. * Fixes #1053. ProcessMouseEvent seems to initialize MouseEvent incorrectly.
  313. * Fixes #1056. Window doesn't redraw his SuperView properly.
  314. * Fixes #1061. ComputerLayout scenario does not drawn correctly.
  315. * Added unhandled exception handling in Application.Run (#1063)
  316. * Fixes #1068. The ResizeView doesn't handle the AutoSize properly.
  317. * Fixes #1071. Toplevel.GetTopLevelSubviews (). Changed from HashSet to IList.
  318. * Fixes #1073, #1058, #480 #1049. Provides more automation to the ScrollBarView, allowing easily implement on any view.
  319. * Application.Shutdown() does not reset SynchronizationContext (#1085).
  320. * Fixes #1088. On WindowsDriver moving the mouse with a button pressed, when it is released, the button clicked event is fired, causing an unintentional event.
  321. * Fixes #1091. Continuous button pressed not working properly on Linux.
  322. * Fixes #1100. TextFormatter doesn't handle ColumnWidth greater than 1.
  323. * Cursor shape and visibility #1102
  324. v1.0.0-pre.6
  325. * If StatusBar.Visible is set to false, TopLevel resizes correctly enabling hiding/showing of a StatusBar. UICatalog demonstrates.
  326. * New sample/demo app - ReactiveExample - Shows how to use reactive extensions and ReactiveUI with gui.cs. (Thanks @worldbeater)
  327. * BREAKING API CHANGE - Removed IEnumerable from View and Window. Use Subviews property instead. See #950.
  328. * Fixes #998. Added a cancelable TextChanging event to prevent the TextChanged event being called if the changing is canceled.
  329. * Fixes #1002. Added a AutoSize property to the View class.
  330. * Fixes #1009. AutoHideScrollBars is causing ScrollView always redrawing.
  331. * Update to .NET 5 RTM
  332. * Fixes #995. Improving TextField to work properly with Unicode characters
  333. * Fixes #999. Toplevel should only redraw the subviews if !NeedDisplay.IsEmpty or layoutNeeded.
  334. * Fixes #992. TextFormatter class now respect the view dimensions. Some typo fixing too.
  335. * Fixes #990. Pos and Dim only can be properly used when all the views are totally initialized.
  336. * Fixes #979. Force call LayoutSubviews to perform layout.
  337. * Fixes #988. Update NStack.Core to version 0.15.0
  338. * Fixes #41 and #949. Unit test to compare the difference between System.Rune and System.Text.Rune.
  339. * Fixes #881, #928. Allowing more key combinations.
  340. * Fixes #976. Mouse prints sequence characters on the terminal and the screen is not fully cleared. Only for netcoreapp3.1.
  341. * BREAKING API CHANGE - #950 - Remove IEnumerable from View and Window
  342. * Fixes #959. CursorPosition with hotkeys.
  343. * Fixes #963. Added support for Unicode in TextField.
  344. * Fixes #961. Recreates the Frame when necessary.
  345. * Fixes #957. Terminal.Gui nuget package in Reactive example version.
  346. * Fixes #933. Updated to work with libncurses 6.2
  347. * Fixes #225 and maybe #41. Allowing Rune.ColumnWidth greater than one.
  348. * Use glyphs for checkmarks and selection.
  349. v0.90 - "Feature Complete" pre-release of Terminal.Gui (aka gui.cs) 1.0. This release is a signficant upgrade from the previous published release (0.81). Most of the major changes and bug fixes are listed below. NOTE: This release includes breaking changes to the API; we will strive to avoid any more breaking changes before 1.0.
  350. What's new:
  351. * New sample/demo app - UI Catalog - Replaces demo.cs with an easy to use and extend set of demo scenarios. (Thanks @tig!)
  352. * The API documentation is completely revamped and updated. Readme upated. Contributors guide added (Thanks @tig!)
  353. * MenuBar can now have MenuItems directly (enables top-level menu items with no submenu). (Thanks @tig!)
  354. * API semantics are much more consistent across classes. For example, all events are now defined in terms of event Action instead of EventHanlder. BREAKING CHANGE. (Thanks @bdisp, @worldbeater, and @tig!)
  355. * The project has been refactored an reorganized to reduce risk of bugs and make it easier to contribute.
  356. * Symbols are now included with the nuget package.
  357. Fixes/Improvements (partial list; see Github issues for complete list):
  358. * Fixes #396 - Text alignnment issues. (Thanks @tig!)
  359. * Fixes #423 - Fix putting results of ocgv on command line erases cursor. (Thanks @tig!)
  360. * Apps can now get KeyUp/KeyDown events. (Thanks @tig!)
  361. * Example/Designer csproj files updated to latest Visual Studio model. (Thanks @tig!)
  362. * Adjusted the default colors for Windows to make more readable. (Thanks @tig!)
  363. * Toplevel.Ready event - Fired once the Toplevel's MainLoop has started (#445). (Thanks @tig!)
  364. * All compile warnings fixed. (Thanks @tig!)
  365. * Fixed a crash in EnsureVisibleBounds. (Thanks @tig!)
  366. * Application.Init/Shutdown are more robust. (Thanks @tig!)
  367. * New "Draw Window Frame" code; consistent across Window, FrameView, and Menu. Fixes many drawing bugs. (Thanks @tig!)
  368. * Fixes #522 - Last view of Frameview not drawn. (Thanks @tig!)
  369. * Clipping has been fixed/restored - it now works properly. (#586) (Thanks @tig!)
  370. * Added a View.LayoutComplete event (#569). (Thanks @tig!)
  371. * Fixes #299 - MessageBox now auto sizes. (Thanks @tig!)
  372. * Fixes #557 - MessageBoxes on small screens. (Thanks @tig!)
  373. * Fixes #432 - MessageBox does not deal with long text; width/height params are goofy. (Thanks @tig!)
  374. * Fixes #35 - Dialog should have 1 char padding. (Thanks @tig!)
  375. * `MessageBox.Query` called with `width` and `height` == 0 get auto-size behavior. A new constructor is added making this easy to use. (Thanks @tig!)
  376. * Multi-line `MessageBox`es are now supported. Just use `\n` to add lines. The height of the MessageBox will adjust automatically. (Thanks @tig!)
  377. * The `MessageBoxes` Scenario in UI Catalog provides a full demo/test-case. (Thanks @tig!)
  378. * `Dialog` called with `width` and `height` == 0 are sized to 85% container. A new constructor is added making this easy to use. (Thanks @tig!)
  379. * Dialog (and MessageBox `Buttons` are now dynamically laid out using Computed layout. (Thanks @tig!)
  380. * A `Dialogs` Scenario has been added to UI Catalog making it easy to test the API. (Thanks @tig!)
  381. * `Button` now supports BOTH specifying a hotkey with '_' and the old behavior of using the first uppercase char (if '_' is not found). (Thanks @tig!)
  382. * All UI Catalog scenarios that use `Dialog` or `MessageBox` now use the simplified API. (Thanks @tig!)
  383. * `Terminal.Gui.dll` now has version metadata and UI Catalog's about box displays it as a test case. (Thanks @tig!)
  384. * Button, Dialog, and MessageBox API documentation has been updated/revised. (Thanks @tig!)
  385. * `View`, `Window`, `FrameView`, and `Dialog` have been upgraded to use the new `ConsoleDriver.DrawFrameWindow` API directly. (Thanks @tig!)
  386. * New ComboBox control (Thanks @fergusonr!)
  387. * ConsoleDriver now supports improved KeyModifers (shift keys) with an expanded Keys Sceanrio in UI Catalog. (Thanks @bdisp!)
  388. * Tons of mouse handling improvements. (Thanks @bdisp!)
  389. * Fsharp sample updated. (Thanks @bdisp!)
  390. * Fixes #562 - Background drawing issue. (Thanks @bdisp!)
  391. * Fixes #517 - Focus and mouse handlers enahced (BREAKING CHANGE). (Thanks @bdisp!)
  392. * Fixed resizing update and correct Toplevel colors without colors. (Thanks @bdisp!)
  393. * Fixed #515, #518, #536, #540. (Thanks @bdisp!)
  394. * Added Threading Scenario to UI catalog. (Thanks @bdisp!)
  395. * Added support for F11 and F12 keys. (Thanks @bdisp!)
  396. * Multiple improvements to Date/TimeField. (Thanks @bdisp!)
  397. * Fixes #409 - Invoke does not cause Wakeup #501. (Thanks @bdisp!)
  398. * Fixed Label text alignment. (Thanks @bdisp!)
  399. * Added mouse features in the Unix version. Supports xterm-1006. (Thanks @bdisp!)
  400. * Several StatusBar fixes. (Thanks @bdisp!)
  401. * Tons of mouse improvements including mouse wheel support (e.g. #404, #409). (Thanks @bdisp!)
  402. * Added a CloseFile method to the TextView as stated in #452. (Thanks @bdisp)
  403. * Added a OpenSelectedItem event to the ListView #429. (Thanks @bdisp!)
  404. * Fixes the return value of the position cursor in the TextField. (Thanks @bdisp!)
  405. * Updates screen on Unix window resizing. (Thanks @bdisp!)
  406. * Fixes the functions of the Edit-Copy-Cut-Paste menu for the TextField that was not working well. (Thanks @bdisp!)
  407. * More robust error handing in Pos/Dim. Fixes #355 stack overflow with Pos based on the size of windows at startup. Added a OnResized action to set the Pos after the terminal are resized. (Thanks @bdisp!)
  408. * Fixes #389 Window layouting breaks when resizing. (Thanks @bdisp!)
  409. * Fixes #557 MessageBox needs to take ustrings (BREAKING CHANGE). (Thanks @tig!)
  410. * Fixes ScrollView in several key ways. (Thanks @tig!)
  411. * Now supports Computed layout and has constructors that don't require parameters.
  412. * ScrollBarViews are now positioned using Computed layout versus error prone absolute
  413. * ScrollBarViews now correctly position themselves when one, either, or both are on/off.
  414. * IsVertical is now a public property that does the expected thing when changed
  415. * Mouse handling is better; there's still a bug where the mouse doesn't get grabbed by the ScrollView initially but I think this is a broader problem. I need @BDisp's help on this.
  416. * Supports "infinite scrolling" via the new OnDrawContent/DrawContent event on the View class.
  417. * The Scrolling Scenario was enhanced to demo dynamically adding/removing horizontal/vertical scrollbars (and to prove it was working right).
  418. * The Checkbox.Toggled event is now an EventHandler event and passes previous state. (Thanks @tig!)
  419. * Fixes #102 All Views now support parameterless constructors. (Thanks @Bdisp and @tig!)
  420. * Fixes #583 Button can now be sized. Button now supports TextAlignment. (Thanks @Bdisp!)
  421. * Fixes #421 Now builds on Linux with "dotnet build". (Thanks @AArnott!)
  422. * MenuItem now supports checked/selected items. (Thanks @tig!)
  423. * Label no longer incorreclty displays formfeed char. (Thanks @tig!)
  424. * Fixes #645 - RadioGroup now supports unicode. (Thanks @tig!)
  425. * Fixes #573 - RadioGroup supports Computed Layout. (Thanks @tig!)
  426. * RadioGroup now uses a single, good looking, glyph. (Thanks @tig!)
  427. * RadioGroup now supportrs the Action-based event pattern correctly. BREAKING CHANGE. (Thanks @tig!)
  428. * ConsoleDriver and Drivers have new standard glyph definitions for things like right arrow. (Thanks @tig!)
  429. * ScrollView updated to use pretty glyphs. (Thanks @tig!)
  430. * Menubar now uses pretty arrow glyph for sub-menus. (Thanks @tig!)
  431. * View now has a Text property, implemented via the new TextFormatting class. (Thanks @tig!)
  432. * TextAlignment is implemented once across all Views that support it.
  433. * Unicode support is now much more robust and complete; dozens of bugs fixed.
  434. * Any view dervied from View now has a Text property with multi-line text formatting, including word-wrap and hotkey support.
  435. * Label is now mostly just an alias for View; supports Clicked
  436. * Button is now a very thin class derived from View (no API changes).
  437. * Dozens of unit tests for TextAlignment are provided reducing the chance of regressions.
  438. * Fixes #351. Added a horizontal display for RadioGroup. (Thanks @bidsp!)
  439. * Fixes #644. Added a UICatalog Scenario for a dynamic menu bar. (Thanks @bidsp!)
  440. * Fixes #838. Added a Visible property to the View. (Thanks @bidsp!)
  441. </PackageReleaseNotes>
  442. </PropertyGroup>
  443. </Project>