黄学彪
2020-03-11 06802250b4b9041d39d568c1dbe77684075006b2
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -39,7 +39,7 @@
            X = Application.GetRealWidth(x);
            Y = Application.GetRealHeight(y);
            Width = Application.GetRealWidth(1080);
            Height = Application.GetRealHeight(446);
            Height = Application.GetRealHeight(397 + 46);
            BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
        }
@@ -52,7 +52,6 @@
            this.room = curRoom;
            InitFrame();
            InitStatu();
        }
        /// <summary>
@@ -63,24 +62,27 @@
            RemoveAll();
            var sceneRowLayout = new RowLayout
            {
                Y = Application.GetRealHeight(46),
                Height = Application.GetRealHeight(446 - 46),
                Height = Application.GetRealHeight(440),
                LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor,
                Tag= scene
                Tag = scene
            };
            AddChidren(sceneRowLayout);
            sceneRowLayout.SubViewWidth = Application.GetRealWidth(199);
            sceneImg = new ImageView()
            {
                X = Application.GetRealWidth(179),
                Width = Application.GetRealWidth(844),
                Height = Application.GetRealHeight(400),
                Height = Application.GetRealHeight(397),
                ImagePath = scene.IconPathType == 0 ? scene.IconPath : System.IO.Path.Combine(Config.Instance.FullPath, scene.IconPath),
                Radius = (uint)Application.GetRealHeight(17)
            };
            sceneRowLayout.AddChidren(sceneImg);
            //sceneImg.SetViewShadow(true);
            sceneRowLayout.AddChidren(sceneImg);
            //阴影
            var btnShadow = new PicViewControl(sceneImg.Width + Application.GetRealWidth(14 * 2), sceneImg.Height + Application.GetRealHeight(43), false);
            btnShadow.X = sceneImg.X - Application.GetRealWidth(14);
            btnShadow.UnSelectedImagePath = "Scene/SceneShadow.png";
            sceneRowLayout.AddChidren(btnShadow);
            btnShadow.ButtonClickEvent += this.SceneUpHandler;
            var leftFL = new FrameLayout
            {
@@ -88,7 +90,7 @@
                Y = Application.GetRealHeight(58),
                Width = Application.GetRealWidth(251),
                Height = Application.GetRealHeight(282),
                BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor2,
                BackgroundColor = 0xd6333333,
                Radius = (uint)Application.GetRealHeight(17)
            };
            sceneRowLayout.AddChidren(leftFL);
@@ -101,7 +103,7 @@
                Height = Application.GetMinRealAverage(65),
                UnSelectedImagePath = "Item/Collection.png",
                SelectedImagePath = "Item/CollectionSelected.png",
                IsSelected = Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName),
                IsSelected = HdlRoomLogic.Current.IsCollectInRoom(scene),
                Tag = scene
            };
            leftFL.AddChidren(collectionBtn);
@@ -126,19 +128,19 @@
            {
                if (room.IsLove)
                {
                    Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene);
                    HdlSceneLogic.Current.DeleteScene(HdlRoomLogic.Current.GetLoveRoom(), scene);
                    RemoveViewByTag(collectionBtn.Tag);
                }
                else
                {
                    collectionBtn.IsSelected = !collectionBtn.IsSelected;
                    if (collectionBtn.IsSelected)
                    {
                        Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene);
                    {
                        HdlSceneLogic.Current.AddScene(HdlRoomLogic.Current.GetLoveRoom(), scene);
                    }
                    else
                    {
                        Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene);
                        HdlSceneLogic.Current.DeleteScene(HdlRoomLogic.Current.GetLoveRoom(), scene);
                    }
                }
            };
