Commit Graph

35 Commits

Author SHA1 Message Date
Charlie Kindel
1efb051379 Refactored AutoInitShutdown attribute - scary stuff 2022-11-11 10:06:21 -07:00
Charlie Kindel
bf1ed31281 Refactored UI Catalog and added tons of unit tests 2022-11-03 15:58:15 -06:00
Charlie Kindel
0e136b17cc shortened InvokeLeakTests 2022-11-02 21:38:38 -06:00
Charlie Kindel
fc6f830339 Tweaked unit tests to be more robust 2022-11-02 21:29:35 -06:00
Tig
4893ef7b90 Merge branch 'develop' into unittests_refactor 2022-10-30 15:07:39 -07:00
Tig Kindel
9ee47ad3dd moved scenario tests namespace 2022-10-29 20:04:47 -06:00
Tig Kindel
f5bb3552e0 Minor clean up of UI Catalog 2022-10-29 17:38:29 -06:00
Thomas Nind
2f473ae9b7 Simplified Run_All_Scenarios test (#1790) 2022-06-13 11:42:44 -07:00
BDisp
9dc40088bc UseKeysUpDownAsKeysLeftRight and UseSubMenusSingleFrame cannot be both true. (#1789)
* Fixes the throwing an exception if menu item is null.

* UseKeysUpDownAsKeysLeftRight and UseSubMenusSingleFrame cannot be both true.

* Refactoring the code.

* Trying fixing the Run_All_Scenarios unit test.

* Fixing typo to test again.

* Added Attribute suffix to he AutoInitShutdown class.
2022-06-12 09:09:41 -07:00
BDisp
b33b658f5b Fixes #1769. Supports a minimum view size for non-automatic size views. (#1771)
* Fixes #1769. Supports a minimum view size for non-automatic size views.

* Only sets the minimum view size if it has text for non-autosize views.

* Added Dim unit tests for views with text.
2022-06-08 13:05:34 -07:00
BDisp
67ab11044a Fixes #1763. Allowing read console inputs before idle handlers. (#1764)
* Fixes #1763. Allowing read console inputs before idle handlers.

* Locking FakeConsole.MockKeyPresses after the Application.Init.

* Adding scenario checking failed for iterations.
2022-06-01 13:38:03 -07:00
BDisp
c8db4ff88b Still trying to fix the Run_All_Scenarios unit test. 2022-05-13 18:16:47 +01:00
BDisp
93123d0cfc Revert "Trying to fix the Run_All_Scenarios unit test."
This reverts commit 235b285294.
2022-05-13 18:02:01 +01:00
BDisp
235b285294 Trying to fix the Run_All_Scenarios unit test. 2022-05-13 17:51:01 +01:00
BDisp
1557f7a71e Fixes ComboBox text and list if the height is equal to one. (#1606)
* Fixes ComboBox text and list if the height is equal to one. End and Home navigate on text.

* Trying fix the all scenarios unit test.

* Removing unnecessary code.

* Avoiding the Collection was modified after the enumerator was instantiated exception.

* Also cover the IndexOfValue inside the lock.

* Disposing the DrawContent event.

* Increasing the time to test.

* Revert "Increasing the time to test."

This reverts commit b3c2ac871c.

* CharacterMap take more time to load.
2022-02-20 13:39:22 -08: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
BDisp
138a14746d Using LayoutSubviews to fix the size height hiding first character. 2021-07-16 15:17:20 +01:00
BDisp
1aa1161163 Asserting type names. 2021-07-16 13:04:25 +01:00
BDisp
57a3a5d9f1 Fixes #1260. Added unit test to emulate the "All Views Tester" scenario. 2021-07-16 11:46:50 +01:00
BDisp
c707d1351d Some changes and adding much more unit tests. 2021-07-11 00:19:11 +01:00
Charlie Kindel
8d8025329e Added Attributes tests; balanced Application.Init/Shutdown 2021-05-17 18:22:46 -07:00
Charlie Kindel
b29240f362 Code coverage (#1235)
* tweaked version # for v1.0.0-beta.10

* tweaked version # for v1.0.0-beta.11

* Updated readme and revision history for 1.0

* excluding test results

* Added support for viewing code coverage results with Fine Code Coverage

* add generating CC to CI/CD

* refactored unit test namespaces

* more refactoring. commented out failing test.

* Removed UnitTests and UICatalog from code coverage reporting

* made Application and test more deterministic

* disabled Multi_Thread_Toplevels because it is currently broken and don't understand why

* updated threading test per @bdisp

* testing cc badge stuff

* another test

* using coverlet.settings

* trying copy

* trying cp. duh.

* trying mv.

* wrong path

* print

* chaging badge output for testing

* yaml error

* fixed code coverage

* moved dimtests to core
2021-04-25 10:18:31 -07:00
BDisp
3418f2882a Fixes #1234. Setting Handled to true in the KeyPress event avoids ProcessKey from running. (#1237)
* Fixes #1234. Setting Handled to true in the KeyPress event avoids ProcessKey from running.

* Using literals values in Assert.Equal.

* Can't use numbers variables on the left side of an Assert.Equal/NotEqual, it must be literal (Linux only).
2021-04-22 10:04:33 -07:00
BDisp
bcc31e0da0 Trying fixing #518. Almost functions work on both Windows and Unix with the NetDriver. 2020-11-17 21:57:45 +00:00
BDisp
01d4b4f55f Added wide improvements on keys managements. 2020-10-26 00:46:51 +00:00
Melvyn Laïly
f4cd2ca1c3 Fix typos 2020-08-26 10:29:57 +02:00
BDisp
dce2a0304e Fixed Unit Test based on the changes. 2020-07-17 02:35:02 +01:00
Charlie Kindel
da54dece1f dealt with Removed 2020-07-06 15:42:02 -07:00
Charlie Kindel
254131b8c6 removed DEBUG by renaming #define 2020-06-14 22:55:59 -07:00
Charlie Kindel
c6a4bd9612 removed DEBUG by renaming #define 2020-06-14 22:21:34 -07:00
Charlie Kindel
6df27f5fd0 removed DEBUG stuff 2020-06-14 22:17:01 -07:00
Charlie Kindel
bd7e9469bf forgot GH Action is setup to run as Release 2020-06-14 22:03:47 -07:00
Charlie Kindel
4a4ff7fc7a more dispose 2020-06-13 16:10:48 -07:00
Charlie Kindel
f4b9d313d8 tweaked scenario tests; minor bug fixes 2020-06-12 09:05:17 -06:00
Charlie Kindel
1aabd39099 adds unit test that executes every Scenario in UI Catalog 2020-06-11 21:12:55 -06:00