Commit Graph

1192 Commits

Author SHA1 Message Date
Brandon Thetford
1818c2441e Generic attributes were added in .net7 and c# 11. 2024-02-29 13:46:47 -07:00
Brandon Thetford
25bcb66281 Move that part to the top, like Terminal.Gui 2024-02-29 13:46:42 -07:00
Brandon Thetford
41feacc143 Reverse the order of these
Alphabetizing
2024-02-29 13:46:35 -07:00
Brandon Thetford
0c490602db Remove unneeded elements 2024-02-29 13:46:18 -07:00
Tig Kindel
2432bf76b8 Added Adornment.FrameToScreen tests that prove old behavior was bad 2024-02-27 10:52:11 -07:00
Tig Kindel
f8283ecc83 Fixed Adornment.Bounds and added new tests 2024-02-27 09:58:54 -07:00
Tig Kindel
aa4e2c0ae7 FindDeepestView now correctly supports start with Adornments 2024-02-27 09:51:02 -07:00
Tig Kindel
3bc2909d73 WIP (broken) - support adornmnts 2024-02-27 08:21:01 -07:00
Tig Kindel
cecfb71ee1 Fixed Visible bug and addd unit tests 2024-02-27 08:00:59 -07:00
Tig Kindel
248efc2cc2 Simplified FindDeepestVieew 2024-02-27 07:43:13 -07:00
Tig Kindel
55b7858f46 Added FindDeepestView tests 2024-02-27 06:10:12 -07:00
Brandon Thetford
736eea1469 Fix this test for release builds 2024-02-25 20:52:15 -07:00
Brandon Thetford
13b6d754ff A couple more Rectangles simplified 2024-02-25 20:49:56 -07:00
Brandon Thetford
1ebc99b226 Fix this test for Release builds 2024-02-25 20:49:14 -07:00
Brandon Thetford
bfedfee9ee Simplify construction of new Rectangle, Size, Point, and *F instances
Use *.Empty when possible.
Use `with` in a few cases.
Also add some TODO commentary
2024-02-25 20:05:00 -07:00
Brandon Thetford
942e586f3c Switch to namespace import, now that the types are no longer ambiguous 2024-02-25 16:47:28 -07:00
Brandon Thetford
9303af9c44 Remove Size and SizeF 2024-02-25 16:47:03 -07:00
Brandon Thetford
c66951baa0 Remove RectangleF, Point, and PointF 2024-02-25 16:39:15 -07:00
Brandon Thetford
fde275c016 Add type aliases for RectangleF, Point, and PointF 2024-02-25 16:38:59 -07:00
Brandon Thetford
0e5e7e84e7 Remove the Rectangle tests 2024-02-22 19:56:09 -07:00
Brandon Thetford
42abe6ece5 Remove test code that is no longer valid
All other existing tests should (and do) pass at this commit.
2024-02-22 19:56:09 -07:00
Brandon Thetford
ac0b655b1a Add explicit casts to a few tests to ensure the correct type is tested. 2024-02-22 19:56:09 -07:00
Brandon Thetford
20a49c917b Remove Rectangle type and alias System.Drawing.Rectangle to Rectangle
Also remove a duplicate global using
2024-02-22 19:56:09 -07:00
Brandon Thetford
17d028432e Re-apply Rect->Rectangle name changes in these files 2024-02-22 16:03:06 -07:00
Brandon Thetford
70ca504687 This check is redundant with the rectangle check below 2024-02-22 16:01:59 -07:00
Brandon Thetford
48becffb35 Update this since 6.0.0 is no longer available and prevents build 2024-02-22 15:56:55 -07:00
Brandon Thetford
3d807c3833 Merge branch 'v2_develop' into v2_3256_prepare_for_Rect_removal
* v2_develop:
  Fixes #3039. Fix View.HotKey (#3249)
2024-02-22 15:51:04 -07:00
Tig
16055c53b0 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
2024-02-22 15:11:26 -07:00
dodexahedron
55cb3e76b4 V2 Cleanup Batch 1 (Per #3253) (#3255)
* 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
2024-02-21 06:31:54 -07:00
Brandon Thetford
56fc0b23d1 Some more categorization 2024-02-20 20:19:52 -07:00
Brandon Thetford
b65e2fb5f8 Use raw strings for better clarity 2024-02-20 20:19:52 -07:00
Brandon Thetford
f3c1f5c67d Add a category to this 2024-02-20 20:19:52 -07:00
Brandon Thetford
53fbdab54d Make this easier to follow (naming only) 2024-02-20 20:19:52 -07:00
Brandon Thetford
7242905343 Perform proper platform-agnostic normalization 2024-02-20 20:19:52 -07:00
Brandon Thetford
cc447306ab Remove this 2024-02-20 20:19:52 -07:00
Brandon Thetford
c50c4559d0 Collection expressions and constants 2024-02-20 20:19:52 -07:00
Brandon Thetford
e670960ee0 Test against Rectangles, not strings 2024-02-20 20:19:52 -07:00
Brandon Thetford
93f21b8edd Slightly de-couple these as well 2024-02-20 20:19:52 -07:00
Brandon Thetford
8252203c75 These should be testing against the Rectangles, not the strings 2024-02-20 20:19:52 -07:00
Brandon Thetford
f0b2fb1820 Fix these tests the same way as the previous commit 2024-02-20 20:19:52 -07:00
Brandon Thetford
3d0c750bd6 Fix this test
This is not a test of Rectangle, so trust that Rectangle gets it right.
2024-02-20 20:19:52 -07:00
Brandon Thetford
53df3eac2a Change to behavior matching System.Drawing.Rectangle 2024-02-20 20:19:52 -07:00
Brandon Thetford
e38933d3d6 Add baseline test for ToString checking for current behavior. 2024-02-20 20:19:52 -07:00
Brandon Thetford
a638edeeaf Rename Rect to Rectangle in preparation for removal 2024-02-20 20:19:52 -07:00
Brandon Thetford
776044b716 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.
2024-02-19 04:31:47 -07:00
dodexahedron
34bef2c839 Fixes #3242 - Replaces simple null checks (#3248)
* 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
2024-02-16 16:46:25 -07:00
Brandon Thetford
f5ead8b54e Remove unused internal constructor and its test
It was only used by that test.
2024-02-15 18:48:40 -07:00
Brandon Thetford
8727a5fa0b Fix release configuration tests 2024-02-14 02:13:49 -07:00
Brandon Thetford
7bce9bf68a Split these up and dispose properly
This test needs to be revisited for several reasons at some point.
2024-02-14 02:13:05 -07:00
Brandon Thetford
cf34cdd41b Wrap these in conditionals since they break tests against Release configuration
The members they depend on do not exist in Release configuration
2024-02-14 01:11:25 -07:00