From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期五, 12 六月 2020 09:22:04 +0800
Subject: [PATCH] 2020.06.12

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs |   84 +++++++++++++++++++++++++++++++++--------
 1 files changed, 67 insertions(+), 17 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs
index c93d200..863d55a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs
@@ -8,7 +8,7 @@
     /// <summary>
     /// 璁惧淇℃伅鐣岄潰鐨勮澶囧浘鏍囨帶浠�(鍏煎缃戝叧)
     /// </summary>
-    public class DeviceInfoIconControl : FrameLayout
+    public class DeviceInfoIconControl : FrameLayoutStatuControl
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
@@ -16,6 +16,10 @@
         /// 璁惧Mac鍦板潃
         /// </summary>
         private string deviceMac = null;
+        /// <summary>
+        /// 璁惧绔偣
+        /// </summary>
+        private int deviceEpoint = -1;
         /// <summary>
         /// 缃戝叧瀵硅薄
         /// </summary>
@@ -35,10 +39,11 @@
         public DeviceInfoIconControl()
         {
             //绗竴灞傚簳鑹�
-            this.Height = Application.GetMinRealAverage(207);
-            this.Width = Application.GetMinRealAverage(207);
+            this.Height = this.GetPictrueRealSize(207);
+            this.Width = this.GetPictrueRealSize(207);
             this.BackgroundColor = UserCenterColor.Current.White;
-            this.Radius = (uint)Application.GetMinRealAverage(207);
+            this.Radius = (uint)this.GetPictrueRealSize(207) / 2;
+            this.UseClickStatu = false;
         }
 
         /// <summary>
@@ -48,18 +53,50 @@
         public void InitControl(CommonDevice i_device)
         {
             this.deviceMac = i_device.DeviceAddr;
+            //闃叉鍑虹幇璇樊
+            int iconWidth = this.GetPictrueRealSize(207) - this.GetPictrueRealSize(12) - this.GetPictrueRealSize(12);
             //绗簩灞傚簳鑹�
-            var btnIcon2 = new NormalViewControl(Application.GetMinRealAverage(184), Application.GetMinRealAverage(184), false);
+            var btnIcon2 = new NormalViewControl(iconWidth, iconWidth, false);
             btnIcon2.BackgroundColor = 0xfffef1ed;
-            btnIcon2.Radius = (uint)Application.GetMinRealAverage(184);
+            btnIcon2.Radius = (uint)iconWidth / 2;
             btnIcon2.Gravity = Gravity.Center;
-            this.AddChidren(btnIcon2);
+            this.AddChidren(btnIcon2, ChidrenBindMode.BindEvent);
 
             //璁惧鍥炬爣
-            btnIcon = new NormalViewControl(Application.GetMinRealAverage(121), Application.GetMinRealAverage(121), false);
+            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
+            if (listDevice.Count == 0)
+            {
+                //瀵瑰簲鍗曠函鍙湁200鍥炶矾鐨勮澶�
+                listDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac));
+            }
+            btnIcon = new NormalViewControl(this.GetPictrueRealSize(121), this.GetPictrueRealSize(121), false);
             btnIcon.Gravity = Gravity.Center;
-            Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac));
-            this.AddChidren(btnIcon);
+            Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, listDevice);
+            this.AddChidren(btnIcon, ChidrenBindMode.BindEvent);
+        }
+
+        /// <summary>
+        /// 鍒濆鍖�(璁惧绔偣)
+        /// </summary>
+        /// <param name="i_device">璁惧瀵硅薄</param>
+        public void InitControl(string deviceMacAddr, int epoint)
+        {
+            this.deviceMac = deviceMacAddr;
+            this.deviceEpoint = epoint;
+            //闃叉鍑虹幇璇樊
+            int iconWidth = this.GetPictrueRealSize(207) - this.GetPictrueRealSize(12) - this.GetPictrueRealSize(12);
+            //绗簩灞傚簳鑹�
+            var btnIcon2 = new NormalViewControl(iconWidth, iconWidth, false);
+            btnIcon2.BackgroundColor = 0xfffef1ed;
+            btnIcon2.Radius = (uint)iconWidth / 2;
+            btnIcon2.Gravity = Gravity.Center;
+            this.AddChidren(btnIcon2, ChidrenBindMode.BindEvent);
+
+            //璁惧鍥炬爣
+            btnIcon = new NormalViewControl(this.GetPictrueRealSize(121), this.GetPictrueRealSize(121), false);
+            btnIcon.Gravity = Gravity.Center;
+            Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, Common.LocalDevice.Current.GetDevice(deviceMacAddr, epoint));
+            this.AddChidren(btnIcon, ChidrenBindMode.BindEvent);
         }
 
         /// <summary>
@@ -69,18 +106,20 @@
         public void InitControl(ZbGateway i_gateway)
         {
             this.zbGateway = i_gateway;
+            //闃叉鍑虹幇璇樊
+            int iconWidth = this.GetPictrueRealSize(207) - this.GetPictrueRealSize(12) - this.GetPictrueRealSize(12);
             //绗簩灞傚簳鑹�
-            var btnIcon2 = new NormalViewControl(Application.GetMinRealAverage(184), Application.GetMinRealAverage(184), false);
+            var btnIcon2 = new NormalViewControl(iconWidth, iconWidth, false);
             btnIcon2.BackgroundColor = 0xfffef1ed;
-            btnIcon2.Radius = (uint)Application.GetMinRealAverage(184);
+            btnIcon2.Radius = (uint)iconWidth / 2;
             btnIcon2.Gravity = Gravity.Center;
-            this.AddChidren(btnIcon2);
+            this.AddChidren(btnIcon2, ChidrenBindMode.BindEvent);
 
             //璁惧鍥炬爣
-            btnIcon = new NormalViewControl(Application.GetMinRealAverage(121), Application.GetMinRealAverage(121), false);
+            btnIcon = new NormalViewControl(this.GetPictrueRealSize(121), this.GetPictrueRealSize(121), false);
             btnIcon.Gravity = Gravity.Center;
             HdlGatewayLogic.Current.SetGatewayIcon(btnIcon, i_gateway);
-            this.AddChidren(btnIcon);
+            this.AddChidren(btnIcon, ChidrenBindMode.BindEvent);
         }
 
         #endregion
@@ -92,10 +131,21 @@
         /// </summary>
         public void RefreshControl()
         {
-            if (this.deviceMac != null)
+            if (this.deviceEpoint != -1)
             {
                 //鍒锋柊鍥炬爣
-                Common.LocalDevice.Current.SetDeviceBeloneIconToControl(btnIcon, Common.LocalDevice.Current.GetDevicesByMac(deviceMac));
+                Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, Common.LocalDevice.Current.GetDevice(this.deviceMac, this.deviceEpoint));
+            }
+            else if (this.deviceMac != null)
+            {
+                //鍒锋柊鍥炬爣
+                var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
+                if (listDevice.Count == 0)
+                {
+                    //瀵瑰簲鍗曠函鍙湁200鍥炶矾鐨勮澶�
+                    listDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac));
+                }
+                Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, listDevice);
             }
             else
             {

--
Gitblit v1.8.0