From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs |   68 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 15 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/DeviceControls/DeviceInfoIconControl.cs
index 91b3a36..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) / 2;
+            this.Radius = (uint)this.GetPictrueRealSize(207) / 2;
+            this.UseClickStatu = false;
         }
 
         /// <summary>
@@ -48,12 +53,14 @@
         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) / 2;
+            btnIcon2.Radius = (uint)iconWidth / 2;
             btnIcon2.Gravity = Gravity.Center;
-            this.AddChidren(btnIcon2);
+            this.AddChidren(btnIcon2, ChidrenBindMode.BindEvent);
 
             //璁惧鍥炬爣
             var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
@@ -62,10 +69,34 @@
                 //瀵瑰簲鍗曠函鍙湁200鍥炶矾鐨勮澶�
                 listDevice.Add(Common.LocalDevice.Current.GetOTADevice(deviceMac));
             }
-            btnIcon = new NormalViewControl(Application.GetMinRealAverage(121), Application.GetMinRealAverage(121), false);
+            btnIcon = new NormalViewControl(this.GetPictrueRealSize(121), this.GetPictrueRealSize(121), false);
             btnIcon.Gravity = Gravity.Center;
             Common.LocalDevice.Current.SetDeviceObjectIconToControl(btnIcon, listDevice);
-            this.AddChidren(btnIcon);
+            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>
@@ -75,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) / 2;
+            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
@@ -98,7 +131,12 @@
         /// </summary>
         public void RefreshControl()
         {
-            if (this.deviceMac != null)
+            if (this.deviceEpoint != -1)
+            {
+                //鍒锋柊鍥炬爣
+                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);

--
Gitblit v1.8.0