From d5b9ff8bf8cc36f5b13c46b66682f5988d3a6f36 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 15 五月 2020 11:36:11 +0800
Subject: [PATCH] 2020-05-15-1

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs |  206 ++++++++++-----------------------------------------
 1 files changed, 42 insertions(+), 164 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs
index 711e561..cdd9f59 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs
@@ -37,10 +37,6 @@
         /// </summary>
         private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
         /// <summary>
-        /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘
-        /// </summary>
-        private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>();
-        /// <summary>
         /// 淇℃伅缂栬緫鎺т欢
         /// </summary>
         private InformationEditorControl tableContr = null;
@@ -94,8 +90,6 @@
             {
                 //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧
                 dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
-                //寮�鍚繘搴︽潯
-                this.ShowProgressBar();
                 foreach (var epoint in dicDeviceSaveName.Keys)
                 {
                     var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
@@ -112,45 +106,10 @@
                         var result = await Common.LocalDevice.Current.ReName(device, newName);
                         if (result == false)
                         {
-                            //鍏抽棴
-                            this.CloseProgressBar();
                             return;
                         }
                     }
                 }
-                foreach (var epoint in dicDeviceFuncType.Keys)
-                {
-                    var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
-                    if (device == null)
-                    {
-                        continue;
-                    }
-                    //璁剧疆鍔熻兘绫诲瀷
-                    device.DfunctionType = dicDeviceFuncType[epoint];
-                    if (device.IsCustomizeImage == true)
-                    {
-                        continue;
-                    }
-                    //閲嶆柊璁剧疆鍥剧墖
-                    if (device.DfunctionType == DeviceFunctionType.A寮�鍏�)
-                    {
-                        device.IconPath = "Device/Switch.png";
-                    }
-                    else if (device.DfunctionType == DeviceFunctionType.A鎻掑骇)
-                    {
-                        device.IconPath = "Device/Socket1.png";
-                    }
-                    else if (device.DfunctionType == DeviceFunctionType.A鐏厜)
-                    {
-                        device.IconPath = "Device/Light.png";
-                    }
-                    else
-                    {
-                        device.IconPath = "Device/RelayEpoint.png";
-                    }
-                    device.ReSave();
-                }
-                this.CloseProgressBar();
                 //鍏抽棴鑷韩
                 this.CloseForm();
             };
@@ -281,95 +240,14 @@
         /// </summary>
         private void AddFunctionTypeRow()
         {
-            //濡傛灉鏄户鐢靛櫒鍜岃皟鍏夊櫒鐨勮瘽
-            if (nowSelectDevice.Type == DeviceType.OnOffOutput || nowSelectDevice.Type == DeviceType.DimmableLight
-                || nowSelectDevice.Type == DeviceType.ColorDimmableLight)
+            //鑷畾涔夊姛鑳界被鍨嬫帶浠�
+            var rowFunction = new DeviceFunctionTypeRowControl(nowSelectDevice, listview.rowSpace / 2);
+            if (rowFunction.CanShowRow == true)
             {
-                //鍔熻兘绫诲瀷
-                string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
-                var DfunctionType = nowSelectDevice.DfunctionType;
-                if (this.dicDeviceFuncType.ContainsKey(nowSelectDevice.DeviceEpoint) == true)
-                {
-                    DfunctionType = this.dicDeviceFuncType[nowSelectDevice.DeviceEpoint];
-                }
-
-                //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛�
-                int nowSelectNo = 1;
-                string strType = string.Empty;
-                if (DfunctionType == DeviceFunctionType.A鐏厜)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uLight);
-                    nowSelectNo = 1;
-                }
-                else if (DfunctionType == DeviceFunctionType.A寮�鍏�)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
-                    nowSelectNo = 0;
-                }
-                else if (DfunctionType == DeviceFunctionType.A鎻掑骇)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
-                    nowSelectNo = 2;
-                }
-
-                var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
-                btnFunction.UseClickStatu = false;
-                listview.AddChidren(btnFunction);
-                btnFunction.InitControl();
+                listview.AddChidren(rowFunction);
+                rowFunction.InitControl();
                 //搴曠嚎
-                btnFunction.AddBottomLine();
-
-                //濡傛灉鏄户鐢靛櫒鎵嶈兘澶熸洿鏀硅繖涓姛鑳界被鍨�
-                if (nowSelectDevice.Type == DeviceType.OnOffOutput)
-                {
-                    btnFunction.UseClickStatu = true;
-                    //鍙崇澶�
-                    btnFunction.AddRightArrow();
-                    btnFunction.ButtonClickEvent += (sender, e) =>
-                    {
-                        //鏄剧ず鍒楄〃
-                        var listText = new List<string>();
-                        listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//寮�鍏�
-                        listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//鐏厜
-                        listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//鎻掑骇
-                        //鏍囬:閫夋嫨鍔熻兘绫诲瀷
-                        var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
-
-                        var form = new BottomItemSelectForm();
-                        form.CancelCallEvent = true;//鍏佽鍙栨秷
-                        form.AddForm(title, listText, nowSelectNo);
-                        form.FinishSelectEvent += (selectNo) =>
-                        {
-                            if (selectNo == -1)
-                            {
-                                //閫夋嫨鍙栨秷
-                                btnFunction.Text = string.Empty;
-                            }
-                            else
-                            {
-                                btnFunction.Text = listText[selectNo];
-                            }
-                            nowSelectNo = selectNo;
-                            //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨�
-                            if (selectNo == 0)
-                            {
-                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A寮�鍏�;
-                            }
-                            else if (selectNo == 1)
-                            {
-                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜;
-                            }
-                            else if (selectNo == 2)
-                            {
-                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇;
-                            }
-                            else
-                            {
-                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鏈畾涔�;
-                            }
-                        };
-                    };
-                }
+                rowFunction.AddBottomLine();
             }
         }
 
