From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 16 七月 2024 13:59:56 +0800
Subject: [PATCH] 增加全部挂断

---
 HDL_ON/UI/UI2/FuntionControlView/Aks/GfPage.cs |  141 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 116 insertions(+), 25 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/GfPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/GfPage.cs
index b385592..11e01c8 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/GfPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/GfPage.cs
@@ -1,7 +1,9 @@
-锘縰sing System;
+锘�                     using System;
 using System.Collections.Generic;
 using HDL_ON.UI.Music;
 using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView;
+using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
 using Shared;
 using static HDL_ON.UI.UI2.FuntionControlView.Aks.AksPage;
 namespace HDL_ON.UI.UI2.FuntionControlView.Aks
@@ -11,13 +13,28 @@
 	/// </summary>
     public class GfPage : BaseFramLayout
     {
-        public GfPage()
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="remoteControlEntity">閬ユ帶鍣ㄥ璞�</param>
+        /// <param name="sequencerList">鏃跺簭鍣ㄥ垪琛�</param>
+        public GfPage(RemoteControlEntity remoteControlEntity, List<SequencerEntity> sequencerList)
         {
+            this.remoteControl = remoteControlEntity;
+            this.sequencerList = sequencerList;
         }
-
+        /// <summary>
+        /// 鏃跺簭鍣ㄥ垪琛�
+        /// </summary>
+        private List<SequencerEntity> sequencerList;
+        /// <summary>
+        /// 褰撳墠鐨勯仴鎺у櫒瀵硅薄
+        /// </summary>
+        private RemoteControlEntity remoteControl;
         public Action<IntType> action;
         CornerFramLayout cornerFram;
         TypeMultiFramLayout typeMultiFramLayout;
+        TypeSingleFramLayout gfSingleFramLayout;
 
         public void Show()
         {
@@ -37,25 +54,37 @@
 
         private void EventListener()
         {
-            cornerFram.selectAction += (value) =>
+            cornerFram.selectKeyAction += (keypadEntity) => 
             {
-                Console.WriteLine("1");
+                this.KeyControl(keypadEntity.keypad, keypadEntity.name, keypadEntity.isClicked);
             };
-            //鏃跺簭鍣�
-            typeMultiFramLayout.SetLeftFlClickListener((f) =>
-            {
-                SxqPage sxqPage = new SxqPage();
-                MainPage.BasePageView.AddChidren(sxqPage);
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                sxqPage.Show();
 
-            });
-            //璁惧鍒囨崲
-            typeMultiFramLayout.SetRightFlClickListener((f) =>
+            if (gfSingleFramLayout != null)
             {
-                Console.WriteLine("4");
-                action?.Invoke(IntType.HiFi);
-            });
+                //璁惧鍒囨崲
+                gfSingleFramLayout.SetClickListener((f) =>
+                {
+                    action?.Invoke(IntType.HiFi);
+                });
+            }
+
+            if (typeMultiFramLayout != null)
+            {
+                //鏃跺簭鍣�
+                typeMultiFramLayout.SetLeftFlClickListener((f) =>
+                {
+                    SxqPage sxqPage = new SxqPage(this.sequencerList, this.remoteControl.deviceId);
+                    MainPage.BasePageView.AddChidren(sxqPage);
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    sxqPage.Show();
+
+                });
+                //璁惧鍒囨崲
+                typeMultiFramLayout.SetRightFlClickListener((f) =>
+                {
+                    action?.Invoke(IntType.HiFi);
+                });
+            }
 
         }
 
@@ -71,16 +100,19 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = MusicColor.TextColor,
                 TextSize = TextSize.Text16,
-                TextID = StringId.gongfan,
+                Text = this.remoteControl.name,
+                IsBold = true,
             };
             this.AddChidren(btnTitle);
 
-            cornerFram = new CornerFramLayout(343, 452, 17);
+
+
+            cornerFram = new CornerFramLayout(343, 284 - 18, 17);
             cornerFram.X = Application.GetRealWidth(16);
             cornerFram.Y = btnTitle.Bottom + Application.GetRealHeight(16);
             this.AddChidren(cornerFram);
             cornerFram.SetMargin(16, 0, 16, 0);