@@ -164,97 +166,90 @@
                UnSelectedImagePath = "Scene/Delaying.png",
                Visible=false
            };
            sceneRowLayout.AddChidren(delayImgBtn);
            //定时
            var delayBtn = new RowLayoutDeleteButton
            {
                TextID = R.MyInternationalizationString.Delay,
                Tag = scene.SceneDelayTime,
                BackgroundColor=ZigbeeColor.Current.GXCTextSelectedColor,
            };
            delayBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
            sceneRowLayout.AddLeftView(delayBtn);
            //编辑
            var settingBtn = new Device.CommonForm.RowLayoutEditButton()
            {
                TextID = R.MyInternationalizationString.Editor,
                Tag = scene.SceneDelayTime
            };
            settingBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft);
            //删除
            var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
            {
                Tag = scene
            };
            deleteBtn.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
            if (room.IsSharedRoom)
            {
            }
            else
            {
                if (room.IsLove)
                {
                    sceneRowLayout.AddRightView(deleteBtn);
                }
                else
                {
                    sceneRowLayout.AddRightView(settingBtn);
                    sceneRowLayout.AddRightView(deleteBtn);
                }
            sceneRowLayout.AddChidren(delayImgBtn);
            sceneRowLayout.SubViewWidth = Application.GetRealWidth(199);
            //定时
            var btnDelay = new NormalViewControl(Application.GetRealWidth(199), sceneRowLayout.Height, false);
            btnDelay.BackgroundColor = ZigbeeColor.Current.GXCTextSelectedColor;
            btnDelay.TextID = R.MyInternationalizationString.Delay;
            btnDelay.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
            btnDelay.TextAlignment = TextAlignment.Center;
            btnDelay.Tag = scene.SceneDelayTime;
            btnDelay.Radius = (uint)Application.GetRealHeight(17);
            sceneRowLayout.AddLeftView(btnDelay);
            //变更按钮的高度
            btnDelay.Height = sceneImg.Height;
             //编辑
             var btnEditor = new NormalViewControl(Application.GetRealWidth(199), sceneImg.Height, false);
            btnEditor.BackgroundColor = ZigbeeColor.Current.GXCEditBackGroundColor;
            btnEditor.TextID = R.MyInternationalizationString.Edit;
            btnEditor.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
            btnEditor.TextAlignment = TextAlignment.Center;
            btnEditor.Tag = scene.SceneDelayTime;
            btnEditor.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerTopLeft);
            //删除
            var btnDelete = new NormalViewControl(Application.GetRealWidth(199), sceneImg.Height, false);
            btnDelete.Tag = scene;
            btnDelete.BackgroundColor = ZigbeeColor.Current.GXCRedColor;
            btnDelete.TextID = R.MyInternationalizationString.Delete;
            btnDelete.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
            btnDelete.TextAlignment = TextAlignment.Center;
            btnDelete.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
            if (room.IsSharedRoom == false && room.IsLove == false)
            {
                //不是分享,并且不是收藏
                sceneRowLayout.AddRightView(btnEditor);
                sceneRowLayout.AddRightView(btnDelete);
                //变更按钮的高度
                btnEditor.Height = sceneImg.Height;
                btnDelete.Height = sceneImg.Height;
            }
            //删除场景
            EventHandler<MouseEventArgs> delEvent = (sender, e) =>
            {
                if (room.IsLove)
                {
                    Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene);
                    RemoveFromParent();
                }
                else
                {
                    var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
                    alert.Show();
                    alert.ConfirmClickEvent += async () =>
                    {
                        //0 移除失败 1 移除成功 2 没有该场景
                        var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
                        if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
                        {
                            CommonPage.Instance.FailureToServer();
                            return;
                        }
                        //1成功
                        if (removeSceneAllData.removeSceneData.Result == 1)
                        {
                            room.RemoveScene(scene);
                            //RefreshBodyView();
                            RemoveFromParent();
                        }
                        //0 移除失败
                        else if (removeSceneAllData.removeSceneData.Result == 0)
                        {
                            CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain));
                            return;
                        }
                        //2 没有该场景
                        else if (removeSceneAllData.removeSceneData.Result == 2)
                        {
                            room.RemoveScene(scene);
                            //RefreshBodyView();
                            RemoveFromParent();
                            CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsNull));
                            return;
                        }
                    };
                }
            btnDelete.ButtonClickEvent += (sender, e) =>
            {
                var alert = new ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.ConfirmDelete));
                alert.Show();
                alert.ConfirmClickEvent += async () =>
                {
                    //0 移除失败 1 移除成功 2 没有该场景
                    var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
                    if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
                    {
                        CommonPage.Instance.FailureToServer();
                        return;
                    }
                    //1成功
                    if (removeSceneAllData.removeSceneData.Result == 1)
                    {
                        HdlSceneLogic.Current.RemoveScene(scene);
                        //RefreshBodyView();
                        RemoveFromParent();
                    }
                    //0 移除失败
                    else if (removeSceneAllData.removeSceneData.Result == 0)
                    {
                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain));
                        return;
                    }
                    //2 没有该场景
                    else if (removeSceneAllData.removeSceneData.Result == 2)
                    {
                        HdlSceneLogic.Current.RemoveScene(scene);
                        //RefreshBodyView();
                        RemoveFromParent();
                        CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsNull));
                        return;
                    }
                };
            };
            deleteBtn.MouseUpEventHandler += delEvent;
            //编辑场景
            settingBtn.MouseUpEventHandler += async (sender, e) =>
            btnEditor.ButtonClickEvent += async (sender, e) =>
            {
                try
                {
@@ -271,8 +266,8 @@
                    if (sceneDeviceList.getSceneDeviceListInfo != null)
                    {
                        var deviceList = sceneDeviceList.getSceneDeviceListInfo.DeviceList;
                        var allDevice = Common.Room.AllRoomDeviceUIList;
                        var allScene = Common.Room.AllRoomSceneUIList;
                        var allDevice = HdlRoomLogic.Current.GetAllRoomListDevice();
                        var allScene = HdlSceneLogic.Current.GetAllRoomSceneList();
                        if (deviceList != null && allDevice.Count != 0)
                        {
@@ -338,7 +333,7 @@
                    sceneView.Show();
                    sceneView.EditorAction = (s, r) =>
                    {
                        if(r.Id!=room.Id)
                        if (r.Id != room.Id)
                        {
                            RemoveFromParent();
                        }
@@ -358,7 +353,7 @@
                }
            };
            //编辑延时
            delayBtn.MouseUpEventHandler += (sender, e) =>
            btnDelay.ButtonClickEvent += (sender, e) =>
            {
                if (scene.RemainTime > 0)
                {
@@ -375,14 +370,6 @@
                    delayTimeBtn.Text = CommonFormResouce.GetTimeString(t);
                };
            };
        }
        /// <summary>
        /// InitStatu
        /// </summary>
        private void InitStatu()
        {
            sceneImg.MouseUpEventHandler += SceneUpHandler;
        }
        /// <summary>