* Added Applicaton.Popover.
Refactored FindDeepestView
* Popover prototype
* Testing highlight
* Fixed click outside issue
* Fixed DialogTests
* Fixed click outside issue (agbain)
* Enabled mouse wheel in Bar
* Enabled mouse wheel in Bar
* Progress. Broke arrangement
* Added popover tests.
Fixed a bunch more CM issues related ot unreliable unit tests.
Updated config.json to include Glyphs.
* Can't set ForceDriver to empty in Resources/config.json.
* added BUGBUG
* Made Position/ScreenPosition clear
* Added View.IsInHierarchy tests
* Added Contextmenuv2 scenario.
* Implemented CM2 in TextView
* Removed unneeded CM stuff from testhelpers
* Shortcut API docs
* Fixed keybinding unit tests
* Fixed mouse handling
* Fighting with CM related unit test failures
* Unit tests pass. I think.
* Shortcut code cleanup
* TextView uses new CM2
* Starting on OnSelect etc...
* Starting on OnSelect etc...
* Fixed ContextMenuv2
* ContextMenu is working again.
* Ugh. ANd fixed button api docs
* Fixed DrawHorizontalShadowTransparent (vertical was already fixed).
* Made Scenarios compatible with #nullable enable
* Undid some keybinding stuff
* Fixed stuff
* Sped up unit tests
* Sped up unit tests 2
* Sped up unit tests 3
* Messing with menus
* merged latest v2_develop
* Added more Popover unit tests
* Added more Popover unit tests2
* Fixed positioning bug
* Fixed mouse bug
* Fixed Bar draw issue
* WIP
* merge v2_develop
* CM2 sorta works
* Enabled Bar subclasses to have IDesignable
* Added ViewportSettings.Transparent
* Region -> nullable enable
* Added ViewportSettigs Editor
* merged v2_develop part 2
* merged v2_develop part 3
* WIP: GetViewsUnderMouse
* WIP: More GetViewsUnderMouse work
* Bars works again
* Added unit tests
* CM now works
* MenuItemv2 POC
* SubMenu POC
* CommandNotBound
* More POC
* Optimize Margin to not defer draw if there's no shadow
* Logger cleanup
* Reverted Generic
* Cascading mostly working
* fixed layout bug
* API docs
* API docs
* Fixed cascade
* Events basically work
* code cleanup
* Fixed IsDefault bug;
* Enabled hotkey support
* Made context-menu-like
* Improved usability
* Refactored ApplicationPopover again
* Cleanup
* Menuv2 POC basically complete
* Code Cleanup
* Made menu API simpler
* Fixed Strings bugs
* Got old ContextMenu scenario mostly working
* ContextMenu scenario now works
* ContextMenu fixes
* ContextMenu fixes
* Tons of menu cleanup
* ContextMenu works in TextView
* Fixed unit tes
* Added unit tests
* Fixed tests
* code cleanup
* More code cleanup
* Deep dive
* scenario
* typos
* Demo colorpicker in a Menu
* Added Region tests proving Region is broken in some Union cases
* fixed v2win/net
* Add W3C color enum with the RGB as numeric value
* Add transform helper class for W3cColor enum
For the sake of backwards compatibility prioritize parsing 16 color mode color names over the W3C colors because the previous resource-based color names/values had a mix of W3C and 16 color mode RGB values.
Mechanism for choosing/prioritizing one color scheme over the other is currently only available at higher application/driver/output level.
* IColorNameResolver enable null analysis
* Remove obsolete color name related ResourceManagerTests
* Replace remains of W3CColors with direct W3C color name resolver
Temporarily breaks backwards compatibility and tests even further.
* Add ANSI 4-bit (ColorName16) color name resolver
* Add multi-standard color name resolver
Combined resolver for both ANSI 4-bit (ColorName16) and W3C colors while trying to maintain backwards compatibility for ColorPicker.
* Split conditional name resolver test cases
* Change W3C colors tests to be similar to name resolvers
* Change W3cColorsTests to W3cColorNameResolverTests
More consistent when all the tests refer to the color name resolver layer.
* Make W3cColors internal
Color name resolver is the public interface.
* W3cColors: Use Color.Argb instead of individual RGB components
* MultiStandardColorNameResolver: Substitute instead of blocking alternative W3C names
Changes color picker behavior a bit, e.g. Aqua will match to Cyan instead of jumping to Aquamarine.
* Remove leftover color string resources
* Consistent position for IColorNameResolver #nullable enable directive
* Add missing XML comments to ColorScheme.Colors.cs
* Fixes#3968. Menu appears in wrong place when opened in a subview
* Fixes#3965. Cannot exit a Window with a CanFocus true MenuBar
* Fixes#3981. Drivers crash when middle or right click on a ContextMenu item
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Change IConsoleOutput.Write(string) overload parameter to ReadOnlySpan<char>
Allows the caller more flexibility about choosing a buffer per use case.
* NetOutput: Write StringBuilder directly to the std out text stream
* Add EscSeqUtils.CSI_WriteCursorPosition
Writes cursor position sequence to text writer without string allocation.
* NetOutput: Skip cursor position escape sequence string allocation
* Replace CSI_(Enable|Disable)MouseEvents static properties with readonly fields
Changed for the sake of consistency with rest of the EscSegutils fields rather than performance. Also prevents bugs from accidentally setting the properties.
* Use EscSeqUtils.CSI_Append(Foreground|Background)ColorRGB in v2 drivers
* WindowsOutput SetCursorVisibility: Remove intermediate string builder
* WindowsOutput.WriteToConsole: Use rented array as intermediate write buffer
The large intermediate string builder remains a challenge. :)
* NetOutput: Console.Out for the sake of consistency
Also might have missed one of the Console.Out.Write(StringBuilder) calls...
* Avoid Rune.ToString() in NetOutput.Write(IOutputBuffer)
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Fixes#3964. Null Reference in DoDrawBorderAndPadding
* Fix unit test.
* Ensures closing all opened menus that belong to another top when a new modal top is opened.
* Reformat
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Subview clean up
* New Add/Remove event pattern
* Using Logging
* cleanup
* Subview -> SubView
* Test code cleanup. Killed many warnings.
* Fix tznind feedback
* Refactored AllViewTest helpers
* Moved keyboard tests to parallel
* Moved mouse tests to parallel
* Moved view tests to parallel
* Test code cleanup. Killed many warnings.
* dupe test
* Some mouse tests can't run in parallel because MouseGrabView
* Made SpinnerView more testable
* Moved more tests
* SubViews to IReadOnlyCollection<View>
* SubViews to IReadOnlyCollection<View> 2
* scrollbar tests
* shortcut tests
* Use InternalSubViews vs. _subviews
* Nuked View.IsAdded.
Added View.SuperViewChanged.
* API doc updats
* Unit Test tweak
* Unit Test tweak
* Fixes#3956. MessageBox doesn't return the index of IsDefault button
* Change to Theory test.
* Fix unit test 'Error opening terminal: unknown.'
* Remove RunningUnitTests = true because constructor already set it.
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Tons of API doc updates
* Removed stale test
* Removed stale tests
* Fixed Skipped Shadow test 1
* Fixed Skipped Shadow test 2
* Fixed Skipped Shadow test 3
* Removed stale test
* Removed stale test2
* Explicit unregister of event handler on Application.Driver!.ClearedContents
* Added Toplevels to dict
* code cleanup
* spelling error
* Removed stale test3
* Removed stale test4
* Removed stale test5
* added script
* tweaked script
* tweaked script
* Created StressTests project; moved some tests
* Created IntegrationTests project; moved some tests
* New yml
* made old yml just unit tests
* Tweaked Button_IsDefault_Raises_Accepted_Correctly
* tweaked script
* cleaned up ymls
* tweakled up ymls
* stress tests...
* stress tests on ubuntu only
* Fixed WindowsDriver in InvokeLeakTest
* Fixed WindowsDriver in InvokeLeakTest2
* Added Directory.Packages.props.
Added Directory.Build.props
* Shortened StressTest time
* Removed dupe file.
* DemoFiles
* Moved all tests to ./Tests dir.
* Fixed release build issue
* Fixed .sln file
* Fixed .sl* files
* Fixing ymls
* Fixing interation tests
* Create link to the file TestHelpers.
* Created Tests/UnitTestsParallelizable.
Moved all obviously parallelizable tests.
Updated yml.
* fixing logs
* fixing logs2
* fixing logs3
* don't require stress to pass for PRs
* Fix a failure?
* tweaked script
* Coudl this be it?
* Moved tons of tests to parallelizable
* Fixed some stuff
* Script to find duplicate tests
* Testing workflows
* Updated to v4
* Fix RelativeBasePath issue
* Replace powershell to pwsh
* Add ignore projects.
* Removed dupe unit tests
* Code cleanup of tests
* Cleaned up test warnings
* yml tweak
* Moved setter
* tweak ymls
* just randomly throwing spaghetti at a wall
* Enable runing 5 test runners in par
* Turned off DEBUG_DISPOSABLE for par tests
* RunningUnitTests=true
* code cleanup (forcing more Action runs)
* DISABLE_DEBUG_IDISPOSABLE
* Added View.DebugIDisposable. False by default.
* Remobed bogus tareet
* Remobed bogus tareet2
* fixed warning
* added api doc
* fixed warning
* fixed warning
* fixed warning2
* fixed warning3
* fixed warning4
---------
Co-authored-by: BDisp <bd.bdisp@gmail.com>