From 509e7b543f8a8770cf09dff97000acf78140c119 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期一, 06 一月 2020 09:46:13 +0800
Subject: [PATCH] 2019、1、6

---
 ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs |  159 +++++++++++++++++++++++++++++------------------------
 1 files changed, 87 insertions(+), 72 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
index 316aa1c..518bdb0 100644
--- a/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
@@ -51,7 +51,7 @@
         /// <summary>
         /// 娣诲姞鐩爣鍚庣殑灞曠ず鍒楄〃
         /// </summary>
-        public VerticalScrolViewLayout TargetListScrolView;
+        public FrameLayout TargetListScrolView;
         /// <summary>
         /// The confirm button.
         /// </summary>
@@ -96,6 +96,10 @@
         /// 淇敼鍦烘櫙action
         /// </summary>
         public Action<SceneUI, Common.Room> EditorAction;
+        /// <summary>
+        /// 娣诲姞鍦烘櫙action
+        /// </summary>
+        public Action AddAction;
 
         #endregion
 
@@ -111,6 +115,7 @@
         /// </summary>
         public override void RemoveFromParent()
         {
+            UserView.HomePage.Instance.ScrollEnabled = true;
             base.RemoveFromParent();
         }
         /// <summary>
@@ -118,17 +123,34 @@
         /// </summary>
         public void RefreshTargetListView()
         {
+            UserView.HomePage.Instance.ScrollEnabled = false;
             TargetListScrolView.RemoveAll();
+            TargetListScrolView.Height = Application.GetRealHeight(173);
+            var TargetListScrolBackView = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(173),
+                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+            };
+            TargetListScrolView.AddChidren(TargetListScrolBackView);
 
             if (sceneTargetDevicesList.Count > 0)
             {
-                foreach (var targetDevice in sceneTargetDevicesList)
+                if (sceneTargetDevicesList.Count > 1)
                 {
+                    TargetListScrolView.Height = Application.GetRealHeight(140 * sceneTargetDevicesList.Count) + Application.GetRealHeight(200);
+                    TargetListScrolBackView.Height = Application.GetRealHeight(140 * sceneTargetDevicesList.Count + 13);
+                }
+
+                for (int i = 0; i < sceneTargetDevicesList.Count; i++)
+                {
+                    var targetDevice = sceneTargetDevicesList[i];
                     var targetRowLayout = new RowLayout()
                     {
-                        Height = Application.GetRealHeight(160),
-                        LineColor = ZigbeeColor.Current.GXCBackgroundColor,
-                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+                        Y = Application.GetRealHeight(i * 140),
+                        Height = Application.GetRealHeight(140),
+                        LineColor = ZigbeeColor.Current.GXCClearColor,
+                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
+                        SubViewWidth = Application.GetRealWidth(184)
                     };
                     TargetListScrolView.AddChidren(targetRowLayout);
                     string devImgPath = string.Empty;
@@ -139,51 +161,53 @@
                         devImgPath = targetDevice.DeviceUI.IconPath;
                         devNameText = targetDevice.DeviceUI.CommonDevice.DeviceEpointName;
 
-                        var targetRow = new SceneTargetFunctionRow(23);
-                        targetRowLayout.AddChidren(targetRow);
+                        var targetRow = new SceneTargetFunctionRow(13);
                         targetRow.Init();
                         targetRow.SetIcon(devImgPath);
                         targetRow.SetNameText(devNameText);
                         targetRow.SetZoneText(targetDevice.DeviceUI.GetZone());
                         targetRow.SetStatuText(targetDevice.GetDeviceStatu());
+                        targetRowLayout.AddChidren(targetRow);
+                        if (i == sceneTargetDevicesList.Count - 1)
+                        {
+                            targetRow.HideLine(true);
+                        }
                     }
                     else if (targetDevice.Type == 2)
                     {
                         devNameText = CommonFormResouce.GetTimeString(targetDevice.DelayTime);
                         devNameText += Language.StringByID(R.MyInternationalizationString.Later);
-                        var targetRow = new SceneTargetTimeRow(23);
-                        targetRowLayout.AddChidren(targetRow);
+                        var targetRow = new SceneTargetTimeRow(13);
                         targetRow.Init();
                         targetRow.SetTitle(devNameText);
+                        targetRowLayout.AddChidren(targetRow);
+                        if (i == sceneTargetDevicesList.Count - 1)
+                        {
+                            targetRow.HideLine(true);
+                        }
                     }
                     else if (targetDevice.Type == 1)
                     {
                         devImgPath = "Scene/SceneIcon.png";
                         devNameText = targetDevice.SceneName;
 
-                        var targetRow = new SceneTargetFunctionRow(23);
-                        targetRowLayout.AddChidren(targetRow);
+                        var targetRow = new SceneTargetFunctionRow(13);
                         targetRow.Init();
                         targetRow.SetIcon(devImgPath);
                         targetRow.SetNameText(devNameText);
                         targetRow.SetZoneText(targetDevice.SceneUI.GetZone());
+                        targetRowLayout.AddChidren(targetRow);
+                        if (i == sceneTargetDevicesList.Count - 1)
+                        {
+                            targetRow.HideLine(true);
+                        }
                     }
 
-                    var editBtn = new Button()
-                    {
-                        BackgroundColor = ZigbeeColor.Current.GXCEditBackGroundColor,
-                        TextID = R.MyInternationalizationString.Edit,
-                        TextColor = ZigbeeColor.Current.GXCTextWhiteColor
-                    };
+                    var editBtn = new RowLayoutEditButton();
                     targetRowLayout.AddRightView(editBtn);
                     //缂栬緫璁惧
                     editBtn.MouseUpEventHandler += detailMouseUpEventHandler;
-                    var delBtn = new Button()
-                    {
-                        BackgroundColor = ZigbeeColor.Current.GXCRedColor,
-                        TextID = R.MyInternationalizationString.Delete,
-                        TextColor = ZigbeeColor.Current.GXCTextWhiteColor
-                    };
+                    var delBtn = new RowLayoutDeleteButton();
                     targetRowLayout.AddRightView(delBtn);
                     //鍒犻櫎璁惧
                     delBtn.MouseUpEventHandler += (sender, e) =>
@@ -256,17 +280,6 @@
                         }
                     }
                 }
