Way too big a committ.... but I got carried away.

- 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
This commit is contained in:
Tig
2024-04-04 18:50:13 -04:00
parent dd8fe76cab
commit c5b7b084a9
41 changed files with 810 additions and 732 deletions

View File

@@ -141,32 +141,26 @@ public class TabViewTests
top.Add (tv);
Application.Begin (top);
MouseEventEventArgs args;
MouseEvent args;
// Waving mouse around does not trigger click
for (var i = 0; i < 100; i++)
{
args = new MouseEventEventArgs (
new MouseEvent { X = i, Y = 1, Flags = MouseFlags.ReportMousePosition }
);
args = new MouseEvent { X = i, Y = 1, Flags = MouseFlags.ReportMousePosition };
Application.OnMouseEvent (args);
Application.Refresh ();
Assert.Null (clicked);
Assert.Equal (tab1, tv.SelectedTab);
}
args = new MouseEventEventArgs (
new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked }
);
args = new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
Assert.Equal (tab1, clicked);
Assert.Equal (tab1, tv.SelectedTab);
// Click to tab2
args = new MouseEventEventArgs (
new MouseEvent { X = 6, Y = 1, Flags = MouseFlags.Button1Clicked }
);
args = new MouseEvent { X = 6, Y = 1, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
Assert.Equal (tab2, clicked);
@@ -179,9 +173,7 @@ public class TabViewTests
e.MouseEvent.Handled = true;
};
args = new MouseEventEventArgs (
new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked }
);
args = new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
@@ -189,9 +181,7 @@ public class TabViewTests
Assert.Equal (tab1, clicked);
Assert.Equal (tab2, tv.SelectedTab);
args = new MouseEventEventArgs (
new MouseEvent { X = 12, Y = 1, Flags = MouseFlags.Button1Clicked }
);
args = new MouseEvent { X = 12, Y = 1, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
@@ -245,9 +235,7 @@ public class TabViewTests
Application.Begin (top);
// Click the right arrow
var args = new MouseEventEventArgs (
new MouseEvent { X = 6, Y = 2, Flags = MouseFlags.Button1Clicked }
);
var args = new MouseEvent { X = 6, Y = 2, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
Assert.Null (clicked);
@@ -267,9 +255,7 @@ public class TabViewTests
);
// Click the left arrow
args = new MouseEventEventArgs (
new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked }
);
args = new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
Assert.Null (clicked);
@@ -339,9 +325,7 @@ public class TabViewTests
Application.Begin (top);
// Click the right arrow
var args = new MouseEventEventArgs (
new MouseEvent { X = 7, Y = 3, Flags = MouseFlags.Button1Clicked }
);
var args = new MouseEvent { X = 7, Y = 3, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
Assert.Null (clicked);
@@ -363,9 +347,7 @@ public class TabViewTests
);
// Click the left arrow
args = new MouseEventEventArgs (
new MouseEvent { X = 1, Y = 3, Flags = MouseFlags.Button1Clicked }
);
args = new MouseEvent { X = 1, Y = 3, Flags = MouseFlags.Button1Clicked };
Application.OnMouseEvent (args);
Application.Refresh ();
Assert.Null (clicked);