From 44d6b49d86f8c531cbed718a8c109f3bc2db2177 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 09 八月 2023 16:27:23 +0800
Subject: [PATCH] 2023年08月09日16:27:16

---
 HDL_ON/UI/UI2/FuntionControlView/Aks/SxqPage.cs |   88 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 74 insertions(+), 14 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/SxqPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/SxqPage.cs
index a0bc204..1f0ce23 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/SxqPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/SxqPage.cs
@@ -9,6 +9,8 @@
 using HDL_ON.UI.UI2.Intelligence.Automation;
 using System.Linq;
 using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView;
+using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
 
 namespace HDL_ON.UI.UI2.FuntionControlView.Aks
 {
@@ -28,8 +30,24 @@
 
 
         public VerticalScrolViewLayout vv;
-        public SxqPage()
+        /// <summary>
+        /// 鏃跺簭鍣ㄥ垪琛�
+        /// </summary>
+        private List<SequencerEntity> sequencerList;
+
+        /// <summary>
+        /// 璁惧id
+        /// </summary>
+        private string deviceId;
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="sequencerList">鏃跺簭鍣ㄥ垪琛�</param>
+        /// <param name="deviceId">璁惧id</param>
+        public SxqPage(List<SequencerEntity> sequencerList, string deviceId)
         {
+            this.sequencerList = sequencerList;
+            this.deviceId = deviceId;
         }
         public void Show()
         {
@@ -68,17 +86,20 @@
             this.AddChidren(vv);
             BaseFramLayout fLayout = new BaseFramLayout();
             this.vv.AddChidren(fLayout);
-            var mList = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
             int line = 0;
             int xCount = 0;
             int rowNumber = 4;
-            for (int i = 1; i <= mList.Count; i++)
+            var list1 = this.sequencerList.FindAll((o) => o.type == 1);
+            for (int i = 1; i <= list1.Count; i++)
             {
+                var sequencer = list1[i - 1];
+
                 VerticalBoutonFLayout buttonFram = new VerticalBoutonFLayout();
                 buttonFram.AddView(fLayout);
-                buttonFram.Tag = i - 1;
-                buttonFram.Y = Application.GetRealWidth(16)+ Application.GetRealHeight((VerticalBoutonFLayout.heightFrameLayout+16) * line);
-                buttonFram.X = Application.GetRealWidth(16) + Application.GetRealWidth((VerticalBoutonFLayout.widthFrameLayout+8) * xCount);
+                buttonFram.Tag = sequencer;
+                buttonFram.Y = Application.GetRealWidth(16) + Application.GetRealHeight((VerticalBoutonFLayout.heightFrameLayout + 16) * line);
+                buttonFram.X = Application.GetRealWidth(16) + Application.GetRealWidth((VerticalBoutonFLayout.widthFrameLayout + 8) * xCount);
+                buttonFram.btnName.Text = sequencer.name;
                 xCount++;
                 if (i % rowNumber == 0)
                 {
@@ -87,34 +108,59 @@
                 }
                 buttonFram.SetONClickListener((fl, btn) =>
                 {
-                    //action.Invoke((int)buttonFram.Tag);
+                    if (buttonFram.Tag != null || buttonFram.Tag is SequencerEntity)
+                    {
+
+                        var sequ = (SequencerEntity)buttonFram.Tag;
+                        SequencerControlExecute(sequ.seqId, "on");
+                    }
+
                 });
                 buttonFram.SetOFFClickListener((fl, btn) =>
                 {
-                    //action.Invoke((int)buttonFram.Tag);
+                    if (buttonFram.Tag != null || buttonFram.Tag is SequencerEntity)
+                    {
+                        var sequ = (SequencerEntity)buttonFram.Tag;
+                        SequencerControlExecute(sequ.seqId, "off");
+                    }
                 });
 
 
             }
             fLayout.AdjustRealHeight(16);
 
-            List<string> list = new List<string>() {
-             "A","B","C","D"
-            };
-            for (int i = 0; i < list.Count; i++)
+            var list2 = this.sequencerList.FindAll((o) => o.type == 2);
+            for (int i = 0; i < list2.Count; i++)
             {
                 Button btnName = new Button
                 {
                     Y = fLayout.Height,
-                    X = Application.GetRealWidth(16) + Application.GetRealWidth((VerticalBoutonFLayout.widthFrameLayout+8) * i),
+                    X = Application.GetRealWidth(16) + Application.GetRealWidth((VerticalBoutonFLayout.widthFrameLayout + 8) * i),
                     Width = Application.GetRealWidth(80),
                     Height = Application.GetRealHeight(44),
                     TextSize = TextSize.Text14,
                     TextColor = MusicColor.TextColor,
                     TextAlignment = TextAlignment.Center,
-                    Text = list[i],
+                    Text = list2[i].name,
                     BackgroundColor = MusicColor.ViewColor,
+                    SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor,
                     Radius = (uint)Application.GetRealHeight(12),
+                    Padding=new Padding(0,5,0,5),
+                    Tag = list2[i]
+                };
+                btnName.MouseDownEventHandler += (sen, e) =>
+                {
+                    btnName.IsSelected = true;
+                    if (btnName.Tag != null || btnName.Tag is SequencerEntity)
+                    {
+                        var sequ = (SequencerEntity)btnName.Tag;
+                        SequencerControlExecute(sequ.seqId, "on");
+                    }
+                };
+                btnName.MouseUpEventHandler += (sen, e) =>
+                {
+                    btnName.IsSelected = false;
+                    //寮硅捣棰滆壊
                 };
                 fLayout.AddChidren(btnName);
             }
@@ -131,5 +177,19 @@
                 this.RemoveFromParent();
             };
         }
+
+        /// <summary>
+        /// 鏃跺簭鍣ㄦ寚浠ゅ彂閫�
+        /// </summary>
+        /// <param name="seqId">鏃跺簭鍣╥d</param>
+        /// <param name="onOff">鏃跺簭鍣ㄥ紑鍏�</param>
+        private void SequencerControlExecute(string seqId, string onOff)
+        {
+            CommonMethod.Current.SunThread(() =>
+            {
+                SendMethod.Current.SequencerExecute(this.deviceId, seqId, onOff);
+            });
+        }
+
     }
 }

--
Gitblit v1.8.0