From d978b68da978982b35dd7d7da27217925cf8d788 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 29 四月 2020 09:34:28 +0800
Subject: [PATCH] 完整版的虚拟设备功能

---
 ZigbeeApp/Shared/Phone/MainPage/DeviceDetailInfoForm.cs |  138 ++++++----------------------------------------
 1 files changed, 18 insertions(+), 120 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/MainPage/DeviceDetailInfoForm.cs b/ZigbeeApp/Shared/Phone/MainPage/DeviceDetailInfoForm.cs
index 3e38a1c..8bec1a6 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/DeviceDetailInfoForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/DeviceDetailInfoForm.cs
@@ -272,105 +272,19 @@
         /// </summary>
         private void AddFunctionTypeRowByAdmin(NormalViewControl btnBelongType)
         {
-            //濡傛灉鏄户鐢靛櫒,绌烘皵寮�鍏�,璋冨厜鍣ㄧ殑璇�
-            if (device.Type == DeviceType.OnOffOutput || device.Type == DeviceType.DimmableLight
-                || device.Type == DeviceType.ColorDimmableLight || device.Type == DeviceType.AirSwitch)
+            //鑷畾涔夊姛鑳界被鍨嬫帶浠�
+            var rowFunction = new DeviceFunctionTypeRowControl(device, listview.rowSpace / 2);
+            if (rowFunction.CanShowRow == true)
             {
-                //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛�
-                int nowSelectNo = 1;
-                string strType = string.Empty;
-                if (this.device.DfunctionType == DeviceFunctionType.A鐏厜)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uLight);
-                    nowSelectNo = 1;
-                }
-                else if (this.device.DfunctionType == DeviceFunctionType.A寮�鍏�)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
-                    nowSelectNo = 0;
-                }
-                else if (this.device.DfunctionType == DeviceFunctionType.A鎻掑骇)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
-                    nowSelectNo = 2;
-                }
-                //鍔熻兘绫诲瀷
-                var btnFunction = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uFunctionType), strType, listview.rowSpace / 2);
-                btnFunction.UseClickStatu = false;
-                listview.AddChidren(btnFunction);
-                btnFunction.InitControl();
+                listview.AddChidren(rowFunction);
+                rowFunction.InitControl();
                 //搴曠嚎
-                btnFunction.AddBottomLine();
-                //濡傛灉鏄┖姘斿紑鍏冲拰缁х數鍣�,鎵嶈兘淇敼
-                if (device.Type == DeviceType.OnOffOutput || device.Type == DeviceType.AirSwitch)
+                rowFunction.AddBottomLine();
+                rowFunction.FinishSelectEvent += (index) =>
                 {
-                    //鍙崇澶�
-                    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.SelectRowCanCancel = false;//閫夋嫨鐨勪笉鑳藉彇娑�
-                        form.AddForm(title, listText, nowSelectNo);
-                        form.FinishSelectEvent += (selectNo) =>
-                        {
-                            btnFunction.Text = listText[selectNo];
-                            //褰撶被鍨嬪彉鏇存椂,澶翠笂鐨勭被鍨嬩篃涓�璧峰彉鏇�
-                            btnBelongType.Text = listText[selectNo];
-                            nowSelectNo = selectNo;
-                            //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨�
-                            if (selectNo == 0)
-                            {
-                                this.device.DfunctionType = DeviceFunctionType.A寮�鍏�;
-                                if (this.device.IsCustomizeImage == false)
-                                {
-                                    //閲嶆柊璁剧疆鍥剧墖
-                                    this.device.IconPath = "Device/Switch.png";
-                                }
-                            }
-                            else if (selectNo == 1)
-                            {
-                                this.device.DfunctionType = DeviceFunctionType.A鐏厜;
-                                if (this.device.IsCustomizeImage == false)
-                                {
-                                    //閲嶆柊璁剧疆鍥剧墖
-                                    this.device.IconPath = "Device/Light.png";
-                                }
-                            }
-                            else
-                            {
-                                this.device.DfunctionType = DeviceFunctionType.A鎻掑骇;
-                                if (this.device.IsCustomizeImage == false)
-                                {
-                                    //閲嶆柊璁剧疆鍥剧墖
-                                    this.device.IconPath = "Device/Socket1.png";
-                                }
-                            }
-                            this.device.ReSave();
-                        };
-                    };
-                }
-            }
-
-            //濡傛灉鏄柊椋�
-            if (device.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();
+                    //褰撶被鍨嬪彉鏇存椂,澶翠笂鐨勭被鍨嬩篃涓�璧峰彉鏇�
+                    btnBelongType.Text = rowFunction.Text;
+                };
             }
         }
 
@@ -379,32 +293,16 @@
         /// </summary>
         private void AddFunctionTypeRowByMember()
         {
-            //濡傛灉鏄户鐢靛櫒,绌烘皵寮�鍏�,璋冨厜鍣ㄧ殑璇�
-            if (device.Type == DeviceType.OnOffOutput || device.Type == DeviceType.DimmableLight
-                || device.Type == DeviceType.ColorDimmableLight || device.Type == DeviceType.AirSwitch)
+            //鑷畾涔夊姛鑳界被鍨嬫帶浠�
+            var rowFunction = new DeviceFunctionTypeRowControl(device, listview.rowSpace / 2);
+            if (rowFunction.CanShowRow == true)
             {
-                //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛�
-                string strType = string.Empty;
-                if (this.device.DfunctionType == DeviceFunctionType.A鐏厜)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uLight);
-                }
-                else if (this.device.DfunctionType == DeviceFunctionType.A寮�鍏�)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
-                }
-                else if (this.device.DfunctionType == DeviceFunctionType.A鎻掑骇)
-                {
-                    strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
-                }
-
-                //鍔熻兘绫诲瀷
-                var btnFunction = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uFunctionType), strType, listview.rowSpace / 2);
-                btnFunction.UseClickStatu = false;
-                listview.AddChidren(btnFunction);
-                btnFunction.InitControl();
+                //寮哄埗骞叉秹涓嶈兘閫夋嫨
+                rowFunction.SetCanSelect = false;
+                listview.AddChidren(rowFunction);
+                rowFunction.InitControl();
                 //搴曠嚎
-                btnFunction.AddBottomLine();
+                rowFunction.AddBottomLine();
             }
         }
 

--
Gitblit v1.8.0