From ed2f4a97aa48cdb4a013d2a389877f52eb3eccdf Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 13:15:59 +0800
Subject: [PATCH] Merge branch 'DEV_GXC' of http://172.16.1.23:6688/r/~xm/HomeApp into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs |  151 +++++++++++++++++++------------------------------
 1 files changed, 59 insertions(+), 92 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
index 5769297..15b929a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
@@ -36,6 +36,10 @@
         /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧
         /// </summary>
         private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
+        /// <summary>
+        /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘
+        /// </summary>
+        private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>();
 
         #endregion
 
@@ -68,18 +72,18 @@
             this.ClearBodyFrame();
 
             //鍒濆鍖栨甯�
-            this.InitFrameTable();
+            var tableContr = new InformationEditorControl();
+            this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1128);
+
             //鍒濆鍖栬澶囧洖璺浘鏍�
             this.InitDeviceEpointIcon();
 
+            //鍒濆鍖栨甯冨畬鎴�
+            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
+            tableContr = null;
+
             //淇濆瓨
             var btnFinish = new BottomClickButton();
-            //鍊熺敤Y杞村潗鏍�(璁╄繖涓尯鍩熶笉鑳界偣鍑昏彍鍗�)
-            var frameBack = new FrameLayout();
-            frameBack.Y = btnFinish.Yaxis;
-            frameBack.Height = bodyFrameLayout.Height - btnFinish.Yaxis;
-            bodyFrameLayout.AddChidren(frameBack);
-
             btnFinish.TextID = R.MyInternationalizationString.uSave;
             bodyFrameLayout.AddChidren(btnFinish);
             btnFinish.ButtonClickEvent += async (sender, e) =>
@@ -109,6 +113,34 @@
                             return;
                         }
                     }
+                }
+                foreach (var epoint in dicDeviceFuncType.Keys)
+                {
+                    var device = Common.LocalDevice.Current.GetDevice(deviceMac, 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";
+                    }
+                    device.ReSave();
                 }
                 this.CloseProgressBar();
                 //鍏抽棴鑷韩
@@ -158,45 +190,19 @@
             };
 
             //鎵�灞炲尯鍩�
-            List<string> listRoomName = Common.Room.CurrentRoom.GetRoomListNameByDevice(nowSelectDevice);
-            caption = Language.StringByID(R.MyInternationalizationString.uBelongArea);
-            nameValue = Common.Room.CurrentRoom.GetRoomName(listRoomName);
-            var btnBeloneArea = new FrameCaptionViewControl(caption, nameValue, listview.rowSpace / 2);
-            listview.AddChidren(btnBeloneArea);
-            btnBeloneArea.InitControl();
+            var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
+            listview.AddChidren(rowBeloneArea);
+            rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), nowSelectDevice);
             //搴曠嚎
-            btnBeloneArea.AddBottomLine();
-            //鍙崇澶�
-            btnBeloneArea.AddRightArrow();
-            btnBeloneArea.ButtonClickEvent += (sender, e) =>
+            rowBeloneArea.AddBottomLine();
+            rowBeloneArea.SelectRoomEvent += (roomKeys) =>
             {
-                var form = new SelectRoomForm();
-                form.AddForm(listRoomName);
-                form.ActionSelectRoom = (list) =>
-                {
-                    //鍙樻洿鎴块棿
-                    Common.Room.CurrentRoom.ChangedRoom(nowSelectDevice, list);
-
-                    btnBeloneArea.Text = Common.Room.CurrentRoom.GetRoomName(list);
-                    listRoomName.Clear();
-                    listRoomName.AddRange(list);
-                };
+                //鍙樻洿鎴块棿
+                Common.Room.CurrentRoom.ChangedRoom(nowSelectDevice, roomKeys);
             };
 
             //娣诲姞鍔熻兘绫诲瀷琛�
             this.AddFunctionTypeRow();
-
-            //鍊熺敤Y杞村潗鏍�
-            var btnTemp = new BottomClickButton();
-            var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount;
-            if (bodyFrameLayout.Height - btnTemp.Yaxis + realHeight > listview.Height)
-            {
-                //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩
-                var frameTemp = new FrameLayout();
-                frameTemp.Height = bodyFrameLayout.Height - btnTemp.Yaxis + Application.GetRealHeight(115);
-                listview.AddChidren(frameTemp);
-            }
-            btnTemp = null;
         }
 
         #endregion
