Terminal.Gui.csproj 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <Project Sdk="Microsoft.NET.Sdk">
  2. <PropertyGroup>
  3. <TargetFrameworks>net472;netstandard2.0;net5.0</TargetFrameworks>
  4. <RootNamespace>Terminal.Gui</RootNamespace>
  5. <AssemblyName>Terminal.Gui</AssemblyName>
  6. <DocumentationFile>bin\Release\Terminal.Gui.xml</DocumentationFile>
  7. <GenerateDocumentationFile Condition=" '$(Configuration)' == 'Release' ">true</GenerateDocumentationFile>
  8. <!-- moved to ../Directory.Build.props -->
  9. <!-- <AssemblyVersion>0.89.0.0</AssemblyVersion> -->
  10. </PropertyGroup>
  11. <PropertyGroup>
  12. <GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
  13. <PackageId>Terminal.Gui</PackageId>
  14. <!-- moved to ../Directory.Build.props -->
  15. <!-- <PackageVersion>0.89</PackageVersion> -->
  16. <!-- <Authors>Miguel de Icaza, Charlie Kindel (@tig), @BDisp</Authors> -->
  17. <PackageLicenseExpression>MIT</PackageLicenseExpression>
  18. <PackageProjectUrl>https://github.com/migueldeicaza/gui.cs/</PackageProjectUrl>
  19. <PackageTags>csharp, terminal, c#, f#, gui, toolkit, console</PackageTags>
  20. <Description>Console user interface toolkit for .NET applications.</Description>
  21. <Owners>Miguel de Icaza</Owners>
  22. <Summary>Application framework for creating modern console applications using .NET</Summary>
  23. <Title>Terminal.Gui is a framework for creating console user interfaces</Title>
  24. <PackageReleaseNotes>
  25. This (0.90) is the "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.
  26. What's new:
  27. * New sample/demo app - UI Catalog - Replaces demo.cs with an easy to use and extend set of demo scenarios. (Thanks @tig!)
  28. * The API documentation is completely revamped and updated. Readme upated. Contributors guide added (Thanks @tig!)
  29. * MenuBar can now have MenuItems directly (enables top-level menu items with no submenu). (Thanks @tig!)
  30. * API semantics are much more consistent across classes. For example, all events are now defined in terms of Action instead of EventHanlder. BREAKING CHANGE. (Thanks @bdisp and @tig!)
  31. * The project has been refactored an reorganized to reduce risk of bugs and make it easier to c
  32. * Symbols are now included with the nuget package.
  33. Fixes/Improvements (partial list; see Github issues for complete list):
  34. * Fixes #396 - Text alignnment issues. (Thanks @tig!)
  35. * Fixes #423 - Fix putting results of ocgv on command line erases cursor. (Thanks @tig!)
  36. * Apps can now get KeyUp/KeyDown events. (Thanks @tig!)
  37. * Example/Designer csproj files updated to latest Visual Studio model. (Thanks @tig!)
  38. * Adjusted the default colors for Windows to make more readable. (Thanks @tig!)
  39. * Toplevel.Ready event - Fired once the Toplevel's MainLoop has started (#445). (Thanks @tig!)
  40. * All compile warnings fixed. (Thanks @tig!)
  41. * Fixed a crash in EnsureVisibleBounds. (Thanks @tig!)
  42. * Application.Init/Shutdown are more robust. (Thanks @tig!)
  43. * New "Draw Window Frame" code; consistent across Window, FrameView, and Menu. Fixes many drawing bugs. (Thanks @tig!)
  44. * Fixes #522 - Last view of Frameview not drawn. (Thanks @tig!)
  45. * Clipping has been fixed/restored - it now works properly. (#586) (Thanks @tig!)
  46. * Added a View.LayoutComplete event (#569). (Thanks @tig!)
  47. * Fixes #299 - MessageBox now auto sizes. (Thanks @tig!)
  48. * Fixes #557 - MessageBoxes on small screens. (Thanks @tig!)
  49. * Fixes #432 - MessageBox does not deal with long text; width/height params are goofy. (Thanks @tig!)
  50. * Fixes #35 - Dialog should have 1 char padding. (Thanks @tig!)
  51. * `MessageBox.Query` called with `width` and `height` == 0 get auto-size behavior. A new constructor is added making this easy to use. (Thanks @tig!)
  52. * Multi-line `MessageBox`es are now supported. Just use `\n` to add lines. The height of the MessageBox will adjust automatically. (Thanks @tig!)
  53. * The `MessageBoxes` Scenario in UI Catalog provides a full demo/test-case. (Thanks @tig!)
  54. * `Dialog` called with `width` and `height` == 0 are sized to 85% container. A new constructor is added making this easy to use. (Thanks @tig!)
  55. * Dialog (and MessageBox `Buttons` are now dynamically laid out using Computed layout. (Thanks @tig!)
  56. * A `Dialogs` Scenario has been added to UI Catalog making it easy to test the API. (Thanks @tig!)
  57. * `Button` now supports BOTH specifying a hotkey with '_' and the old behavior of using the first uppercase char (if '_' is not found). (Thanks @tig!)
  58. * All UI Catalog scenarios that use `Dialog` or `MessageBox` now use the simplified API. (Thanks @tig!)
  59. * `Terminal.Gui.dll` now has version metadata and UI Catalog's about box displays it as a test case. (Thanks @tig!)
  60. * Button, Dialog, and MessageBox API documentation has been updated/revised. (Thanks @tig!)
  61. * `View`, `Window`, `FrameView`, and `Dialog` have been upgraded to use the new `ConsoleDriver.DrawFrameWindow` API directly. (Thanks @tig!)
  62. * New ComboBox control (Thanks @fergusonr!)
  63. * ConsoleDriver now supports improved KeyModifers (shift keys) with an expanded Keys Sceanrio in UI Catalog. (Thanks @bdisp!)
  64. * Tons of mouse handling improvements. (Thanks @bdisp!)
  65. * Fsharp sample updated. (Thanks @bdisp!)
  66. * Fixes #562 - Background drawing issue. (Thanks @bdisp!)
  67. * Fixes #517 - Focus and mouse handlers enahced (BREAKING CHANGE). (Thanks @bdisp!)
  68. * Fixed resizing update and correct Toplevel colors without colors. (Thanks @bdisp!)
  69. * Fixed #515, #518, #536, #540. (Thanks @bdisp!)
  70. * Added Threading Scenario to UI catalog. (Thanks @bdisp!)
  71. * Added support for F11 and F12 keys. (Thanks @bdisp!)
  72. * Multiple improvements to Date/TimeField. (Thanks @bdisp!)
  73. * Fixes #409 - Invoke does not cause Wakeup #501. (Thanks @bdisp!)
  74. * Fixed Label text alignment. (Thanks @bdisp!)
  75. * Added mouse features in the Unix version. Supports xterm-1006. (Thanks @bdisp!)
  76. * Several StatusBar fixes. (Thanks @bdisp!)
  77. * Tons of mouse improvements including mouse wheel support (e.g. #404, #409). (Thanks @bdisp!)
  78. * Added a CloseFile method to the TextView as stated in #452. (Thanks @bdisp)
  79. * Added a OpenSelectedItem event to the ListView #429. (Thanks @bdisp!)
  80. * Fixes the return value of the position cursor in the TextField. (Thanks @bdisp!)
  81. * Updates screen on Unix window resizing. (Thanks @bdisp!)
  82. * Fixes the functions of the Edit-Copy-Cut-Paste menu for the TextField that was not working well. (Thanks @bdisp!)
  83. * 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!)
  84. * Fixes #389 Window layouting breaks when resizing. (Thanks @bdisp!)
  85. * Fixes #557 MessageBox needs to take ustrings (BREAKING CHANGE). (Thanks @tig!)
  86. * Fixes ScrollView in several key ways. (Thanks @tig!)
  87. * Now supports Computed layout and has constructors that don't require parameters.
  88. * ScrollBarViews are now positioned using Computed layout versus error prone absolute
  89. * ScrollBarViews now correctly position themselves when one, either, or both are on/off.
  90. * IsVertical is now a public property that does the expected thing when changed
  91. * 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.
  92. * Supports "infinite scrolling" via the new OnDrawContent/DrawContent event on the View class.
  93. * The Scrolling Scenario was enhanced to demo dynamically adding/removing horizontal/vertical scrollbars (and to prove it was working right).
  94. * The Checkbox.Toggled event is now an EventHandler event and passes previous state. (Thanks @tig!)
  95. * Fixes #102 All Views now support parameterless constructors. (Thanks @Bdisp and @tig!)
  96. * Fixes #583 Button can now be sized. Button now supports TextAlignment. (Thanks @Bdisp!)
  97. * Fixes #421 Now builds on Linux with "dotnet build". (Thanks @AArnott!)
  98. * MenuItem now supports checked/selected items. (Thanks @tig!)
  99. * Label no longer incorreclty displays formfeed char. (Thanks @tig!)
  100. * Fixes #645 - RadioGroup now supports unicode. (Thanks @tig!)
  101. * Fixes #573 - RadioGroup supports Computed Layout. (Thanks @tig!)
  102. * RadioGroup now uses a single, good looking, glyph. (Thanks @tig!)
  103. * RadioGroup now supportrs the Action-based event pattern correctly. BREAKING CHANGE. (Thanks @tig!)
  104. * ConsoleDriver and Drivers have new standard glyph definitions for things like right arrow. (Thanks @tig!)
  105. * ScrollView updated to use pretty glyphs. (Thanks @tig!)
  106. * Menubar now uses pretty arrow glyph for sub-menus. (Thanks @tig!)
  107. * View now has a Text property, implemented via the new TextFormatting class. (Thanks @tig!)
  108. * TextAlignment is implemented once across all Views that support it.
  109. * Unicode support is now much more robust and complete; dozens of bugs fixed.
  110. * Any view dervied from View now has a Text property with multi-line text formatting, including word-wrap and hotkey support.
  111. * Label is now mostly just an alias for View; supports Clicked
  112. * Button is now a very thin class derived from View (no API changes).
  113. * Dozens of unit tests for TextAlignment are provided reducing the chance of regressions.
  114. * Fixes #351. Added a horizontal display for RadioGroup. (Thanks @bidsp!)
  115. * Fixes #644. Added a UICatalog Scenario for a dynamic menu bar. (Thanks @bidsp!)
  116. * Fixes #838. Added a Visible property to the View. (Thanks @bidsp!)
  117. </PackageReleaseNotes>
  118. </PropertyGroup>
  119. <PropertyGroup>
  120. <IncludeSymbols>true</IncludeSymbols>
  121. <SymbolPackageFormat>snupkg</SymbolPackageFormat>
  122. </PropertyGroup>
  123. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  124. <DebugType></DebugType>
  125. </PropertyGroup>
  126. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  127. <DefineConstants>TRACE;DEBUG_IDISPOSABLE</DefineConstants>
  128. </PropertyGroup>
  129. <!--<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net472|AnyCPU'">
  130. <DefineConstants>TRACE</DefineConstants>
  131. </PropertyGroup>
  132. <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net472|AnyCPU'">
  133. <DefineConstants>TRACE;DEBUG_IDISPOSABLE</DefineConstants>
  134. </PropertyGroup>-->
  135. <ItemGroup>
  136. <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="true" />
  137. <PackageReference Include="NStack.Core" Version="0.14.0" />
  138. </ItemGroup>
  139. <!--<ItemGroup>
  140. <Reference Include="NStack">
  141. <HintPath>..\..\..\Users\miguel\.nuget\packages\nstack.core\0.14.0\lib\netstandard2.0\NStack.dll</HintPath>
  142. </Reference>
  143. </ItemGroup>-->
  144. <ItemGroup>
  145. <None Remove="ConsoleDrivers\#ConsoleDriver.cs#" />
  146. </ItemGroup>
  147. </Project>