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/Device/DeviceFunctionSettionForm.cs |  189 +++++++++-------------------------------------
 1 files changed, 39 insertions(+), 150 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
index bf36e95..ec57ceb 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
@@ -41,10 +41,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;
@@ -88,7 +84,7 @@
             //鍒濆鍖栨甯�
             this.tableContr = new InformationEditorControl();
 
-            if (this.deviceObj.Type == DeviceType.FreshAir)
+            if (this.deviceObj.Type == DeviceType.FreshAir || this.deviceObj.Type == DeviceType.PMSensor)
             {
                 this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028);
             }
@@ -104,12 +100,10 @@
             var btnFinish = new BottomClickButton();
             btnFinish.TextID = R.MyInternationalizationString.uSave;
             bodyFrameLayout.AddChidren(btnFinish);
-            btnFinish.ButtonClickEvent += async (sender, e) =>
+            btnFinish.ButtonClickEvent += (sender, e) =>
             {
                 //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧
                 dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
-                //寮�鍚繘搴︽潯
-                this.ShowProgressBar();
                 foreach (var epoint in dicDeviceSaveName.Keys)
                 {
                     var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
@@ -123,48 +117,13 @@
                     if (oldName != newName)
                     {
                         //璁惧鍚嶇О淇敼
-                        var result = await Common.LocalDevice.Current.ReName(device, newName);
+                        var result = 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();
             };
@@ -189,7 +148,7 @@
             listview.AddChidren(btnDeviceName);
             btnDeviceName.InitControl();
             btnDeviceName.AddBottomLine();
-            btnDeviceName.txtInput.FinishInputEvent += async () =>
+            btnDeviceName.txtInput.FinishInputEvent += () =>
             {
                 string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice);
                 if (btnDeviceName.Text.Trim() == string.Empty)
@@ -200,7 +159,7 @@
                 if (oldName != btnDeviceName.Text.Trim())
                 {
                     //璁惧鍚嶇О淇敼
-                    var result = await Common.LocalDevice.Current.ReName(nowSelectDevice, btnDeviceName.Text.Trim());
+                    var result = Common.LocalDevice.Current.ReName(nowSelectDevice, btnDeviceName.Text.Trim());
                     if (result == false)
                     {
                         return;
@@ -295,110 +254,16 @@
         /// </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 == false)
             {
-                //鍔熻兘绫诲瀷
-                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();
-                //搴曠嚎
-                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鏈畾涔�;
-                            }
-                        };
-                    };
-                }
+                return;
             }
-
-            //濡傛灉鏄柊椋�
-            if (nowSelectDevice.Type == DeviceType.FreshAir)
-            {
-                //鍔熻兘绫诲瀷
-                string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
-                string strType = Language.StringByID(R.MyInternationalizationString.FreshAir);
-                var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
-                btnFunction.UseClickStatu = false;
-                listview.AddChidren(btnFunction);
-                btnFunction.InitControl();
-                //搴曠嚎
-                btnFunction.AddBottomLine();
-            }
+            listview.AddChidren(rowFunction);
+            rowFunction.InitControl();
+            //搴曠嚎
+            rowFunction.AddBottomLine();
         }
 
         #endregion
@@ -465,6 +330,19 @@
                         frameBack.Y = Application.GetRealHeight(153);
                         frameBack.Gravity = Gravity.Center;
                     }
+
+                    //濡傛灉鏄疨M2.5
+                    if (deviceObj.Type == DeviceType.PMSensor)
+                    {
+                        frame.RemoveFromParent();
+                        frameBorder.Y = Application.GetRealHeight(0);
+                        frameBorder.Height = Application.GetRealHeight(708);
+                        frameBack.BackgroundImagePath = "RealDevice/SensorPMTwoPointFive.png";
+                        frameBack.Width = this.GetPictrueRealSize(418);
+                        frameBack.Height = this.GetPictrueRealSize(403);
+                        frameBack.Y = Application.GetRealHeight(153);
+                        frameBack.Gravity = Gravity.Center;
+                    }
                 }
                 else
                 {
@@ -477,7 +355,7 @@
                 //璁$畻鐪熷疄楂樺害
                 int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛
                 realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害
-                realHeight += (frameBack.ChildrenCount-1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛
+                realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛
                 if (realHeight > frameBack.Height)
                 {
                     //鍙樻洿楂樺害
@@ -549,6 +427,18 @@
                     //鍙鍚屼竴绉嶇被鍨嬬殑
                     continue;
                 }
+
+                //鑾峰彇璁惧灞炰簬銆愮畝绾﹀鍔熻兘闈㈡澘銆�
+                var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+                if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+                {
+                    if (device.Type == DeviceType.TemperatureSensor && device.DeviceEpoint == 1)
+                    {
+                        //绠�绾﹀鍔熻兘闈㈡澘绗�1鍥炶矾鏄竴涓粦瀹氭俯婀垮害浼犳劅鍣ㄧ绫诲瀷锛屼笉鏄湡鐨勬俯婀垮害鐨勪紶鎰熷櫒锛岄渶瑕佸睆钄芥帀
+                        continue;
+                    }
+                }
+
                 listRelay.Add(device);
                 if (device.DeviceEpoint == deviceObj.DeviceEpoint)
                 {
@@ -589,7 +479,6 @@
             }
             return listIcon;
         }
-
         #endregion
 
         #region 鈻� 鍥炶矾閫夋嫨___________________________

--
Gitblit v1.8.0