-            cornerFram.LoadButtonPage(AksCommonMethod.Current.GetGFKeypadList(),4);
+            cornerFram.LoadButtonPage(AksCommonMethod.Current.GetGFKeypadList(this.remoteControl), 4);
 
 
             CornerFramLayout cornerBottomFram = new CornerFramLayout(343, 72, 17);
@@ -90,12 +122,71 @@
             cornerBottomFram.Radius = (uint)Application.GetRealHeight(17);
             this.AddChidren(cornerBottomFram);
 
-            typeMultiFramLayout = new TypeMultiFramLayout();
-            typeMultiFramLayout.multiFramLayout.Gravity = Gravity.Center;
-            typeMultiFramLayout.AddView(cornerBottomFram);
-            typeMultiFramLayout.btnBottonRightName.TextID = StringId.gongfan;
 
+            if (sequencerList.Count == 0)
+            {
+                //娌℃湁鏃跺簭鍣�
+                gfSingleFramLayout = new TypeSingleFramLayout();
+                gfSingleFramLayout.AddView(cornerBottomFram);
+                gfSingleFramLayout.singleFramLayout.X = Application.GetRealWidth(226);
+                gfSingleFramLayout.singleFramLayout.Width = Application.GetRealWidth(101);
+                gfSingleFramLayout.singleFramLayout.Gravity = Gravity.CenterVertical;
+                gfSingleFramLayout.btnName.Text = this.remoteControl.name;
+                gfSingleFramLayout.btnName.X = Application.GetRealWidth(16);
+                gfSingleFramLayout.btnName.Width = Application.GetRealWidth(48);
+                gfSingleFramLayout.btnRightImage.X = gfSingleFramLayout.btnName.Right + Application.GetRealWidth(8);
+                gfSingleFramLayout.btnRightImage.Width = Application.GetRealWidth(16);
+                gfSingleFramLayout.btnRightImage.Height = Application.GetRealWidth(16);
+                gfSingleFramLayout.btnRightImage.UnSelectedImagePath = "AksIcon/xuanze.png";
+                gfSingleFramLayout.btnRightImage.Gravity = Gravity.CenterVertical;
+                gfSingleFramLayout.btnLeftImage.Visible = false;
+                gfSingleFramLayout.CustomCalculationWidth(TypeSingleFramLayout.Orientation.right,
+                gfSingleFramLayout.singleFramLayout,
+                gfSingleFramLayout.btnName,
+                gfSingleFramLayout.btnRightImage,
+                48, 200);
+            }
+            else
+            {
+                //鏈夋椂搴忓櫒
+                typeMultiFramLayout = new TypeMultiFramLayout();
+                typeMultiFramLayout.multiFramLayout.Gravity = Gravity.Center;
+                typeMultiFramLayout.AddView(cornerBottomFram);
+                typeMultiFramLayout.btnRightName.Text = this.remoteControl.name;
+
+            }
             this.AdjustRealHeight(16);
+
+
+
+
+        }
+
+        /// <summary>
+        /// 鎸夐敭鎺у埗
+        /// </summary>
+        /// <param name="keypad"><鎸夐敭鏍囪瘑/param>
+        /// <param name="keyName"><鎸夐敭鍚嶇О(鎵撳嵃鐢ㄧ殑)/param>
+        /// <param name="isSupport"><鏄惁鏀寔鎺у埗/param>
+        private void KeyControl(string keypad, string keyName, bool isSupport)
+        {
+            //CommonMethod.Current.Loading.Start();
+            CommonMethod.Current.SunThread(() =>
+            {
+                try
+                {
+                    SendMethod.Current.KeypadExecute(remoteControl.deviceId, remoteControl.rcId, keypad, keyName, isSupport);
+                }
+                catch { }
+                finally
+                {
+                    CommonMethod.Current.MainThread(() =>
+                    {
+                        //CommonMethod.Current.Loading.Hide();
+                    });
+                }
+            });
+
         }
     }
 }

--
Gitblit v1.8.0