-
-                if (sceneTargetDevicesList.Count > 1)
-                {
-                    var targetRowLayout = new RowLayout()
-                    {
-                        Height = Application.GetRealHeight(300),
-                        LineColor = ZigbeeColor.Current.GXCBackgroundColor,
-                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
-                    };
-                    TargetListScrolView.AddChidren(targetRowLayout);
-                }
             }
         }
         /// <summary>
@@ -319,13 +332,20 @@
         /// </summary>
         private void AddBodyView()
         {
-            bodyFrameLayout = new FrameLayout()
+            var bodyScrolView=new VerticalScrolViewLayout()
             {
                 Y = Application.GetRealHeight(184),
                 Height = Application.GetRealHeight(1737),
                 BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
             };
-            AddChidren(bodyFrameLayout);
+            AddChidren(bodyScrolView);
+
+            bodyFrameLayout = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(1086+127),
+                BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
+            };
+            bodyScrolView.AddChidren(bodyFrameLayout);
 
             var imgFL = new FrameLayout
             {
@@ -347,8 +367,8 @@
 
             var infoFL = new FrameLayout
             {
-                Y = imgFL.Bottom + Application.GetRealHeight(23),
-                Height = Application.GetRealHeight(418),
+                Y = Application.GetRealHeight(588),
+                Height = Application.GetRealHeight(429),
                 BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
             };
             bodyFrameLayout.AddChidren(infoFL);
@@ -362,7 +382,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
                 TextAlignment = TextAlignment.CenterLeft,
                 TextSize = 15,
-                IsBold=true
+                //IsBold=true
             };
             infoFL.AddChidren(infoEdit);
 
@@ -382,8 +402,8 @@
 
             var targetFL = new FrameLayout()
             {
-                Y = infoFL.Bottom + Application.GetRealHeight(23),
-                Height = Application.GetRealHeight(730)
+                Y = Application.GetRealHeight(1040),
+                Height = Application.GetRealHeight(346)
             };
             bodyFrameLayout.AddChidren(targetFL);
 
@@ -432,12 +452,13 @@
             };
             addTargetFL.AddChidren(targetLine);
 
-            TargetListScrolView = new VerticalScrolViewLayout()
+            TargetListScrolView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(49+127),
-                Height = Application.GetRealHeight(730-127-49),
+                Height = Application.GetRealHeight(173)
             };
-            targetFL.AddChidren(TargetListScrolView);
+            bodyScrolView.AddChidren(TargetListScrolView);
+
+
 
             confirmBtn = new CommonForm.CompleteButton(1656, 907, 127);
             confirmBtn.TextID = R.MyInternationalizationString.Next;