@@ -417,8 +295,8 @@
             var frameBorder = new FrameLayout();
             frameBorder.Y = Application.GetRealHeight(150);
             frameBorder.Gravity = Gravity.CenterHorizontal;
-            frameBorder.Width = Application.GetMinRealAverage(426);
-            frameBorder.Height = Application.GetMinRealAverage(426);
+            frameBorder.Width = this.GetPictrueRealSize(426);
+            frameBorder.Height = this.GetPictrueRealSize(426);
             listBackControl.frameTable.AddChidren(frameBorder);
 
             var btnPic = new PicViewControl(frameBorder.Width, frameBorder.Height, false);
@@ -453,14 +331,14 @@
         /// <returns></returns>
         private NormalViewControl InitDeviceButtonControl(FrameLayout frame, CommonDevice device)
         {
-            var btnIcon = new NormalViewControl(Application.GetMinRealAverage(52), Application.GetMinRealAverage(52), false);
+            var btnIcon = new NormalViewControl(this.GetPictrueRealSize(52), this.GetPictrueRealSize(52), false);
             btnIcon.Text = "Button" + device.DeviceEpoint;
             btnIcon.TextAlignment = TextAlignment.Center;
             btnIcon.TextColor = UserCenterColor.Current.TextGrayColor1;
-            if (frame is FrameLayoutControl)
+            if (frame is FrameLayoutStatuControl)
             {
-                ((FrameLayoutControl)frame).AddChidren(btnIcon, ChidrenBindMode.BindEventOnly);
-                ((FrameLayoutControl)frame).ButtonClickEvent += (sender, e) =>
+                ((FrameLayoutStatuControl)frame).AddChidren(btnIcon, ChidrenBindMode.BindEventOnly);
+                ((FrameLayoutStatuControl)frame).ButtonClickEvent += (sender, e) =>
                 {
                     //鎸夐敭鐐瑰嚮
                     this.DeviceEpointSelectEvent(btnIcon, null);
@@ -498,15 +376,15 @@
         {
             //鎸夐敭1
             var btnButton1 = this.InitDeviceButtonControl(frameBack, listDevice[0]);
-            btnButton1.Height = Application.GetMinRealAverage(175);
-            btnButton1.Width = Application.GetMinRealAverage(361);
-            btnButton1.Y = Application.GetMinRealAverage(39);
+            btnButton1.Height = this.GetPictrueRealSize(175);
+            btnButton1.Width = this.GetPictrueRealSize(361);
+            btnButton1.Y = this.GetPictrueRealSize(39);
             btnButton1.Gravity = Gravity.CenterHorizontal;
 
             //鎸夐敭2
             var btnButton2 = this.InitDeviceButtonControl(frameBack, listDevice[1]);
-            btnButton2.Height = Application.GetMinRealAverage(175);
-            btnButton2.Width = Application.GetMinRealAverage(361);
+            btnButton2.Height = this.GetPictrueRealSize(175);
+            btnButton2.Width = this.GetPictrueRealSize(361);
             btnButton2.Y = btnButton1.Bottom;
             btnButton2.Gravity = Gravity.CenterHorizontal;
         }
@@ -525,32 +403,32 @@
             //鎸夐敭1
             var btnButton1 = this.InitDeviceButtonControl(frameBack, listDevice[0]);
             btnButton1.TextSize = 12;
-            btnButton1.Height = Application.GetMinRealAverage(175);
-            btnButton1.Width = Application.GetMinRealAverage(183);
-            btnButton1.X = Application.GetMinRealAverage(34);
-            btnButton1.Y = Application.GetMinRealAverage(30);
+            btnButton1.Height = this.GetPictrueRealSize(175);
+            btnButton1.Width = this.GetPictrueRealSize(183);
+            btnButton1.X = this.GetPictrueRealSize(34);
+            btnButton1.Y = this.GetPictrueRealSize(30);
 
             //鎸夐敭2
             var btnButton2 = this.InitDeviceButtonControl(frameBack, listDevice[1]);
             btnButton2.TextSize = 12;
-            btnButton2.Height = Application.GetMinRealAverage(175);
-            btnButton2.Width = Application.GetMinRealAverage(183);
+            btnButton2.Height = this.GetPictrueRealSize(175);
+            btnButton2.Width = this.GetPictrueRealSize(183);
             btnButton2.X = btnButton1.Right;
             btnButton2.Y = btnButton1.Y;
 
             //鎸夐敭3
             var btnButton3 = this.InitDeviceButtonControl(frameBack, listDevice[2]);
             btnButton3.TextSize = 12;
-            btnButton3.Height = Application.GetMinRealAverage(175);
-            btnButton3.Width = Application.GetMinRealAverage(183);
+            btnButton3.Height = this.GetPictrueRealSize(175);
+            btnButton3.Width = this.GetPictrueRealSize(183);
             btnButton3.X = btnButton1.X;
-            btnButton3.Y = btnButton1.Bottom + Application.GetMinRealAverage(4);
+            btnButton3.Y = btnButton1.Bottom + this.GetPictrueRealSize(4);
 
             //鎸夐敭4
             var btnButton4 = this.InitDeviceButtonControl(frameBack, listDevice[3]);
             btnButton4.TextSize = 12;
-            btnButton4.Height = Application.GetMinRealAverage(175);
-            btnButton4.Width = Application.GetMinRealAverage(183);
+            btnButton4.Height = this.GetPictrueRealSize(175);
+            btnButton4.Width = this.GetPictrueRealSize(183);
             btnButton4.X = btnButton2.X;
             btnButton4.Y = btnButton3.Y;
         }
@@ -568,10 +446,10 @@
         {
             //鎸夐敭1锝炴寜閿�2
             var frame1 = new FrameLayout();
-            frame1.X = Application.GetMinRealAverage(34);
-            frame1.Y = Application.GetMinRealAverage(30);
-            frame1.Height = Application.GetMinRealAverage(183);
-            frame1.Width = Application.GetMinRealAverage(183);
+            frame1.X = this.GetPictrueRealSize(34);
+            frame1.Y = this.GetPictrueRealSize(30);
+            frame1.Height = this.GetPictrueRealSize(183);
+            frame1.Width = this.GetPictrueRealSize(183);
             frameBack.AddChidren(frame1);
             this.InitEightButtonPanelIcon(frame1, listDevice[0], listDevice[1]);
 
@@ -587,7 +465,7 @@
             //鎸夐敭5锝炴寜閿�6
             var frame3 = new FrameLayout();
             frame3.X = frame1.X;
-            frame3.Y = frame1.Bottom + Application.GetMinRealAverage(4);
+            frame3.Y = frame1.Bottom + this.GetPictrueRealSize(4);
             frame3.Height = frame1.Height;
             frame3.Width = frame1.Width;
             frameBack.AddChidren(frame3);
@@ -596,7 +474,7 @@
             //鎸夐敭7锝炴寜閿�8
             var frame4 = new FrameLayout();
             frame4.X = frame1.Right;
-            frame4.Y = frame1.Bottom + Application.GetMinRealAverage(4);
+            frame4.Y = frame1.Bottom + this.GetPictrueRealSize(4);
             frame4.Height = frame1.Height;
             frame4.Width = frame1.Width;
             frameBack.AddChidren(frame4);
@@ -612,19 +490,19 @@
         private void InitEightButtonPanelIcon(FrameLayout frameBack, CommonDevice device1, CommonDevice device2)
         {
             //鎸夐敭1
-            var frameButton1 = new FrameLayoutControl();
+            var frameButton1 = new FrameLayoutStatuControl();
             frameButton1.UseClickStatu = false;
-            frameButton1.Height = Application.GetMinRealAverage(92);
-            frameButton1.Width = Application.GetMinRealAverage(183);
+            frameButton1.Height = this.GetPictrueRealSize(92);
+            frameButton1.Width = this.GetPictrueRealSize(183);
             frameBack.AddChidren(frameButton1);
             var btnButton1 = this.InitDeviceButtonControl(frameButton1, device1);
             btnButton1.TextSize = 10;
-            btnButton1.Height = Application.GetMinRealAverage(35);
-            btnButton1.Width = Application.GetMinRealAverage(183);
-            btnButton1.Y = Application.GetMinRealAverage(37);
+            btnButton1.Height = this.GetPictrueRealSize(35);
+            btnButton1.Width = this.GetPictrueRealSize(183);
+            btnButton1.Y = this.GetPictrueRealSize(37);
 
             //鎸夐敭2
-            var frameButton2 = new FrameLayoutControl();
+            var frameButton2 = new FrameLayoutStatuControl();
             frameButton2.UseClickStatu = false;
             frameButton2.Height = frameButton1.Height;
             frameButton2.Width = frameButton1.Width;
@@ -634,7 +512,7 @@
             btnButton2.TextSize = 10;
             btnButton2.Height = btnButton1.Height;
             btnButton2.Width = btnButton1.Width;
-            btnButton2.Y = Application.GetMinRealAverage(20);
+            btnButton2.Y = this.GetPictrueRealSize(20);
         }
 
         #endregion

--
Gitblit v1.8.0