File tree Expand file tree Collapse file tree 2 files changed +33
-4
lines changed
Terminal.Gui/Views/TabView Expand file tree Collapse file tree 2 files changed +33
-4
lines changed Original file line number Diff line number Diff line change @@ -65,20 +65,20 @@ protected override bool OnMouseEvent (MouseEventArgs me)
65
65
SetFocus ( ) ;
66
66
}
67
67
68
- if ( ! me . IsSingleDoubleOrTripleClicked )
68
+ if ( me is { IsSingleDoubleOrTripleClicked : false , IsWheel : false } )
69
69
{
70
70
return false ;
71
71
}
72
72
73
- if ( me . IsSingleDoubleOrTripleClicked )
73
+ if ( me . IsSingleDoubleOrTripleClicked || me . IsWheel )
74
74
{
75
75
var scrollIndicatorHit = 0 ;
76
76
77
- if ( me . View is { Id : "rightScrollIndicator" } )
77
+ if ( me . View is { Id : "rightScrollIndicator" } || me . Flags . HasFlag ( MouseFlags . WheeledDown ) || me . Flags . HasFlag ( MouseFlags . WheeledRight ) )
78
78
{
79
79
scrollIndicatorHit = 1 ;
80
80
}
81
- else if ( me . View is { Id : "leftScrollIndicator" } )
81
+ else if ( me . View is { Id : "leftScrollIndicator" } || me . Flags . HasFlag ( MouseFlags . WheeledUp ) || me . Flags . HasFlag ( MouseFlags . WheeledLeft ) )
82
82
{
83
83
scrollIndicatorHit = - 1 ;
84
84
}
Original file line number Diff line number Diff line change @@ -1490,6 +1490,35 @@ public void Tab_Get_Focus_By_Press_F6 ()
1490
1490
top . Dispose ( ) ;
1491
1491
}
1492
1492
1493
+ [ Fact ]
1494
+ [ SetupFakeDriver ]
1495
+ public void Mouse_Wheel_Changes_Tab ( )
1496
+ {
1497
+ TabView tv = GetTabView ( out Tab tab1 , out Tab tab2 ) ;
1498
+
1499
+ tv . Width = 20 ;
1500
+ tv . Height = 5 ;
1501
+
1502
+ Toplevel top = new ( ) ;
1503
+ top . Add ( tv ) ;
1504
+ Application . Begin ( top ) ;
1505
+
1506
+ Assert . False ( tab1 . HasFocus ) ;
1507
+
1508
+ Application . RaiseMouseEvent ( new ( ) { Position = new ( 1 , 1 ) , Flags = MouseFlags . WheeledDown } ) ;
1509
+ Assert . True ( tab2 . HasFocus ) ;
1510
+
1511
+ Application . RaiseMouseEvent ( new ( ) { Position = new ( 1 , 1 ) , Flags = MouseFlags . WheeledUp } ) ;
1512
+ Assert . True ( tab1 . HasFocus ) ;
1513
+
1514
+ Application . RaiseMouseEvent ( new ( ) { Position = new ( 1 , 1 ) , Flags = MouseFlags . WheeledRight } ) ;
1515
+ Assert . True ( tab2 . HasFocus ) ;
1516
+
1517
+ Application . RaiseMouseEvent ( new ( ) { Position = new ( 1 , 1 ) , Flags = MouseFlags . WheeledLeft } ) ;
1518
+ Assert . True ( tab1 . HasFocus ) ;
1519
+ top . Dispose ( ) ;
1520
+ }
1521
+
1493
1522
private TabView GetTabView ( ) { return GetTabView ( out _ , out _ ) ; }
1494
1523
1495
1524
private TabView GetTabView ( out Tab tab1 , out Tab tab2 , bool initFakeDriver = true )
You can’t perform that action at this time.
0 commit comments