Commit Graph

81 Commits

Author SHA1 Message Date
Tig Kindel
61335e8788 Fixes #1893: Fix URLs to match gui-cs Org (#1900)
* Release v1.3.0

* regen docs

* change nuget publish script to use rohit version

* Release v1.3.1

* Force fix README.md API docs links

* tweak contrib instructions

* more doc fixes

* updated most urls
2022-07-26 12:09:03 -07:00
Thomas
7deacf3bb9 Renamed to simply GetObjectOnRow and dropped unused X component 2022-05-13 22:37:01 +01:00
Thomas
6800113ff1 Changed name to GetObjectRow 2022-05-13 22:17:42 +01:00
Thomas
7f0671e10a Renamed new methods 2022-05-13 21:42:50 +01:00
Thomas Nind
e60d7f4363 Added IndexOf method to TreeView to allow for keyboard context menus 2022-05-10 16:05:09 +01:00
Thomas Nind
5c39f6af48 Added new method HitTest to TreeView to allow for better context menus 2022-05-10 15:39:15 +01:00
Thomas
8e148013ec Added ColorGetter to TreeView 2022-05-08 22:48:45 +01:00
Thomas Nind
ea7981dc59 Adds Key Binding support. Also refactors Autocomplete and Undo/Redo. (#1556)
* 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>
2022-02-08 10:40:40 -08:00
Thomas Nind
85c74b8357 Added DesiredCursorVisibility to TreeView (#1561) 2022-02-06 14:27:19 -08:00
BDisp
52f48b2044 Fixes #1384. Added a VisibleChanged event on the View class. (#1385)
* Fixes #1384. Added a VisibleChanged event on the View class.

* Getting the last char.

* Fixes #871. Added Enable property to Responder and added Disabled color for all ColorSchemes.

* Added GetNormalColor method to the View being more readable.

* Fixes the contentBottomRightCorner Enable and Visible.

* Fixes #643. Added AddItemAt and RemoveItem to StatusBar and fixed more bugs.

* Typo fixes.

* Fixes #1387. Allowing the UnitTests project to test internal keywords.

* Fixes #1389. Added a unidirectional feature to the Marquee styles to the ProgressBar.

* Fixes #1394. Added ReflectedType to check for overridden.

* Fixes #1396. Using the Loaded event instead the Ready event.

* Fixes #1402. Only WindowsDriver supports horizontal scroll. (#1403)

* Fixes #1402. Only WindowsDriver supports horizontal scroll.

* Fixes ProcessContinuousButtonPressedAsync on all drivers.

* Fixed internal unit test.

* Fixing warning.

* Fixing Editor scenario error.

* Fixes double and triple click on a touchpad.

* Ensuring reset the counting.

* Allowing touchpad double and triple click with one finger on CursesDriver.

* Allowing touchpad double and triple click with one finger on WindowsDriver.

* Fixes #1414. Fixed multi toplevels and mdi container issues.

* Improving EnsureVisibleBounds and PositionToplevel.

* Added mouseGrabView to the ResetState method.

* Changing namespace.

* Allowing file type on the SaveDialog.

* Fixes SaveDialogs writing the extension twice.
2021-08-11 02:56:30 -07:00
Thomas Nind
444a01ae46 Extracted TreeView classes (builders, delegates, event args etc) into seperate files in namespace Terminal.Gui.Trees (#1246) 2021-04-26 08:59:35 -07:00
Charlie Kindel
4da9ad0e89 Fix 1130 broken links (#1131)
* fixed table & treeview docs

* regen docs

* relnote
2021-03-09 12:36:37 -07:00
Thomas Nind
522745f559 Fix #1120 (#1124)
* Added ObjectActivationButton (mouse)

* Fixed layout to match coding guidelines
2021-03-08 19:42:25 -07:00
tznind
bb28caeb75 Changed BuildLineMap to use IReadOnlyCollection 2021-03-08 12:53:48 +00:00
tznind
57a93aa186 Fixed layout to match coding guidelines 2021-03-08 10:36:41 +00:00
tznind
bace6d279c Fixed mouse click expand/collapse not clearing cached state of line map 2021-03-08 10:36:21 +00:00
tznind
7cb3812c19 Split TreeNode, TreeStyle and TreeBuilder into seperate files 2021-03-08 10:18:11 +00:00
tznind
db322b27ef Added GoTo method and renamed 'model' parameter where appropriate 2021-03-08 10:11:11 +00:00
tznind
dc22a890e9 Updated to match coding guidelines (whitespace, brackets etc) 2021-03-08 09:22:17 +00:00
tznind
07bc61e045 Fixed not using curly bracers for one line statement blocks 2021-03-08 08:51:51 +00:00
tznind
d2361072c1 Wrapped all comments to 100 width 2021-03-08 08:18:27 +00:00
tznind
332083870b Added overflow check for AllowLetterBasedNavigation before casting to char 2021-03-03 04:52:38 +00:00
tznind
d1a3b4807e Added AllowLetterBasedNavigation - press S to go to next node beginning with 'S' 2021-03-02 22:24:22 +00:00
tznind
62a997f4b3 Tidied up docs and fixed several methods to be virtual 2021-03-02 21:58:07 +00:00
tznind
07899ec304 Added branch level navigation Ctrl+Up/Down 2021-03-02 20:02:29 +00:00
tznind
ec85340285 Added ObjectActivated event 2021-03-02 19:14:38 +00:00
tznind
cd63ac0f20 Merge branch 'tree-view' of https://github.com/tznind/gui.cs into tree-view 2021-02-21 12:53:59 +00:00
tznind
2d7b3f4f52 Added interactive scenario (create and delete tree nodes on demand). Added Tag and Text to interface for ITreeNode 2021-02-21 12:52:42 +00:00
tznind
01566fa0a8 Fixed GetAllSelectedObjects including SelectedObject when it is hidden by branch collapsing 2021-02-17 21:08:35 +00:00
tznind
db3d784a1a Added caching of BuildLineMap results for better performance with very large trees 2021-02-17 19:55:53 +00:00
tznind
14244d2c19 Improved performance of TreeSelection.Contains 2021-02-17 19:25:33 +00:00
tznind
f21f21522f Added SelectAll and made OnSelectionChanged protected 2021-02-17 19:18:33 +00:00
tznind
74f5dd8dc5 Fixed not rendering last character of line when text is too long (and truncated) 2021-02-17 18:42:17 +00:00
tznind
5b763bd44f Added ExpandAll / CollapseAll (shortcut Ctrl + Right/Left) 2021-02-17 13:37:43 +00:00
tznind
76f81d2bdd Fixed IsSelected using reference comparison instead of equality 2021-02-17 12:46:57 +00:00
tznind
66a779cb41 Fixed Rebuild not going to bottom of hierarchy 2021-02-17 12:36:05 +00:00
tznind
f675b3b39c Added new scenario ClassExplorer which presents all Types and Methods divided by assembly 2021-02-17 11:38:38 +00:00
tznind
01b899fb37 test for multi select, mouse fix and collapse selection fix 2021-02-16 20:06:29 +00:00
tznind
c3253e965d Added GetAllSelectedObjects 2021-02-16 19:40:33 +00:00
tznind
06bb01a68f Added ability to select multiple branches at once 2021-02-16 13:38:51 +00:00
tznind
eb97e64830 Made 'LeaveLastRow' optional as new property in TableStyle 2021-01-24 19:08:34 +00:00
tznind
6066d711ad Allowed 1 extra line of vertical scrolling down (past end of tree) 2021-01-24 12:55:22 +00:00
tznind
1a00376885 Added more tests and fixed GetContentWidth when Bounds have 0 Height 2021-01-24 11:12:44 +00:00
tznind
2884b8e94d Added horizontal scrollbar, fixed tests 2021-01-24 10:35:03 +00:00
tznind
a1fe75a983 Added horizontal scrolling 2021-01-24 10:13:38 +00:00
tznind
50119da955 Fixed ofY in mouse handler and made ContentHeight real time 2021-01-23 10:51:39 +00:00
tznind
bea15c54c9 Added scroll bar to tree view example 2021-01-23 08:59:42 +00:00
tznind
4b6f3569ef Added basic use cases and new article 2021-01-22 19:57:39 +00:00
tznind
c7174c3b46 Handled case where nodes return null for ToString 2021-01-11 09:47:03 +00:00
tznind
aef698ac1f Added unicode symbols option to UICatalog 2020-12-30 19:20:43 +00:00