Browse Source

Added wheel left/right for horizontal scrolling

tznind 4 years ago
parent
commit
d35b3b8c3d
1 changed files with 28 additions and 16 deletions
  1. 28 16
      Terminal.Gui/Views/TableView.cs

+ 28 - 16
Terminal.Gui/Views/TableView.cs

@@ -583,7 +583,8 @@ namespace Terminal.Gui {
 		public override bool MouseEvent (MouseEvent me)
 		public override bool MouseEvent (MouseEvent me)
 		{
 		{
 			if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) &&
 			if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) &&
-				me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp)
+				me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp &&
+				me.Flags != MouseFlags.WheeledLeft && me.Flags != MouseFlags.WheeledRight)
 				return false;
 				return false;
 
 
 			if (!HasFocus && CanFocus) {
 			if (!HasFocus && CanFocus) {
@@ -594,21 +595,32 @@ namespace Terminal.Gui {
 				return false;
 				return false;
 			}
 			}
 
 
-			if (me.Flags == MouseFlags.WheeledDown) {
-				
-				RowOffset++;
-				
-				EnsureValidScrollOffsets();
-				SetNeedsDisplay();
-
-				return true;
-			} else if (me.Flags == MouseFlags.WheeledUp) {
-				RowOffset--;
-				
-				EnsureValidScrollOffsets();
-				SetNeedsDisplay();
-
-				return true;
+			// Scroll wheel flags
+			switch(me.Flags)
+			{
+				case MouseFlags.WheeledDown: 
+					RowOffset++;
+					EnsureValidScrollOffsets();
+					SetNeedsDisplay();
+					return true;
+
+				case MouseFlags.WheeledUp:
+					RowOffset--;
+					EnsureValidScrollOffsets();
+					SetNeedsDisplay();
+					return true;
+
+				case MouseFlags.WheeledRight:
+					ColumnOffset++;
+					EnsureValidScrollOffsets();
+					SetNeedsDisplay();
+					return true;
+
+				case  MouseFlags.WheeledLeft:
+					ColumnOffset--;
+					EnsureValidScrollOffsets();
+					SetNeedsDisplay();
+					return true;
 			}
 			}
 
 
 			if(me.Flags == MouseFlags.Button1Clicked) {
 			if(me.Flags == MouseFlags.Button1Clicked) {