Commit Graph

4670 Commits

Author SHA1 Message Date
Brandon Thetford
069ff05da2 Invert another statement to reduce nesting even more 2024-02-23 16:17:04 -07:00
Brandon Thetford
ecb6ff9952 Invert this for readability and less nesting 2024-02-23 16:17:04 -07:00
Brandon Thetford
27fe9eeb7d Use proper null check pattern 2024-02-23 16:17:04 -07:00
Brandon Thetford
cb067ece0a Fix comment 2024-02-23 16:17:04 -07:00
Brandon Thetford
8e0a193cab In-line this, which is only used once
The zero checks are redundant. If the point is not inside the rectangle, it isn't inside the rectangle, period.
2024-02-23 16:17:04 -07:00
Brandon Thetford
e9deb280c4 Mark these nullable 2024-02-23 16:17:04 -07:00
Brandon Thetford
0c76b97ef2 Enable null analysis here 2024-02-23 16:17:04 -07:00
Brandon Thetford
6559512a41 Make this static to force us to avoid capturing things from the outer scope. 2024-02-23 16:17:04 -07:00
Brandon Thetford
282c434fda Invert the if for even less nesting 2024-02-23 16:17:04 -07:00
Brandon Thetford
3f3264229f Make the logic positive
This is a fun trick. Saying `is true` covers the null check because the left operand must be something that evaluates to a boolean with a value of `true`.
2024-02-23 16:17:04 -07:00
Brandon Thetford
693d8d1f03 Nullable 2024-02-23 16:17:04 -07:00
Brandon Thetford
4843488bc0 Move local function to end of method 2024-02-23 16:17:04 -07:00
Brandon Thetford
3b2bd3b323 Combine to pattern 2024-02-23 16:17:04 -07:00
Brandon Thetford
8e3538218c Fix XmlDoc
This also fixed it complaining there was no noun after "the"
2024-02-23 16:17:04 -07:00
Brandon Thetford
119426e442 Don't copy this 2024-02-23 16:17:04 -07:00
Brandon Thetford
9adc9d431b Simplify return to null-coalescing return. 2024-02-23 16:17:04 -07:00
Brandon Thetford
987f7d6454 Merge to pattern check
Actually makes the concurrency problem SLIGHTLY better, but not much
2024-02-23 16:17:04 -07:00
Brandon Thetford
2642b0f042 Annotate concurrency problem 2024-02-23 16:17:04 -07:00
Brandon Thetford
e653be2c5f That method returns a nullable result 2024-02-23 16:17:04 -07:00
Brandon Thetford
02b2039aa3 Better name to make spell checker happy (and just nicer anyway) 2024-02-23 16:17:04 -07:00
Brandon Thetford
57a21427b0 Enable nullability analysis here
Going down the rabbit hole
2024-02-23 16:17:04 -07:00
Brandon Thetford
c7d72b9224 Prepare for other event work by making this internal 2024-02-23 16:17:04 -07:00
Brandon Thetford
e6c4184d2d Fix terminology 2024-02-23 16:17:04 -07:00
Brandon Thetford
6f7adcd326 Move local function to end of method 2024-02-23 16:17:04 -07:00
Brandon Thetford
e05fdc2b2f Turn on nullability analysis for this method 2024-02-23 16:17:04 -07:00
Brandon Thetford
f281d4ff33 Avoid virtual dispatch by returning the most-derived concrete type available 2024-02-23 16:17:04 -07:00
Brandon Thetford
f8574ba295 Inline this
No need to copy it
2024-02-23 16:17:04 -07:00
Brandon Thetford
c7ed5c9867 Annotate nullability of this method's return value 2024-02-23 16:17:04 -07:00
Brandon Thetford
c1c4c77955 All usages discard these
Remove them
2024-02-23 16:17:04 -07:00
Brandon Thetford
ce78e3af4a Merge to a pattern check 2024-02-23 16:17:04 -07:00
Brandon Thetford
c898f6403f Fix files broken by merge 2024-02-22 20:11:20 -07:00
Brandon Thetford
ef46454400 Merge branch 'v2_develop' into v2_3256_Remove_Rectangle
* v2_develop:
  Stage 1 of #3256 - Prepare Rect for removal (#3260)
2024-02-22 20:10:38 -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
2b25aca129 Remove now-invalid usings. 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
21fbb4c321 Define casts and equality operators to enable mostly-seamless transition away from Rect 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
dodexahedron
0f9e6f091d Stage 1 of #3256 - Prepare Rect for removal (#3260)
* 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

* Rename Rect to Rectangle in preparation for removal

* Add baseline test for ToString checking for current behavior.

* Change to behavior matching System.Drawing.Rectangle

* Fix this test

This is not a test of Rectangle, so trust that Rectangle gets it right.

* Fix these tests the same way as the previous commit

* These should be testing against the Rectangles, not the strings

* Slightly de-couple these as well

* Test against Rectangles, not strings

* Collection expressions and constants

* Remove this

* Perform proper platform-agnostic normalization

* Make this easier to follow (naming only)

* Add a category to this

* Use raw strings for better clarity

* Some more categorization

* Re-apply backed-out naming change from parent branch

* Change GetHashCode to be equivalent to System.Drawing.Rectangle

* Update this since 6.0.0 is no longer available and prevents build

* This check is redundant with the rectangle check below

* Re-apply Rect->Rectangle name changes in these files
2024-02-22 16:46:04 -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
2ae06f7b72 Merge branch 'v2_develop' into v2_3256_prepare_for_Rect_removal 2024-02-21 17:03:21 -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
feca713516 Change GetHashCode to be equivalent to System.Drawing.Rectangle 2024-02-20 21:37:24 -07:00
Brandon Thetford
47fad6189d Re-apply backed-out naming change from parent branch 2024-02-20 20:21:35 -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