From 587c36e27131f2d028fcabc13b296a8de7470034 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期三, 08 一月 2020 08:59:19 +0800 Subject: [PATCH] 2019.1.8 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 204 +++++++++++++++++++++++++++++++------------------- 1 files changed, 127 insertions(+), 77 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index a5d22e8..4be7cd0 100644 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -1,13 +1,13 @@ 锘縰sing System; using System.Collections.Generic; +using System.Timers; using Shared.Common; using Shared.Phone.Device.AC; -using ZigBee.Device; using Shared.Phone.Device.CommonForm; -using Shared.Phone.UserCenter.DoorLock; -using System.Timers; using Shared.Phone.Device.DeviceLogic; using Shared.Phone.UserCenter; +using Shared.Phone.UserCenter.DoorLock; +using ZigBee.Device; namespace Shared.Phone.UserView { @@ -919,6 +919,7 @@ /// </summary> private void ShowFunction() { + functionSceneBodyView.RemoveAll(); //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙� var deviceList = Room.CurrentRoom.DeviceUIList; if (deviceList == null) @@ -1011,18 +1012,17 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - lightView.Tag = device; - itemView.AddChidren(lightView); - lightView.Init(); - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(rollerShade.DeviceEpointName); - //lightView.SetStatu(true); - lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; - lightView.SetCollect(true); + var functionView = new FunctionMainView(xx, yy); + functionView.Tag = device; + itemView.AddChidren(functionView); + functionView.Init(); + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(rollerShade.DeviceEpointName); + functionView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; + functionView.SetCollect(true); - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1079,18 +1079,21 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); UserView.HomePage.Instance.AddChidren(rollerShadeControl); UserView.HomePage.Instance.PageIndex += 1; UserView.HomePage.Instance.ScrollEnabled = false; - //rollerShadeControl.action = RefreshBodyView; rollerShadeControl.Show(device, Room.CurrentRoom); + rollerShadeControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.OnOffOutput) @@ -1119,27 +1122,27 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = light.OnOffStatus == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + functionView.IsSelected = light.OnOffStatus == 1; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) { - lightView.CollectButton.IsSelected = false; + functionView.CollectButton.IsSelected = false; } else { - lightView.CollectButton.IsSelected = true; + functionView.CollectButton.IsSelected = true; } - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1196,7 +1199,7 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) @@ -1204,28 +1207,37 @@ var lightControl = new Phone.Device.Light.OnOffControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; } else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) { var lightControl = new Phone.Device.Light.PlugControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; } else { var lightControl = new Phone.Device.Light.LightControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; } }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.AirSwitch) @@ -1254,18 +1266,17 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(airSwitch.DeviceEpointName); - //lightView.SetStatu(true); - lightView.IsSelected = airSwitch.OnOffStatus == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(airSwitch.DeviceEpointName); + functionView.IsSelected = airSwitch.OnOffStatus == 1; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1322,17 +1333,21 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var lightControl = new Phone.Device.Light.AirSwitchControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; + }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.Thermostat) @@ -1361,17 +1376,17 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = ac.currentSystemMode != 0; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + functionView.IsSelected = ac.currentSystemMode != 0; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1428,17 +1443,20 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var lightControl = new Phone.Device.AC.ACControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.DimmableLight) @@ -1469,27 +1487,27 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = dimmableLight.OnOffStatus == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + functionView.IsSelected = dimmableLight.OnOffStatus == 1; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) { - lightView.CollectButton.IsSelected = false; + functionView.CollectButton.IsSelected = false; } else { - lightView.CollectButton.IsSelected = true; + functionView.CollectButton.IsSelected = true; } - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1546,16 +1564,19 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); UserView.HomePage.Instance.AddChidren(dimmableLightControl); UserView.HomePage.Instance.PageIndex += 1; - //dimmableLightControl.action = RefreshBodyView; dimmableLightControl.Show(device, Room.CurrentRoom); + dimmableLightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.IASZone) @@ -1691,7 +1712,7 @@ lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.CanControl(false); - lightView.IsSelected = device.CommonDevice.IsOnline == 1; + //lightView.IsSelected = device.CommonDevice.IsOnline == 1; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); @@ -1714,6 +1735,34 @@ //}) //{ IsBackground = true }.Start(); } + } + } + + /// <summary> + /// ReFreshEditDeviceAction + /// </summary> + /// <param name="device"></param> + /// <param name="curRoom"></param> + /// <param name="functionView"></param> + private void ReFreshEditDeviceAction(DeviceUI device, Common.Room curRoom, FunctionMainView functionView) + { + if (curRoom.Id != Common.Room.CurrentRoom.Id) + { + if (Common.Room.CurrentRoom.IsLove) + { + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + } + else + { + Common.Room.CurrentRoom.DeleteDevice(device.FileName); + ShowFunction(); + } + } + else + { + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); } } @@ -1752,6 +1801,7 @@ /// </summary> private void ShowScene() { + functionSceneBodyView.RemoveAll(); //閫夋嫨鍦烘櫙 var sceneList = Room.CurrentRoom.SceneUIList; if (sceneList == null) -- Gitblit v1.8.0