* Moving ShortcutDelimiter from MenuBar to Key.
* Rename to ShortcutKey and change type to Key.
* Improving add and remove menu items dynamically.
* Code cleanup.
* Fix status bar shortcuts issues.
* Fix build error.
* Change HotKey type to Key.
* Change HotKey.setter to private.
* Fix warnings.
* Fix some bugs.
* Rename ShortcutDelimiter to Separator.
* Add Separator property into the Configuration Manager.
* Change XML doc for Separator.
* Replace KeyEvent with Key.
* Add unit test preventing the Key.Separator is never Null ('\0).
- Started MouseEventEventArgs -> MouseEvent transition - for OnMouseEvent. Partially fixes#3029.
- Refactored Appliation.OnMouseEvent and View.OnMouseEvent to match design guidelines.
- Re-impleented highlight, enabling extensibility (see Border).
- Beefed up unit tests
* 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
* Replace all 342 `== null` with `is null`
* Replace 354 `!= null` with `is { }`
* Wrap these in conditionals since they break tests against Release configuration
The members they depend on do not exist in Release configuration
* Split these up and dispose properly
This test needs to be revisited for several reasons at some point.
* Fix release configuration tests
* Declare interface these already support
* Annotate constructor properly and use throw helper
* Move class to its own file
* Rename these files so they nest in the solution explorer
* Make this a record type and remove now-redundant/illegal members
* Reference passing to avoid some struct copies
* Simplify this
* Carry reference passing through as appropriate
* Turn this into a record struct
* Remove unused internal constructor and its test
It was only used by that test.
* Simplify this constructor
* This should be a property
* Simplify constructor
* Simplify GetHashCode
* Mark this ignored just in case
* Missed a couple of opportunities for reference passing
* record struct already does this by value
* Remove unused class
* Simplify the type initializer and Reset method
* Implement INotifyCollectionChanged and IDictionary by delegating to ColorSchemes
* Fix for reflection-based configuration
* Make CI build happy by disambiguiating this attribute
* Add PERF, NOTE, QUESTION, and CONCURRENCY tags for the todo explorer
* Make this string comparison faster.
* Add a tag for unclear intent
* This is a constant
* Turn this into a constant via use of a unicode literal
* Remove this method and its test
It is unused
There's no guarantee at all that the parent process is the terminal.
There are good reasons, including that one, why there's no simple way to do it in .net.
It's also of course a windows-only thing, if using WMI.
* With the WMI method gone, we no longer need this
* Make this more efficient
* Add detail to this property's XmlDoc
* Move the general properties up top because order matters
* Make sure any constants defined at higher levels are not clobbered and define a couple more
* Put InternalsVisibleTo in its own group
* Sort dependencies alphabetically and update
* Global usings
* Split to one type per file
* Collection expression
* Fix naming
* Inline to avoid copies
* This is already a value copy (struct)
* Combine to one non-destructive mutation
* Avoid some potential boxing
* Turn on null analysis here
* Remove unnecessary cast and use real type name
* Seal this
* Fix name
* Move nested class to a nested file (no type layout change made)
* Undo naming change that isn't changed globally until next batch
* Replace all 342 `== null` with `is null`
* Replace 354 `!= null` with `is { }`
* Wrap these in conditionals since they break tests against Release configuration
The members they depend on do not exist in Release configuration
* Split these up and dispose properly
This test needs to be revisited for several reasons at some point.
* Fix release configuration tests
* Declare interface these already support
* Annotate constructor properly and use throw helper
* Move class to its own file
* Rename these files so they nest in the solution explorer
* Make this a record type and remove now-redundant/illegal members
* Reference passing to avoid some struct copies
* Simplify this
* Carry reference passing through as appropriate
* Turn this into a record struct
* Remove unused internal constructor and its test
It was only used by that test.
* Simplify this constructor
* This should be a property
* Simplify constructor
* Simplify GetHashCode
* Mark this ignored just in case
* Missed a couple of opportunities for reference passing
* record struct already does this by value
* Remove unused class
* Simplify the type initializer and Reset method
* Implement INotifyCollectionChanged and IDictionary by delegating to ColorSchemes
* Fix for reflection-based configuration
* Make CI build happy by disambiguiating this attribute
* Removed resharper settings from editorconfig
* Remove constructors with frame parameters from Button class.
* Remove constructors with frame parameters from CheckBox class.
* Cleanup code.
* Remove constructors with frame parameters from ComboBox class.
* @BDisp
Remove constructors with frame parameters from FrameView class.
* Remove constructors with frame parameters from Label class.
* Remove constructors with frame parameters from ListView class.
* Remove constructors with frame parameters from ScrollBarView class.
* Remove constructors with frame parameters from ScrollView class.
* Remove namespace braces.
* Cleanup code.
* Cleanup code.
* Cleanup code.
* Remove constructors with frame parameters from TextField class.
* Remove constructors with frame parameters from TimeField class.
* Fixes#3182. OnResizeNeeded returns int.MaxValue and int.MaxValue when Application.Top is null, should return Size.Empty.
* Remove constructors with frame parameters from Toplevel class.
* Remove constructors with frame parameters from Window class.
* Fix merge errors.
* Revert "Fixes #3182. OnResizeNeeded returns int.MaxValue and int.MaxValue when Application.Top is null, should return Size.Empty."
This reverts commit cf9c24b846.
* Revert unit test.
* Fixes#2882. TabView: 'Frame.DrawFrame(Rect, bool)' is obsolete: 'This method is obsolete in v2. Use use LineCanvas or Frame (#2980)
* Fixes#2882. TabView: 'Frame.DrawFrame(Rect, bool)' is obsolete: 'This method is obsolete in v2. Use use LineCanvas or Frame
* Trying fix this unit test that sometimes fail.
* Fixes#2983. View need a alternative DrawFrame for the v2.
* Use new DrawFrame method.
* Change _lines field to Lines property.
* Add TabWindow unit test.
* Add DrawIncompleteFrame method and unit tests.
* Add more unit tests to LineCanvas.
* Fix newline conflict errors.
* Revert "Change _lines field to Lines property."
This reverts commit ab6c5f3094.
* Add DrawIncompleteFrame method and unit tests.
* Add more unit tests to LineCanvas.
* Fix newline conflict errors.
* Force render immediately instead of join.
* I will never rely on zero-location-based unit test again.
* Fix TestTreeViewColor unit test fail.
* Using location of 3 to avoid be divisible by 2 and so avoiding bugs.
* Revert "Using location of 3 to avoid be divisible by 2 and so avoiding bugs."
This reverts commit dd3df135d8.
* Revert "I will never rely on zero-location-based unit test again."
This reverts commit 62adf6f285.
* Revert "Fix newline conflict errors."
This reverts commit 4acf72612d.
* Revert "Add more unit tests to LineCanvas."
This reverts commit 66bc6f514e.
* Revert "Add DrawIncompleteFrame method and unit tests."
This reverts commit 680ba264e1.
* Resolving merge conflicts.
* Revert "Use new DrawFrame method."
This reverts commit 69a7f17f19.
* Revert "Fixes #2983. View need a alternative DrawFrame for the v2."
This reverts commit dade9fd767.
* Reverting this changes to start a new one.
* Add horizontal and vertical support for combining glyphs.
* Fix text and auto size behavior.
* Add TabWidth property.
* Add unit test for WordWrap.
* Fixes#3017. View TextDirection returns incorrect size on a vertical direction instance with AutoSize as false.
* Using Frame to force read from the get method.
* Fix some issues with AutoSize and ForceValidatePosDim.
* Fixing broken unit tests.
* Restoring code I've broken.
* Removing forgotten code.
* Only LayoutStyle.Computed can change the Frame.
* DateField and TimeField depends on LayoutStyle.Computed.
* Fix unit tests related with LayoutStyle.
* Implements tabs, left and right arrows as View.
* Draws a minimum full border.
* Adds missing XML parameter.
* Adds assert tests for Frame.
* Removes duplicates InlineData.
* Adds more unit tests for minimum full border without Left and Right thickness.
* Trying to fix the TestTreeViewColor unit test fail.
* Prevents a user to set TextDirection to -1.
* Prevents any invalid TextDirection value.
* Removes (TextDirection)(-1).
* Removes unnecessary TextDirection initialization.
* Removes LayoutStyle.
* Fixing unit tests with border.
* Trying to fix TestTreeViewColor again.
* Revert "Trying to fix TestTreeViewColor again."
This reverts commit c2efa8e42e.
* Trying to fix TestTreeViewColor again.
* Fix merge errors.
* Fix merge errors.
* Restoring unit test.
* Restores the right XML comment.
* Fix Disposing unit tests that sometimes throws because some instances aren't cleared on others unit tests classes.
* Fix Disposing unit tests that sometimes throws because some instances aren't cleared on others unit tests classes.
* Only call OnResizeNeeded if it's LayoutStyle.Computed.
* Fix merge errors.
* Fix merge errors.
* Fix unit tests fail.
* Reformat.
* Again.
* Rename to OnDrawAdornments.
* Fix failing unit tests.
* Reduces indentation and cleanup code.
* Cleanup code.
* Fix bug done when cleanup.
* Replace FrameHandledMouseEvent to AdornmentHandledMouseEvent.
* Removes Tab constructor parameters.
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Fix merge errors.
* Remove constructors with parameters from Button.
* Remove parenthesis on objects initializers from Button.
* Remove constructors with parameters from CheckBox.
* Remove parenthesis on objects initializers from CheckBox.
* Remove constructors with parameters from ComboBox.
* Remove constructors with parameters from FrameView.
* Remove parenthesis on objects initializers from FrameView.
* Initial commit
* Renamed Direction enum for clarity in refactoring unit tests
* Moved nav tests to NavigationTests
* Moved view tests around
* Cleaning up TextFormatter and View.AutoSize code
* Fixed latent TextFormatter bug with \n
* removed Application dependency on some autosize unit tests
* Fixed Label tests to deal with auotsize overriding height/width
* Fixed more label tests. WIP
* Fixed all places where AutoSize = happend after setting Dims
* Started adding new primitive View.Text tests
* Code comments
* WIP: Enforce that it makes no sense to set Width/Height if AutoSize = true. Update Unit tests to match.
* WIP: Enforce that it makes no sense to set Width/Height if AutoSize = true. Update Unit tests to match.
* Remove frame set from the View constructor and prevent SetRelativeLayout running if not yet initialized.
* Changes needed for unit tests pass on remove parameters constructors from the Label class.
* Remove constructors with parameters from Label.
* Remove parenthesis on objects initializers from Label.
* Prefix private fields with underscore.
* Renamed to MaxLength.
* Remove constructors with parameters from ListView.
* MakeWrapper not needed anymore.
* Remove parenthesis on objects initializers from ListView.
* WIP: Enforce that it makes no sense to set Width/Height if AutoSize = true. Update Unit tests to match.
* Massive code cleanup - use parameterless constructors and ensure AutoSize is set properly. Code reformat.
* Massive code cleanup - use parameterless constructors and ensure AutoSize is set properly. Code reformat.
* Fixed messagebox
* Remove constructors with parameters from ScrollBarView and ScrollView.
* Remove parenthesis on objects initializers from ScrollBarView and ScrollView.
* Cleanup code.
* Fix merge errors.
* Add empty dotsettings for solution and projects.
* Set ReSharper language analysis level for projects to C#12
* Make ReSharper consider itself the boss for style
* Add rule to enforce property backing fields above the property
* Disable auto-detection of naming rules so ReSharper doesn't change them by itself
* Don't let someone's VS settings override the indent settings
* Explicitly set tab width to 4 spaces and force spaces.
* Rules to keep various multi-line constructs aligned within themselves
* Curly brace rules (Using K&R style, per current project spec)
* Blank line rules
Mostly to add breaks in various situations, and also to enforce max of 1 blank line.
* Increase auto-wrap to 160 from default of 120
* Line break at end of all files, to make Unixy systems happy
* Keep attributes on their own lines except for methods and records that are themselves single-line
* Increase attribute auto-wrap to 60 from default of 38
* Wrap/chop rules for long method signatures and record declarations
Chop if either already multi-line or if over 8 parameters.
Chop AFTER the left paren and BEFORE the first parameter.
* Chop rules for generics
For generics with multi-line type parameters or multiple type parameter constraints, chop in a way that has consistent alignment.
* Always enforce enum members on their own lines
* One-line functions completely on one line
They're usually expression-bodied anyway, here, so this is almost irrelevant
* Keep control flow statements on their own lines
* Follow same chop rules for method invocation as method declaration
* Chop long or multi-line method chains or patterns
* Wrap rules for binary operators
Operator at beginning of new lines
Auto-chop if long or already multi-line
* Spaces between keywords and their opening parentheses
* Add file layout rules for organization of reorderable items like fields, properties, etc.
Ugly XML, so load it up in the UI to look at it
It's MOSTLY the ReSharper defaults, but with more aggressive sorting, generally by access modifier and name, within each grouping.
* Deconstructors use per-member types
* Use keywords for built-in types and increase severity of inspection for violations
Also apply to IntPtr and similar, which should now be nint and similar
* Apply syntax style on completion.
* Use var when evident for built-in and simple types, but not elsewhere
* Increase severity for some minor redundancy and clarity inspections
* Enforce braces always required for blocks, and treat as error
* Warn if a local function is not statement-bodied
* Increase various inspection severities
IF Condition => Severity:
Attributes not wrapped property => Suggestion
Constructors expression-bodied => Error
default doesn't have type when it isn't clear => suggestion
Namespaces not file-scoped => error
Methods not statement-bodied => hint
Null check pattern not the object property pattern => Error
* Adjust preference order of null check patterns to make object pattern highest
* XmlDoc rules to keep tags and contents aligned and wrapped
* Add a few custom profiles for code cleanup and make the full profile default
* Remove parts for languages not used in this solution
* copied in v2_develop changes
* Merged v2_develop
* Added Begin/Init unit tests. Removed Application dependencey from AutoSizeFalse tests
* TextFormatter.Lines -> GetLines ()
* Let ReSharper know we intend to localize things
* TextFormatter code cleanup
* copied in v2_develop changes
* Merged v2_develop
* Spaces aren't wanted here either.
* Fix merge errors.
* Fixes ContentBottomRightCorner related with https://github.com/gui-cs/Terminal.Gui/issues/3211#issue-2098878820
* Remove constructors with parameters from ContextMenu.
* Remove commented code.
* Remove constructors with parameters from OpenDialog.
* Remove constructors with parameters from SaveDialog.
* Remove constructors with parameters from TextField.
* Remove constructors with parameters from TimeField.
* Fix unit test.
* Remove unnecessary SetInitialProperties method.
* Remove unnecessary SetInitialProperties method.
* Remove parenthesis on objects initializers from Toplevel and Window.
* Remove constructors with parameters from RadioGroup.
* Remove constructors with parameters from TextView.
* Remove constructors with parameters from MenuBar.
* TEMPORARY: Turn everything that was set to error down to warning or lower
* Fixes#3219. MenuBar is opened by call OpenMenu even it's disabled.
* Remove constructors with parameters from Menu.
* Remove constructors with parameters from View.
* Change constructor to internal because is mainly useful for testing.
* ReSharper Cleanup Code.
* Added format only r# config
* Fixes#3224. TextFormatter.Lines should return a single string.Empty list even with Width or Height equal to zero.
* Remove constructors with parameters from Dialog.
* Remove constructors with parameters from TextValidateField.
* Fixes https://github.com/gui-cs/Terminal.Gui/issues/3224#issuecomment-1924096038
* Fixes#3225. Press CursorDown on TabView doesn't move to the next view.
* Fixes#3229. TextFormatter should have a FillRemaining property.
* Testing formatting merge in bdisp
* Testing formatting merge
* Testing formatting merge bdisp
* Testing formatting merge 2
* xmldoc format
* R# Full Code Cleanup
* R# Full Code Cleanup2
* R# Full Code Cleanup2
* Merged! But broke tests
* Refixing...
* Refixed DrawTests
* Refixed ViewTests
* Refixed Text Tests
* Refixed more unit tests
* Refixed scenarios
* Refixed rest of scenarios
* Refixed ViewsTests
* Refixed rest of tests. All unit tests pass again!
* Fixed warnings
* Updated R# version. Added new code cleanup settings
* Applied latest code cleanup to solution
* Another code cleanup pass
* Tweaked r# settings. .editorconfig now matches.
* r# else on separate line
* r# - update
* r# - full solution
* test commit
* test commit
* test commit
* Removed extra profiles
* Full cleanup following cleaning up profiles
* Null checking pattern rules/inspections
* Tabs and extra whitespace are evil
* Attributes on their own lines
* Code layout rules to put fields first and to put backing fields with their properties
* Merged v2_develop
* Full cleanup following dodexahedron's PR
---------
Co-authored-by: BDisp <bd.bdisp@gmail.com>
Co-authored-by: Brandon Thetford <github@snapsinazfs.com>
* Removes CheckAbsoulte and updates unit tests to match
* Fixed code that was dependent on ToString behavior vs. direct test for null
* Dim/Pos != null WIP
* Moved AutoSize specific tests out of Pos/Dim tests
* Broke out AutoSize = false tests to new file
* Commented test TODOs
* New test
* Removed unused API and cleaned up code
* Removed unused API and cleaned up code
* Cleaned up code
* Cleaned up code
* reorg'd Toplevel tests
* Fixed Create and related unit tests
* Added test from #3136
* Removed TopLevel.Create
* Fixed SetCurrentOverlappedAsTop
* Updated pull request template
* Updated pull request template
* Revert "Updated pull request template"
This reverts commit d807190dd9.
* reverting
* re-reverting
* Fixed every thing but autosize scenarios??
* Fixed hexview
* Fixed contextmenu
* Fixed more minor issues in tests
* Fixed more minor issues in tests
* Debugging Dialog test failure
* Fixed bad Dialog test. Was cleary invalid
* Fixed OnResizeNeeded bug
* Fixed OnResizeNeeded bug
* Fixed UICatalog to not eat exceptions
* Fixed TextView
* Removed Frame overrides
* Made Frame non-virtual
* Fixed radioGroup
* Fixed TabView
* Hcked ScrolLBarView unit tests to pass
* All AutoSize tests pass!
* All tests pass!!!!!!!
* Updated API docs. Cleaned up code.
* Fixed ColorPicker
* Added 'Bounds =' unit tests
* Refactored TextFormatter.Size setting logic
* Cleaned up OnResizeNeeded (api docs and usages)
* Merges in #3019 changes. Makes OnResizeNeeded non-virtual. If we find a use-case where someone wants to override it we can change this back.
* Fixed FileDialog bounds warning
* Removed resharper settings from editorconfig
* Added Pos.Center test to AllViewsTests.cs.
Modernized RadioGroup.
Fixed ProgressBar.
* Reverted formatting
* Reverted formatting
* Reverted formatting
* Reverted formatting
* Reverted formatting
* Reverted formatting
* Reverted formatting
* Code cleanup
* Code cleanup
* Code cleanup
* Code cleanup
* Code cleanup
* Code cleanup
* Code cleanup
* Code cleanup
* Reverted formatting
* Fixes#3128. Some Key class unit tests does not run.
* Disabling duplicates warnings.
* Removes duplicate InlineData.
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Fixes#3054. VkeyPacketSimulator scenario is broken.
* Fix some key handle and unit tests.
* Remove unnecessary conditional.
* Improves key handling.
* Also allow map capslock to shift with accented characters.
* Change to MemberData.
* Remove unnecessary using.
* Fix merge errors.
* Fixes#3095. WindowsDriver should return the mask keys to IsShift, IsAlt and IsCtrl return the right value.
* Modifiers keys are valid to be handled on key down and key up.
* Map KeyCode.Enter to ConsoleKey.Enter and vice versa.
* Updated ScanCodeMapping table with readable constants
* Documented bugs
* Implemented mapping using MapVirtualKeyEx
* Implemented mapping using MapVirtualKeyEx
* Changed KeyCode special keys to match ConsoleKey values + max unicode codepoint
* Fixed bogus CollectionNavigator impl and tests
* Nuked DeleteChar. renamed InsertChar to Insert
* KeyCode.Enter = ConsoleKey.Enter, not \n
* Code cleanup
* Added diag for keyboard layout name
* Fixed AltGr support (hopefully)
* Simplified code
* Simplified KeyCode by removing ShiftKeys
* Fixed TextView
* Code cleanup
* Fixes cursesdriver (somewhat)
* Code cleanup
* netdriver wip
* Fixed netdriver under WSL
* Turned off debug spew
* Removed old code
---------
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
Co-authored-by: Tig Kindel <tig@kindel.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
* 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
* Added ClipRegion; cleaned up driver code
* clip region unit tests
* api docs
* Moved color stuff from ConsoleDriver to Color.cs
* Removes unused ConsoleDriver APIs
* Code cleanup and Removes unused ConsoleDriver APIs
* Code cleanup and Removes unused ConsoleDriver APIs
* Work around https://github.com/gui-cs/Terminal.Gui/issues/2610
* adjusted unit tests
* initial commit
* Made Rows, Cols, Top, Left virtual
* Made Clipboard non-virtual
* Made EnableConsoleScrolling non-virtual
* Made Contents non-virtual
* Pulled Row/Col up
* Made MoveTo virtual; fixed stupid FakeDriver cursor issue
* Made CurrentAttribute non-virtual
* Made SetAttribute non-virtual
* Moved clipboard code out
* Code cleanup
* Removes dependecy on NStack from ConsoleDrivers - WIP
* Fixed unit tests
* Fixed unit tests
* Added list of unit tests needed
* Did some perf testing; tweaked code and charmap to address
* Brough in code from PR #2264 (but commented)
* Tons of code cleanup
* Fighting with ScrollView
* Fixing bugs
* Fixed TabView tests
* Fixed View.Visible test that was not really working
* Fixed unit tests
* Cleaned up clipboard APIs in attempt to track down unit test failure
* Add Cut_Preserves_Selection test
* Removed invalid code
* Removed invalid test code; unit tests now pass
* EscSeq* - Adjusted naming, added more sequences, made code more consistent, simplified, etc...
* Added CSI_SetGraphicsRendition
* NetDriver code cleanup
* code cleanup
* Cleaned up color handling in NetDriver
* refixed tabview unit test
* WindowsDriver color code cleanup
* WindowsDriver color code cleanup
* CursesDriver color code cleanup
* CursesDriver - Adding _BOLD has no effect. Further up the stack we cast the return of ColorToCursesColor from int to short and the _BOLD values don't fit in a short.
* CursesDriver color code - make code more accurate
* CursesDriver color code - make code more accurate
* Simplified ConsoleDriver.GetColors API
* Simplified ConsoleDriver.GetColors API further
* Improved encapslation of Attribute; prep for TrueColor & other attributes like blink
* Fixes#2249. CharacterMap isn't refreshing well non-BMP code points on scroll.
* Use GetRange to take some of the runes before convert to string.
* Attempting to fix unit tests not being cleaned up
* Fixes#2658 - ConsoleDriver.IsRuneSupported
* Fixes#2658 - ConsoleDriver.IsRuneSupported (for WindowsDriver)
* Check all the range values and not only the max value.
* Reducing code.
* Fixes#2674 - Unit test process doesn't exit
* Changed Cell to support IsDirty and list of Runes
* add support for rendering TrueColor output on Windows merging veeman & tznind code
* add colorconverter changes
* fixed merged v2_develop
* Fixing merge bugs
* Fixed merge bugs
* Fixed merge bugs - all unit tests pass
* Debugging netdriver
* More netdriver diag
* API docs for escutils
* Update unicode scenario to stress more stuff
* Contents: Now a 2D array of Cells; WIP
* AddRune and ClearContents no longer virtual/abstract
* WindowsDriver renders correctly again
* Progress on Curses
* Progress on Curses
* broke windowsdriver
* Cleaned up FakeMainLoop
* Cleaned up some build warnings
* Removed _init from AutoInitShutdown as it's not needed anymore
* Removed unused var
* Removed unused var
* Fixed nullabiltiy warning in LineCanvas
* Fixed charmap crash
* Fixes#2758 in v2
* Port testonfail fix to v2
* Remove EnableConsoleScrolling
* Backport #2764 from develop (clear last line)
* Remove uneeded usings
* Progress on unicode
* Merged in changes from PR #2786, Fixes#2784
* revamp charmap rendering
* Charmap option to show glyph widths
* Fixed issue with wide glpyhs being overwritten
* Fixed charmap startcodepoint change issue
* Added abiltiy to see ncurses verison/lib
* Fought with CursesDriver; giving up for now. See notes.
* Leverage Wcwidth nuget library instaed of our own tables
* enhanced charmap Details dialog
* Final attempt at fixing curses
---------
Co-authored-by: BDisp <bd.bdisp@gmail.com>
Co-authored-by: adstep <stephensonadamj@gmail.com>
* Fixes#2482. Refactor Redraw - Non-virtual with the right set of virtual OnXXX methods.
* Change documentation comments.
* Fixes#2575 - TableView to use interface instead of System.Data.DataTable (#2576)
* WIP: Add ITableDataSource
* WIP: Refactor TableView
* WIP: Port CSVEditor
* WIP: Port TableEditor
* WIP: Port MultiColouredTable scenario
* Fix bug of adding duplicate column styles
* Update tests to use DataTableSource
* Tidy up
* Add EnumerableTableDataSource<T>
* Add test for EnumerableTableDataSource
* Add test for EnumerableTableDataSource
* Add code example to xmldoc
* Add ProcessTable scenario
* Rename ITableDataSource to ITableSource and update docs
* Rename EnumerableTableDataSource to EnumerableTableSource
* Fixed Frame != Bounds; changed UICat Scenarios list to use tableview!
* Fix scroll resetting in ProcessTable scenario
* Fix unit tests by setting Frame to same as Bounds
* Document why we have to measure our data for use with TableView
---------
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Fixes#2582 - Refactors FileDialog for cleaner data model (#2583)
* WIP: Add ITableDataSource
* WIP: Refactor TableView
* WIP: Port CSVEditor
* WIP: Port TableEditor
* WIP: Port MultiColouredTable scenario
* Fix bug of adding duplicate column styles
* Update tests to use DataTableSource
* Tidy up
* Add EnumerableTableDataSource<T>
* Add test for EnumerableTableDataSource
* Add test for EnumerableTableDataSource
* Add code example to xmldoc
* Add ProcessTable scenario
* Rename ITableDataSource to ITableSource and update docs
* Rename EnumerableTableDataSource to EnumerableTableSource
* Fixed Frame != Bounds; changed UICat Scenarios list to use tableview!
* Fix scroll resetting in ProcessTable scenario
* Fix unit tests by setting Frame to same as Bounds
* Document why we have to measure our data for use with TableView
* WIP: Simplify FileDialogs use of TableView
* WIP start migrating sorter
* WIP new filedialog table source mostly working
* WIP remove sorter class
* Refactor GetOrderByValue to be adjacent to GetColumnValue
* Fix collection navigator back so it ignores icon
* Fix unit tests
* Tidy up
* Fix UseColors
* Add test for UseColors
---------
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Fixes#2196. TextView: Setting Text places cursor at beginning, unlike TextField (#2572)
* Fixes#2196. TextView: Setting Text places cursor at beginning, unlike TextField
* Change all private members to have the _prefix.
* Renamed local member to prevLayoutStyle.
* Helper function for SetNeedsDisplay.
* Fixes#2569. Borders scenarios needed to be refactored. (#2570)
* Fixes#2569. Borders scenarios needed to be refactored.
* Fix border title with width equal to 4 and thickness top grater than 1.
* Improves border manipulation on borders scenarios.
* Prevents null value on the margin, border and padding thickness on the border scenarios.
* Remove NStack using dependence and fix prior commit.
* Refactoring the Frames scenario.
* Deleted borders scenarios.
* I did not realize that it was changed to SetSubViewNeedsDisplay.
* Re-layout; fixed colorpicker; fixed radio group
* Remove Thickness.IsEmpty as requested.
* Change the Frames scenario as requested.
---------
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>
* Builds CollectionNavigator support into UI Catalog for TableView (#2584)
* Builds collectionnav support into UI cat for TableView
* Fixes keyboard mapping
* MultiSelect = false for TableView
* MultiSelect = false doesn't unbind ctrl-a
* Fixes#2581 Refactor CollectionNavigator so it supports TableView (#2586)
* Refactor CollectionNavigator to a base and a collection implementation
* Refactor CollectionNavigatorBase to look for first match smartly
* Add TableCollectionNavigator
* Make TableCollectionNavigator a core part of TableView
* Fix bad merge
* Added tests for tableview collection navigator
* Add FileDialogCollectionNavigator which ignores . and directory separator prefixes on file names
* whitespace fixes
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* Resolving merge conflicts.
* Fix merge errors.
* Fix merge errors.
* Add Command.Accept and snap to the selected glyph when ShowHorizontalScrollIndicator change to true.
* Reformat.
* Reformat again.
---------
Co-authored-by: Thomas Nind <31306100+tznind@users.noreply.github.com>
Co-authored-by: Tig Kindel <tig@users.noreply.github.com>