浏览代码

Merge pull request #545 from BDisp/ui-mouse

Added a ListView. This help a lot to mouse debug.
Charlie Kindel 5 年之前
父节点
当前提交
b4023a0f66
共有 1 个文件被更改,包括 19 次插入6 次删除
  1. 19 6
      UICatalog/Scenarios/Mouse.cs

+ 19 - 6
UICatalog/Scenarios/Mouse.cs

@@ -7,20 +7,33 @@ namespace UICatalog {
 	[ScenarioMetadata (Name: "Mouse", Description: "Demonstrates how to capture mouse events")]
 	[ScenarioCategory ("Input")]
 	class Mouse : Scenario {
-		public override void Setup () {
+		public override void Setup ()
+		{
 			Label ml;
 			int count = 0;
 			ml = new Label (new Rect (1, 1, 50, 1), "Mouse: ");
-			Application.RootMouseEvent += delegate (MouseEvent me) {
-				ml.TextColor = Colors.TopLevel.Normal;
-				ml.Text = $"Mouse: ({me.X},{me.Y}) - {me.Flags} {count++}";
-			};
-
+			List<string> rme = new List<string> ();
 
 			var test = new Label (1, 2, "Se iniciará el análisis");
 			Win.Add (test);
 			Win.Add (ml);
 
+			var rmeList = new ListView (rme) {
+				X = Pos.Right (test) + 25,
+				Y = Pos.Top (test) + 1,
+				Width = Dim.Fill () - 1,
+				Height = Dim.Fill (),
+				ColorScheme = Colors.TopLevel
+			};
+			Win.Add (rmeList);
+
+			Application.RootMouseEvent += delegate (MouseEvent me) {
+				ml.TextColor = Colors.TopLevel.Normal;
+				ml.Text = $"Mouse: ({me.X},{me.Y}) - {me.Flags} {count}";
+				rme.Add ($"({me.X},{me.Y}) - {me.Flags} {count++}");
+				rmeList.MoveDown ();
+			};
+
 			// I have no idea what this was intended to show off in demo.c
 			var drag = new Label ("Drag: ") { X = 1, Y = 4 };
 			var dragText = new TextField ("") {