@@ -855,7 +876,7 @@
                 }
                 if (curRoom.IsSharedRoom)
                 {
-                    RemoveFromParent();
+                    RoomCommon.ShowTipRoomIsShared();
                     return;
                 }
 
@@ -863,12 +884,8 @@
                 {
                     if (string.IsNullOrEmpty(nameRow.NameText.Text))
                     {
-                        var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull), Language.StringByID(R.MyInternationalizationString.Close));
-                        alert.Show();
-                        alert.ResultEventHandler += (sendAlert, eAlert) =>
-                        {
-                            return;
-                        };
+                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull));
+                        return;
                     }
                     else
                     {
@@ -937,7 +954,7 @@
                                         Epoint = sceneTarget.DeviceUI.CommonDevice.DeviceEpoint,
                                         TaskList = sceneTarget.TaskList,
                                         DelayTime = 0,
-                                        MemberNumber = i+1
+                                        MemberNumber = i + 1
                                     };
                                     memberDataList.Add(memberData);
                                 }
@@ -949,7 +966,7 @@
                                         ScenesId = 0,
                                         ElseScenesId = sceneTarget.ElseScenesId,
                                         DelayTime = 0,
-                                        MemberNumber = i+1
+                                        MemberNumber = i + 1
                                     };
                                     memberDataList.Add(memberData);
                                 }
@@ -960,7 +977,7 @@
                                         Type = 2,
                                         ScenesId = 0,
                                         DelayTime = sceneTarget.DelayTime,
-                                        MemberNumber = i+1
+                                        MemberNumber = i + 1
                                     };
                                     memberDataList.Add(memberData);
                                 }
@@ -1001,8 +1018,8 @@
                                     var removeDevice = new ZigBee.Device.Scene.RemoveSceneDeviceListInfo
                                     {
                                         Type = 2,
-                                        DelayTime=sceneTarget.DelayTime,
-                                        MemberNumber=sceneTarget.DelayTimeSerialNumber
+                                        DelayTime = sceneTarget.DelayTime,
+                                        MemberNumber = sceneTarget.DelayTimeSerialNumber
                                     };
                                     removeSceneDeviceListInfoList.Add(removeDevice);
                                 }
@@ -1021,15 +1038,16 @@
                                     modifyRoom.Save();
                                     curRoom.Save();
                                 }
+                                EditorAction?.Invoke(modifySceneUI, curRoom);
                                 RemoveFromParent();
                             }
                             else if (result == 0)
                             {
-                                Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain));
                             }
                             else if (result == -1)
                             {
-                                Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneHadExist));
                             }
                         }
                         catch (Exception ex)
@@ -1047,12 +1065,8 @@
                     //鏂板
                     if (string.IsNullOrEmpty(nameRow.NameText.Text))
                     {
-                        var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull), Language.StringByID(R.MyInternationalizationString.Close));
-                        alert.Show();
-                        alert.ResultEventHandler += (sendAlert, eAlert) =>
-                        {
-                            return;
-                        };
+                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.SceneNameCannotBeNull));
+                        return;
                     }
                     else
                     {
@@ -1070,11 +1084,11 @@
                             {
                                 imgPath = backGround.ImagePath;
                             }
-                            if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null)
-                            {
-                                Common.CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
-                                return;
-                            }
+                            //if (Common.Room.CurrentRoom.GetSameFloorScenes(curRoom.FloorId).Find(s => s.Name == nameRow.NameText.Text.Trim()) != null)
+                            //{
+                            //    CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneHadExist));
+                            //    return;
+                            //}
                             CommonPage.Loading.Start();
                             var memberDataList = new List<ZigBee.Device.Scene.AddSceneMemberData>();
                             for (int i = 0; i < sceneTargetDevicesList.Count; i++)
@@ -1127,15 +1141,16 @@
                             var result = await curRoom.AddScene(nameRow.NameText.Text, imgPath, memberDataList);
                             if (result == 1)
                             {
+                                AddAction?.Invoke();
                                 RemoveFromParent();
                             }
                             else if (result == 0)
                             {
-                                CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.AddSceneFail);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.AddSceneFail));
                             }
                             else if (result == -1)
                             {
-                                CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneHadExist);
+                                CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneHadExist));
                             }
                         }
                         catch (Exception ex)

--
Gitblit v1.8.0