* Added feature to fill the remaining width with spaces.
* Removing unnecessary parameter.
* Fixes a typo.
* Unit test rewritten to explain better main feature of this PR.
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Fixes#1800. TextView now uses the same colors as TextField.
* Replacing the textview to default in some scenarios.
* Removing TextView ColorScheme from the Wizard component.
* Changing someText color to be different from the help text color.
* Renamed some color methods as requested.
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Add unit test that demonstrates the loss of idle handlers added via Application.MainLoop.Invoke
* Fixes#1994. Ensure that only a single idle handlers list exists at one time
* Previous implementation locked on idleHandlers but this is dangerous because it is reallocated. It was therefore possible for two different threads to hold locks on two different instances of idleHandlers simultaneously. The idle handlers added to the older instance of idleHandlers would then be lost. This was particularity catastrophic when combined with async/await continuations being lost.
* Add dedicated lock object idleHandlersLock and use when modifying idleHandlers
* Fix additional bug in RemoveIdle that was locking the token instead of idleHandlers
* Return a copy via the IdleHandlers property as it was directly returning idleHandlers. This cannot safely be done without first acquiring idleHandlersLock
* Address code review feedback for #1994: Make IdleHandler immutable via ReadOnlyCollection
* Address code review feedback for #1994: Avoid the possibility of IdleHandlers changing while being used
Co-authored-by: Karl Janke <karl.janke@groundprobe.com>
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Unit test that will fail without the fix.
* ScrollView must return true after ungrab the mouse to allow the View property run after returned.
* Fixes#1999. Prevents the mouseGrabView being executed with a null view.
* Added one more assert null check.
* Added MaxWidthLine into the TextFormatter class.
* Some more test line to better verifying the mainloop idle handlers.
* Fixes#1979. MessageBox.Query not wrapping since 1.7.1
* Added MessageBox unit tests.
* States a button centered issue on a lower fixed size.
* Fixed the centered button issue 4d0a4b6.
* Added HideDropdownListOnClick property.
* Invoking OpenSelectedItem on click.
* Added one more constructor and more unit tests.
* Added the ComboListView derived class.
* Added more features to ComboBox.
* Removes code not featured yet.
* Added HideDropdownListOnClick property to scenario.
* Ensures SetSource having the same behavior as the ListWrapper constructor.
* Added abstract MakeColor and CreateColors to create the colors at once.
* Adjusting colors to contrast with almost all views.
* Reverting Border unit test.
* Removing commented color code.
* Fixes#1973. Avoid positioning Submenus off screen.
* Firstly avoids negative positions on the sub-menus and then avoids the bottom not exceeding the console height, as possible.
* Fixes#1969. ESC on CursesDriver take to long to being processed.
* Increasing set_escdelay and timeout values to ensure precessing any more long delay.
* Change KeyBindings to allow chaining commands
* Added more asserts for repeating the keybinding till at bottom of list
* Added tests for 'no command' and multiple commands return type
* Fix: The sychronization context method send
The send method of the synchronization context has to block the caller thread in case it is not the main thread.
* Fix: Send has to invoke the action instantly
Send has to invoke the action instantly instead of enqueuing in case of main thread call.
* Added unit tests for synchronization post/send methods.
* Code formating
* Added unit test for MainLoopSyncContext.CreateCopy
Co-authored-by: saskathex <>
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>