Fixes #3039. Fix View.HotKey (#3249)

* Added View.DefaultCommand etc... Started on dedicated scenario

* Fixed un-shifted hotkeys -> Fixed Key Equals. Fixed WindowsDriver passing wrong key. Etc.

* Fixed Key Bindings and HotKeys

* Fixed Key Bindings and HotKeys

* Label now correctly supports hotkey

* Disabled unix hot keys because they are annoying and get in the way

* Updated nuget. fixed warnings

* Trying to fix ci/ci issue

* Trying to fix ci/ci issue

* Trying to fix ci/ci issue

* Changed TextChangingEventArgs to inherit from CancelEventArgs

* TextChangingEventArgs -> TextEventArgs

* Simplified Text events by having only on args class

* Fixed unit tests fail

* Simplified by removing TitleEventArgs

* POC of Title being primary for hotkey. Label and Button hacked to work

* POC of Title being primary for hotkey. Label and Button hacked to work - all unit tests pass

* Dropped Microsoft.NETFramework.ReferenceAssemblies

* Fixed Dialogs scenario hotkeys

* Fixed build warnings

* Fixed Border Title render bug

* Regiggering default command handling

* Regiggering default command handling

* Checkbox clean up

* Added StateEventArgs POC

* Command.Default -> Command.HotKey

* Command.Default -> Command.HotKey - fixed TableView

* Command.Default -> Command.HotKey - fixed TableView

* Updated reactive example

* Fixed Toplevel.BringOverlappedTopToFront - was reordering SubViews when it shouldn't

* WIP - broke

* Finished impl of StateEventArgs

* Deleted ToggleEventArgs.cs. Added StateEventArgs.cs

* XML doc fix

* Removed old code

* Removed commented out code

* Label.Clicked -> Label.Accept (missed this before)

* Removed Labels as Buttons scenario as it's not really  useful

* Moved SubView tests to own file

* Moved SubView tests to own file

* Simplified Text test

* Added OnAccept test

* Deleted DefaultCommand

* Modernized CheckBox

* New button test

* Cleaned up RadioGroup; added tests

* KeyCode->Key in ListView

* Added ListView unit tests

* ListView now does Accept correctly

* TreeView now does Accept correctly

* Cleaned up some TextField tests

* TextView now handles Accept properly; updated CharMap and Adornments scenarios to test

* Fixed ComboBox to deal with TextView now handles Accept properly; updated CharMap and Adornments scenarios to test

* Removed un-needed using statement
This commit is contained in:
Tig
2024-02-22 15:11:26 -07:00
committed by GitHub
parent 55cb3e76b4
commit 16055c53b0
158 changed files with 4124 additions and 3833 deletions

View File

@@ -1,4 +1,5 @@
using System;
using System.ComponentModel;
using System.Reactive;
using System.Reactive.Linq;
using System.Runtime.Serialization;
@@ -37,10 +38,10 @@ public class LoginViewModel : ReactiveObject
_isValid = canLogin.ToProperty (this, x => x.IsValid);
Login = ReactiveCommand.CreateFromTask<EventArgs> (
e => Task.Delay (TimeSpan.FromSeconds (1)),
canLogin
);
Login = ReactiveCommand.CreateFromTask<CancelEventArgs> (
e => Task.Delay (TimeSpan.FromSeconds (1)),
canLogin
);
_usernameLength = this
.WhenAnyValue (x => x.Username)
@@ -52,7 +53,7 @@ public class LoginViewModel : ReactiveObject
.Select (password => password.Length)
.ToProperty (this, x => x.PasswordLength);
Clear = ReactiveCommand.Create<EventArgs> (e => { });
Clear = ReactiveCommand.Create<CancelEventArgs> (e => { });
Clear.Subscribe (
unit =>
@@ -64,13 +65,13 @@ public class LoginViewModel : ReactiveObject
}
[IgnoreDataMember]
public ReactiveCommand<EventArgs, Unit> Clear { get; }
public ReactiveCommand<CancelEventArgs, Unit> Clear { get; }
[IgnoreDataMember]
public bool IsValid => _isValid.Value;
[IgnoreDataMember]
public ReactiveCommand<EventArgs, Unit> Login { get; }
public ReactiveCommand<CancelEventArgs, Unit> Login { get; }
[Reactive]
[DataMember]