@@ -266,32 +272,31 @@
             {
                 //鍔熻兘绫诲瀷
                 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 (nowSelectDevice.DfunctionType == DeviceFunctionType.A鐏厜)
+                if (DfunctionType == DeviceFunctionType.A鐏厜)
                 {
                     strType = Language.StringByID(R.MyInternationalizationString.uLight);
                     nowSelectNo = 1;
                 }
-                else if (nowSelectDevice.DfunctionType == DeviceFunctionType.A寮�鍏�)
+                else if (DfunctionType == DeviceFunctionType.A寮�鍏�)
                 {
                     strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
                     nowSelectNo = 0;
                 }
-                else if (nowSelectDevice.DfunctionType == DeviceFunctionType.A鎻掑骇)
+                else if (DfunctionType == DeviceFunctionType.A鎻掑骇)
                 {
                     strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
                     nowSelectNo = 2;
                 }
-                else
-                {
-                    //榛樿鐏厜
-                    strType = Language.StringByID(R.MyInternationalizationString.uLight);
-                    nowSelectDevice.DfunctionType = DeviceFunctionType.A鐏厜;
-                    nowSelectDevice.ReSave();
-                }
+
                 var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
                 btnFunction.UseClickStatu = false;
                 listview.AddChidren(btnFunction);
@@ -321,19 +326,19 @@
                         {
                             btnFunction.Text = listText[selectNo];
                             nowSelectNo = selectNo;
+                            //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨�
                             if (selectNo == 0)
                             {
-                                nowSelectDevice.DfunctionType = DeviceFunctionType.A寮�鍏�;
+                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A寮�鍏�;
                             }
                             else if (selectNo == 1)
                             {
-                                nowSelectDevice.DfunctionType = DeviceFunctionType.A鐏厜;
+                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜;
                             }
                             else
                             {
-                                nowSelectDevice.DfunctionType = DeviceFunctionType.A鎻掑骇;
+                                dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇;
                             }
-                            nowSelectDevice.ReSave();
                         };
                     };
                 }
@@ -497,44 +502,6 @@
                 listIcon.Insert(0, listTemp);
             }
             return listIcon;
-        }
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖栨甯僟________________________
-
-        /// <summary>
-        /// 鍒濆鍖栨甯�
-        /// </summary>
-        private void InitFrameTable()
-        {
-            //寮у害鐨勫渾鐨勪竴鍗婄殑楂樺害(鍥哄畾)
-            int halfRoundHeigth = Application.GetRealHeight(116) / 2;
-            //寮у害鐨勫渾
-            var btnRound = new NormalViewControl(bodyFrameLayout.Width, halfRoundHeigth * 2, false);
-            btnRound.Y = Application.GetRealHeight(708);
-            btnRound.BackgroundColor = UserCenterColor.Current.White;
-            btnRound.Radius = (uint)halfRoundHeigth;
-            bodyFrameLayout.AddChidren(btnRound);
-            //鏄庣粏鍒楄〃鐨勬甯冿紝鐧借壊鑳屾櫙(瑕嗙洊寮у害鐨勫渾鐨勫崐杈�)
-            var detailBackFrame = new FrameLayout();
-            detailBackFrame.Y = btnRound.Bottom - btnRound.Height / 2;
-            detailBackFrame.Height = Application.GetRealHeight(1128);//楂樺害灏辨槸瑕佸畠瓒呰繃
-            detailBackFrame.BackgroundColor = UserCenterColor.Current.White;
-            bodyFrameLayout.AddChidren(detailBackFrame);
-
-            //璁惧缂栬緫
-            var btnTile = new NormalViewControl(800, 60, true);
-            btnTile.X = ControlCommonResourse.XXLeft;
-            btnTile.TextSize = 15;
-            btnTile.TextColor = UserCenterColor.Current.TextColor2;
-            btnTile.TextID = R.MyInternationalizationString.uDeviceEditor;
-            detailBackFrame.AddChidren(btnTile);
-
-            this.listview = new VerticalListControl(12);
-            listview.Y = btnTile.Bottom + Application.GetRealHeight(17);
-            listview.Height = Application.GetRealHeight(1028) - halfRoundHeigth - btnTile.Bottom - Application.GetRealHeight(17);
-            detailBackFrame.AddChidren(listview);
         }
 
         #endregion

--
Gitblit v1.8.0