* Adds basic MainLoop unit tests
* Remove WinChange action from Curses
* Remove WinChange action from Curses
* Remove ProcessInput action from Windows MainLoop
* Simplified MainLoop/ConsoleDriver by making MainLoop internal and moving impt fns to Application
* Modernized Terminal resize events
* Modernized Terminal resize events
* Removed un used property
* for _isWindowsTerminal devenv->wininit; not sure what changed
* Modernized mouse/keyboard events (Action->EventHandler)
* Updated OnMouseEvent API docs
* Using WT_SESSION to detect WT
* removes hacky GetParentProcess
* Updates to fix#2634 (clear last line)
* removes hacky GetParentProcess2
* Addressed mac resize issue
* Addressed mac resize issue
* Removes ConsoleDriver.PrepareToRun, has Init return MainLoop
* Removes unneeded Attribute methods
* Removed GetProcesssName
* Removed GetProcesssName
* Refactored KeyEvent and KeyEventEventArgs into a single class
* Revert "Refactored KeyEvent and KeyEventEventArgs into a single class"
This reverts commit 88a00658db.
* Fixed key repeat issue; reverted stupidity on 1049/1047 confusion
* Updated CSI API Docs
* merge
* Rearranged Event.cs to Keyboard.cs and Mouse.cs
* Renamed KeyEventEventArgs KeyEventArgs
* temp renamed KeyEvent OldKeyEvent
* Merged KeyEvent into KeyEventArgs
* Renamed Application.ProcessKey members
* Renamed Application.ProcessKey members
* Renamed Application.ProcessKey members
* Added Responder.KeyPressed
* Removed unused references
* Fixed arg naming
* InvokeKeybindings->InvokeKeyBindings
* InvokeKeybindings->InvokeKeyBindings
* Fixed unit tests fail
* More progress on refactoring key input; still broken and probably wrong
* Moved OnKeyPressed out of Responder and made ProcessKeyPrssed non-virtual
* Updated API docs
* Moved key handling from Responder to View
* Updated API docs
* Updated HotKey API docs
* Updated shortcut API docs
* Fixed responder unit tests
* Removed Shortcut from View as it is not used
* Removed unneeded OnHotKey override from Button
* Fixed BackTab logic
* Button now uses Key Bindings exclusively
* Button now uses Key Bindings exclusively
* Updated keyboard.md docs
* Fixed unit tests to account for Toplevel handling default button
* Added View.InvokeCommand API
* Modernized RadioGroup
* Removed ColdKey
* Modernized (partially) StatusBar
* Worked around FileDialog issue with Ctrl-F
* Fixed driver unit test; view must be focused to reciev key pressed
* Application code cleanup
* Start on updaing menu
* Menu now mostly works
* Menu Select refinement
* Fixed known menu bugs!
* Enabled HotKey to cause focus- experimental
* Fixes#3022 & adds unit test to prove it
* Actually Fixes#3022 & adds unit test to prove it
* Working through hotkey issues
* Misc fixes
* removed hot/cold key stuff from Keys scenario
* Fixed scenarios
* Simplified shortcut string handling
* Modernized Checkbox
* Modernized TileView
* Updated API docs
* Updated API docs
* attempting to publish v2 docs
* Revert "attempting to publish v2 docs"
This reverts commit 59dcec111b.
* Playing with api docs
* Removed Key.BackTab
* Removed Caps/Scroll/Numlock
* Partial removal of keymodifiers - unit tests pass
* Partial removal of keymodifiers - broke netdriver somewhere
* WindowsDriver & added KeyEventArgsTests
* Fixing menu shortcut/hotkeys - broke Menu.cs into separate files
* Fixed MenuBar!
* Finished modernizing Menu/MenuBar
* Removed Key.a-z. Broke lots of stuff
* checkout@v4
* progress on key mapping and formatting
* VK tests are still failing
* Fixed some unit tests
* Added Hotkey and Keybinding unit tests
* fixed unit test
* All unit tests pass again...
* Fixed broken unit tests
* KeyEventArgs.KeyValue -> AsRune
* Fixed bugs. Still some broken
* Added KeyEventArgs.IsAlpha. Added KeyEventArgs.cast ops. Fixed bugs. Unit tests pass
* Fixed WindowsDriver
* Oops.
* Refactoring based on bdisp's help. Not complete!
* removed calling into subviews from OnKeyBindings
* removed calling into subviews from OnKeyBindings
* Improved View KeyEvent unit tests
* More hotkey unit tests
* BIg change - Got rid of KeyPress w/in Application/Drivers
* Unit tests now pass again
* Refreshed API docs
* Better HotKey logic. More progress. Getting close.
* Fixed handling of shifted chars like ö
* Minor code cleanup
* Minor code cleanup2
* Why is build Action failing?
* Why is build Action failing??
* upgraded to .net8 to try to fix weird CI/CD build errors
* upgraded to .net8 to try to fix weird CI/CD build errors2
* Disabling TextViewTests to diagnose build errors
* reenable TextViewTests to diagnose build errors
* Arrrrrrg
* Merged v2_develop
* Fixed uppercase accented keys in WindowsDriver
* Fixed key binding api docs
* Experimental impl of CommandScope.SubViews for MenuBar
* Removed dead code from application.cs
* Removed dead code from application.cs
* Removed dead code from ConsoleDriver.cs
* Cleaned up some key binding stuff
* Disabled Alt to activate menu for now
* Updated label commands
* Fixed menu bugs. Upgraded menu unit tests
* Fixed unit tests
* Working on NetDriver
* fixed netdriver
* Fixed issues called out by @bdisp CR
* fixed CursesDriver
* added todo to netdriver
* Cherry picked treeview test fix 1b415e5
* Fix NetDriver.
* CommandScope->KeyBindingScope
* Address some tznind feedback
* Refactored KeyBindings big time!
* Added key consts to KeyEventArgs and renamed Key to ConsoleDriverKey
* Fixed some API docs
* Moved ConsoleDriverKey to ConsoleDriver.cs
* Renamed Key->ConsoleDriverKey
* Renamed Key->ConsoleDriverKey
* Renamed Key->ConsoleDriverKey
* renamed file I forgot to rename before
* Updated name and API docs of KeyEventArgs.isAlpha
* Fixed issues with OnKeyUp not doing the right thing.
* Fixed MainLoop.Running never being used
* Fixed MainLoop.Running never being used - unit tests
* Claned up BUGBUG comments
* Disabled a unit test to see why ci/cd tests are failing
* Removed defunct commented code
* Removed more defunct commented code
* Re-eanbled unit test; jsut removing one test case...
* Disabled more...
* Renambed Global->Applicaton and updated scope API docs
* Disabled more unit tests...
* Removed dead code
* Disabled more unit tests...2
* Disabled more unit tests...3
* Renambed Global->Applicaton and updated scope API docs 2
* Added more KeyBinding scope tests
* Added more KeyBinding scope tests2
* ConsoleDriverKey too long. Key too ambiguous. Settled on KeyCode. (Partialy because eventually I want to intro a class named Key).
* KeyEventArgs improvements. cast to Rune must be explicit as it's lossy
* Fixed warnings
* Renamed KeyEventArgs to Key... progress on fixing broken stuff that resulted
* Fix ConsoleKeyMapping bugs.
* Fix NetDriver issue from converting a lower case to a upper case.
* Started migration to Key from KeyCode - e.g. made HotKeys all consistent.
* Fixed build warnings
* Added key defns to Key
* KeyBindings now uses Key vs. KeyCode
* Verified by tweaking UICatalog
* Fixed treeview test ... again
* Renamed ProcessKeyDown/Up to NewKeyDown/Up and OnKeyPressed to OnProcessKeyDown to make things more clear
* Added test AllViews_KeyDown_All_EventsFire unit tests and fixed a few Views that were wrong
* fixed stupid KeyUp event bug
* If key not handled, return false for datefield
* dotnet test --no-restore --verbosity diag
* dotnet test --blame
* run tests on windows
* Fix TestVKPacket unit test and move it to ConsoleKeyMappingTests.cs file.
* Remove unnecessary commented code.
* Tweaked unit tests and removed Key.BareKey
* Fixed little details and updated api docs
* updated api docs
* AddKeyBindingsForHotKey: KeyCode->Key
* Cleaned up more old KeyCode usages. Added TODOs
---------
Co-authored-by: BDisp <bd.bdisp@gmail.com>
* Adds basic MainLoop unit tests
* Remove WinChange action from Curses
* Remove WinChange action from Curses
* Remove ProcessInput action from Windows MainLoop
* Simplified MainLoop/ConsoleDriver by making MainLoop internal and moving impt fns to Application
* Modernized Terminal resize events
* Modernized Terminal resize events
* Removed un used property
* for _isWindowsTerminal devenv->wininit; not sure what changed
* Modernized mouse/keyboard events (Action->EventHandler)
* Updated OnMouseEvent API docs
* Using WT_SESSION to detect WT
* removes hacky GetParentProcess
* Updates to fix#2634 (clear last line)
* removes hacky GetParentProcess2
* Addressed mac resize issue
* Addressed mac resize issue
* Removes ConsoleDriver.PrepareToRun, has Init return MainLoop
* Removes unneeded Attribute methods
* Removed GetProcesssName
* Removed GetProcesssName
* Refactored KeyEvent and KeyEventEventArgs into a single class
* Revert "Refactored KeyEvent and KeyEventEventArgs into a single class"
This reverts commit 88a00658db.
* Fixed key repeat issue; reverted stupidity on 1049/1047 confusion
* Updated CSI API Docs
* merge
* Comment/warning clean up
* Moved Text and Drawing out
* Moved Layout out
* Removed extra lines
* Removed Mouse out
* Reorgainzed View
* API docs
* removed border.cs
* TopLevel.Resized -> TerminalResized
* Mdi -> Overlapped
* Removed confusing and un-needed WillPresent
* privates -> _
* Tweaked RunLoop API
* Added View.BorderStyle and renamed BorderStyle enum to LineStyle
* Fixed a lot of things and broke everything else
* Fixed things
* Updated DialogTests
* Updates including Rect unit tests
* Fixed Dialog & MessagBox tests
* Fixed AllviewsTester bug
* Fixed AllviewsTester bug
* Removed Border class
* Renamed View privates with _
* Removed comments in MessageBox.cs
* Refactored ProcessKey to use public methods for case logic
* Added KeyBinding class
* Refactored key binding to split key->command from command->implementation
This reduces duplication and simplifies the API
* Finishing key bindings implementation in ListView.
* Adding more unit tests to the ListView.
* Added key bindings to the Button and more features.
* Replaces Action for Func<KeyEvent, bool> on CommandImplementations.
* Allowing commands to have any number of arguments.
* Implementing key bindings on Checkbox view.
* Added test for changing HotKey in Button and made ReplaceKeyBinding protected
* Changed `CommandImplementations` to `Func<KeyEvent, bool>` to better understand current command implementations
* Implementing key bindings in ComboBox.
* Renamed Command keys and fixed ComboBox issues:
- Fixed pressing Esc in ListAndCombos scenario without selecting cause an array out of bounds error
- Changed the Esc key in ComboBox to also collapse the list selection
- Added bool return to public virtual method Expand and Collapse (this is a breaking change)
* Implementing key bindings in DateField.
* Organizing some things.
* Implementing key bindings on TimeField.
* No key bindings on FrameView.
* Added keybinding support to TreeView
* Added mouse support and more features.
* Updating NuGet packages.
* Putting text on the same line.
* Changing function command to Func<bool>.
* Added a read only Position, CursorPosition properties and events.
* Keybindings for GraphView
* Added a stream argument to ApplyEdits to only save the edits.
* Implementing key bindings on the HexView.
* Added MenuOpened event and others bug fixes.
* Fixing typo.
* Unifying constructors initializations.
* Implementing keybindings in the Menu.
* Removing unnecessary variable.
* Implementing keybindings in RadioGroup view.
* Changing Home to TopHome and End to BottomEnd.
* Implementing keybindings in the ScrollView.
* Changing the PageLeft and PageRight keybindings.
* Fixing PageLeft and RightPage.
* Removing CleanUp command.
* Key bindings for TabView
* Keybindings for TableView
* Fixed unit tests for PageDown to correctly assign input focus to the TableView
* Fixes the CalculateLeftColumn method avoiding jump two columns on forward moving.
* Fixes#1525. Gives the same backspace behavior as TextView.
* Changes kill-to-start key to work on Linux too.
* Fixes SelectedStart, SelectedText and some cleaning.
* Implementing keybindings in TextField.
* Updated command names and merged as discussed with @BDisp
- Merged LeftItem and LeftChar to Left (same for Right).
- Also renamed Kill to Cut
- Added ScrollLeft / ScrollRight (and renamed ScrollLineUp to just ScrollUp
* Renamed Command.InsertChar to ToggleOverwriteMode and added Enable/Disable
* Removed 'Mode' suffix from toggle overwrite
* Allows navigation to outside a TextView if IsMdiContainer is true.
* Implementing keybindings in Toplevel.
* Fixing null reference exception.
* Changing to keys instances events instead static.
* Transferring the events to the Toplevel.
* Implementing keybindings in TextView.
* Removing static from the QuitKeyChanged and adding unit test.
* Replacing Added with the Initialized event.
* Ignore control characters and other special keys.
* Changing InvokeKeybindings to return Nullable bool and added two more keys to the Toplevel.
* Implementing keybindings in Autocomplete. I had to derive from View.
* Added keybindings menu item to UICatalog
* Added ClearBinding
* Implementing IAutocomplete, abstract Autocomplete and derived TextViewAutocomplete.
* Implementing keybindings in the TextValidateProvider
* Add keybinding to CellActivationKey.
* Fixing some formats.
* Add ObjectActivationKey to the keybindings.
* Made it much easier to implement abstract base `Autocomplete` in other views by moving methods up out of `TextViewAutocomplete` implementation
* Allowing Autocomplete to popup inside or outside the container.
* Fixes the cursor not being showing if the text length is equal to the view width.
* A unit test to prove the 4df5897.
* Removed unused method `GetCursorPosition` from Autocomplete
* Trimmed down implementation specific methods from IAutocomplete
* Fixed xmldoc comment tag
* Format Autocomplete on multiline and fixes wrap settings.
* Adding keys from a to z to avoid the Key.Space on ToString.
* Fixes the vertical position outside the container.
* Adding more key unit tests.
* Changing comment to upper case and proving that doesn't will breaking nothing.
* Replaces Pos.Bottom to Pos.AnchorEnd.
* Fixes popup on resizing.
* Should only using the Pos.Bottom to position outside the view.
* Fixes#1584
* Fixes https://github.com/migueldeicaza/gui.cs/issues/1584#issuecomment-1027987475
* Fixes some bugs with SelectedItem.
* Command must also return a nullable bool.
* Ensures updating the ComboBox text on leaving the control.
* Only with the nullable bool was possible to make the MoveUp and the MoveDown working.
* Added logging of which scenario failed in test
Co-authored-by: BDisp <bd.bdisp@gmail.com>