From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 28 二月 2020 15:25:13 +0800 Subject: [PATCH] 2020.2.28 --- ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 659 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 351 insertions(+), 308 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs index e019f26..867f080 100644 --- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs @@ -8,6 +8,7 @@ using Shared.Phone.Device.AC; using Shared.Phone.UserCenter.DoorLock; using Shared.Phone.Device.DeviceLogic; +using Shared.Phone.UserCenter; namespace Shared.Phone.Device.Category { @@ -25,7 +26,7 @@ /// <summary> /// low_High /// </summary> - private const int low_High= 127; + private const int low_High = 127; /// <summary> /// 鍔熻兘 /// </summary> @@ -119,10 +120,6 @@ /// sceneList /// </summary> private List<SceneUI> sceneList; - /// <summary> - /// 褰撳墠閫変腑鎴块棿 - /// </summary> - private Common.Room curRoom; #endregion #region 鈼� 鎺ュ彛____________________________ @@ -262,7 +259,7 @@ var attriButeList = common.DeviceStatusReport.AttriBute; var ac = deviceUI.CommonDevice as ZigBee.Device.AC; ac.DeviceStatusReport = common.DeviceStatusReport; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; switch (attList.AttributeId) @@ -287,14 +284,6 @@ ac.currentSystemMode = attList.AttriButeData; ac.LastDateTime = DateTime.Now; break; - case 4099: - var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0'); - var modeStr = value.Substring(value.Length - 5, 5); - for (int j = 0; j < modeStr.Length; j++) - { - ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0; - } - break; case 4097: //杩囪檻缃戞竻娲楁爣蹇�:42 ac.CleanStatu = attList.AttriButeData == 42; @@ -311,7 +300,7 @@ var ac = deviceUI.CommonDevice as ZigBee.Device.AC; var attriButeList = common.DeviceStatusReport.AttriBute; ac.DeviceStatusReport = common.DeviceStatusReport; - foreach(var attList in attriButeList) + foreach (var attList in attriButeList) { switch (attList.AttributeId) { @@ -579,7 +568,7 @@ TextID = R.MyInternationalizationString.Category, TextSize = 24, TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor, - IsBold=true + IsBold = true }; topView.AddChidren(title); @@ -623,7 +612,7 @@ functionBtn.SetTitle(R.MyInternationalizationString.Function); functionBtn.X = sceneBtn.Right; //鑷姩鍖� - automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20+50, 34); + automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20 + 50, 34); automationBtn.Init(); automationBtn.SetTitle(R.MyInternationalizationString.Automation); automationBtn.X = functionBtn.Right; @@ -641,8 +630,8 @@ Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterRight, TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize=14, - IsBold=true + TextSize = 14, + IsBold = true }; selectFloorBtn = new Button() @@ -710,7 +699,7 @@ addBtn.MouseUpEventHandler += AddBtn_MouseUpEventHandler; selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler; - floorBtn.MouseUpEventHandler+= SelectedFloor_MouseUpEventHandler; + floorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler; } @@ -721,13 +710,14 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs) { - var floors = new SelectFloor (); + var floors = new SelectFloor(); AddChidren(floors); - floors.Init(580,330,Direction.Right); + floors.Init(580, 330, Direction.Right); floors.changeFloor = true; floors.FloorAction += (floorId) => { floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); + Common.Room.CurrentRoom = Common.Room.CurrentRoom.GetLoveRoom(); RefreshBodyView(); }; } @@ -766,11 +756,11 @@ /// <param name="sender">Sender.</param> /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void AutomationBtn_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs) - { - Common.Logic.LogicDviceList.Clear(); - if (Common.Logic.LogicDviceList.Count == 0) - { - Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); + { + Common.Logic.LogicDviceList.Clear(); + if (Common.Logic.LogicDviceList.Count == 0) + { + Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); } functionBtn.IsSelected = false; sceneBtn.IsSelected = false; @@ -811,6 +801,10 @@ UserView.HomePage.Instance.AddChidren(scene); UserView.HomePage.Instance.PageIndex += 1; scene.Show(); + scene.AddAction = () => + { + ShowScene(); + }; } /// <summary> @@ -883,7 +877,7 @@ typeIdDic.Clear(); foreach (var device in devList) { - var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice }); + var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice); if (info.BeloneType == DeviceBeloneType.A骞叉帴鐐� || info.BeloneType == DeviceBeloneType.A涓户鍣�) { continue; @@ -920,10 +914,10 @@ { var noFunction = new Button() { - Y=Application.GetRealHeight(320), - Width=Application.GetMinRealAverage(757), + Y = Application.GetRealHeight(320), + Width = Application.GetMinRealAverage(757), Height = Application.GetMinRealAverage(435), - UnSelectedImagePath="Item/NoFunction.png", + UnSelectedImagePath = "Item/NoFunction.png", Gravity = Gravity.CenterHorizontal }; functionSceneBodyView.AddChidren(noFunction); @@ -934,10 +928,10 @@ Height = Application.GetRealHeight(200), Width = Application.GetRealWidth(700), Gravity = Gravity.CenterHorizontal, - Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}","\r\n"), + Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, TextAlignment = TextAlignment.Center, - IsMoreLines=true + IsMoreLines = true }; functionSceneBodyView.AddChidren(noFunctionTip); } @@ -991,7 +985,7 @@ deviceListScrolView = new VerticalScrolViewLayout { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = Application.GetRealHeight(35+279), + Y = Application.GetRealHeight(35 + 279), Width = Application.GetRealWidth(1028), Height = Application.GetRealHeight(942), BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor @@ -1000,7 +994,7 @@ deviceListScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); tempFunctionTypeBtn = new FunctionButton(); - tempFunctionTypeBtn.Init("",""); + tempFunctionTypeBtn.Init("", ""); foreach (var deviceType in typeIdDic) { @@ -1016,7 +1010,7 @@ }; string imgPath = string.Empty; string imgSeletedPath = string.Empty; - Common.LocalDevice.Current.GetDeviceBeloneIcon(deviceType.Value, ref imgPath, ref imgSeletedPath); + Common.LocalDevice.Current.GetDeviceObjectIcon(deviceType.Value, ref imgPath, ref imgSeletedPath); functionTypeIMG.Init(imgPath, imgSeletedPath); functionTypeIMG.SetTitle(deviceType.Key); typeRowLayout.AddChidren(functionTypeIMG); @@ -1056,43 +1050,14 @@ { try { - //鍒犻櫎璁惧 - EventHandler<MouseEventArgs> delEvent = (delSender, delE) => + var deviceTypeRowLayout = new RowLayout() { - var alert = new CustomAlert(); - AddChidren(alert); - alert.Show(Language.StringByID(R.MyInternationalizationString.DeleteFunction)); - alert.ResultEventHandler += (e2) => - { - if (e2) - { - if(curRoom.IsLove) - { - Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); - deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); - sameTypeList.Remove(deviceUI); - } - else - { - Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice); - deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); - sameTypeList.Remove(deviceUI); - } - //if (sameTypeList.Count == 0) - //{ - // RefreshBodyView(); - //} - } - }; + Height = Application.GetRealHeight(127 + 35), + LineColor = ZigbeeColor.Current.GXCClearColor, + Tag = deviceUI, + SubViewWidth=Application.GetRealWidth(184) }; - EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => - { - var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; - UserView.HomePage.Instance.AddChidren(detailInfo); - UserView.HomePage.Instance.PageIndex += 1; - detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); - detailInfo.action = RefreshBodyView; - }; + deviceListScrolView.AddChidren(deviceTypeRowLayout); if (deviceUI.CommonDevice.Type == DeviceType.OnOffOutput) { @@ -1121,18 +1086,9 @@ }) { IsBackground = true }.Start(); - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - //deviceRow.SetOnLineStatu(light.IsOnline == 1); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.IsSelected = light.OnOffStatus == 1; deviceTypeRowLayout.AddChidren(deviceRow); @@ -1168,51 +1124,37 @@ } }); }; - deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { - if (deviceUI.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + var lightControl = new Phone.Device.Light.OnOffControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + lightControl.Show(deviceUI, Common.Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => { - var lightControl = new Phone.Device.Light.OnOffControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(deviceUI, curRoom); - } - else if (deviceUI.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(deviceUI, curRoom); - } - else - { - var lightControl = new Phone.Device.Light.LightControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(deviceUI, curRoom); - } + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; }; + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; var editBtn = new CommonForm.RowLayoutEditButton() { - Tag = deviceUI, - Radius = 0 + Tag = deviceUI }; - var delBtn = new CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI, - Radius = 0 - }; - if (curRoom.IsSharedRoom == false) + if (Common.Room.CurrentRoom.IsSharedRoom == false) { deviceTypeRowLayout.AddRightView(editBtn); editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; } } } @@ -1242,22 +1184,12 @@ }) { IsBackground = true }.Start(); - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - //deviceRow.SetOnLineStatu(airSwitch.IsOnline == 1); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.IsSelected = airSwitch.OnOffStatus == 1; deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceTypeRowLayout.AddChidren(deviceRow); - deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => { zbGateway = deviceUI.CommonDevice.Gateway; @@ -1289,33 +1221,41 @@ } }); }; - deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { var lightControl = new Phone.Device.Light.AirSwitchControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(deviceUI, curRoom); + lightControl.Show(deviceUI, Common.Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + + }; }; + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + + }; + }; var editBtn = new CommonForm.RowLayoutEditButton() { - Tag = deviceUI, - Radius = 0 + Tag = deviceUI }; - var delBtn = new CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI, - Radius = 0 - }; - if (curRoom.IsSharedRoom == false) + if (Common.Room.CurrentRoom.IsSharedRoom == false) { deviceTypeRowLayout.AddRightView(editBtn); editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; } } } @@ -1345,18 +1285,9 @@ }) { IsBackground = true }.Start(); - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - //deviceRow.SetOnLineStatu(dimmableLight.IsOnline == 1); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.IsSelected = dimmableLight.OnOffStatus == 1; deviceTypeRowLayout.AddChidren(deviceRow); @@ -1399,26 +1330,33 @@ UserView.HomePage.Instance.AddChidren(dimmableLightControl); UserView.HomePage.Instance.PageIndex += 1; UserView.HomePage.Instance.ScrollEnabled = false; - //dimmableLightControl.action = RefreshBodyView; - dimmableLightControl.Show(deviceUI, curRoom); + dimmableLightControl.Show(deviceUI, Common.Room.CurrentRoom); + dimmableLightControl.action += (curDev, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; var editBtn = new CommonForm.RowLayoutEditButton() { - Tag = deviceUI, - Radius = 0 + Tag = deviceUI }; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI, - Radius = 0 - }; - if (curRoom.IsSharedRoom == false) + if (Common.Room.CurrentRoom.IsSharedRoom == false) { deviceTypeRowLayout.AddRightView(editBtn); editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; } } } @@ -1450,18 +1388,9 @@ }) { IsBackground = true }.Start(); - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - //deviceRow.SetOnLineStatu(ac.IsOnline == 1); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.IsSelected = ac.currentSystemMode != 1; deviceTypeRowLayout.AddChidren(deviceRow); @@ -1498,34 +1427,41 @@ } }); }; - - var editBtn = new CommonForm.RowLayoutEditButton() - { - Tag = deviceUI, - Radius = 0 - }; - var delBtn = new CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI, - Radius = 0 - }; - if (curRoom.IsSharedRoom == false) - { - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; - } - deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { var acControl = new Phone.Device.AC.ACControl(); UserView.HomePage.Instance.AddChidren(acControl); UserView.HomePage.Instance.PageIndex += 1; UserView.HomePage.Instance.ScrollEnabled = false; - //rollerShadeControl.action = RefreshBodyView; - acControl.Show(deviceUI, curRoom); + acControl.Show(deviceUI, Common.Room.CurrentRoom); + acControl.action += (curDev, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + + }; }; + + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + + }; + }; + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI + }; + if (Common.Room.CurrentRoom.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + } } } else if (deviceUI.CommonDevice.Type == DeviceType.WindowCoveringDevice) @@ -1555,18 +1491,9 @@ }) { IsBackground = true }.Start(); - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionForWinRow(0, 35); deviceRow.Init(deviceUI); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - //deviceRow.SetOnLineStatu(rollerShade.IsOnline == 1); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage != 0; deviceRow.SetRollerShadeIcon(rollerShade.WcdType); @@ -1589,109 +1516,107 @@ { IsBackground = true }.Start(); } - var editBtn = new CommonForm.RowLayoutEditButton() - { - Tag = deviceUI, - Radius = 0 - }; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI, - Radius = 0 - }; - if (curRoom.IsSharedRoom == false) - { - deviceTypeRowLayout.AddRightView(editBtn); - editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; - } - deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { 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(deviceUI, curRoom); + rollerShadeControl.Show(deviceUI, Common.Room.CurrentRoom); + rollerShadeControl.action += (curDev, curRoom) => + { + ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; }; + + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI + }; + if (Common.Room.CurrentRoom.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + } } } else if (deviceUI.CommonDevice.Type == DeviceType.DoorLock) { - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - //deviceRow.SetOnLineStatu(deviceUI.CommonDevice.IsOnline == 1); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.HideSwitchBtn(true); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { - var userDoorLockPage = new UserDoorLockPage(curRoom, deviceUI); + var userDoorLockPage = new UserDoorLockPage(Common.Room.CurrentRoom, deviceUI); HomePage.Instance.AddChidren(userDoorLockPage); HomePage.Instance.PageIndex += 1; userDoorLockPage.Show(); }; - + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; var editBtn = new CommonForm.RowLayoutEditButton() { Tag = deviceUI }; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI - }; - if (curRoom.IsSharedRoom == false) + if (Common.Room.CurrentRoom.IsSharedRoom == false) { deviceTypeRowLayout.AddRightView(editBtn); editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; } } else if (deviceUI.CommonDevice.Type == DeviceType.IASZone) { - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.IsSelected = (deviceUI.CommonDevice as IASZone).iASInfo?.Alarm1 == 1; deviceRow.HideSwitchBtn(true); deviceTypeRowLayout.AddChidren(deviceRow); + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; var editBtn = new CommonForm.RowLayoutEditButton() { Tag = deviceUI }; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI - }; - if (curRoom.IsSharedRoom == false) + if (Common.Room.CurrentRoom.IsSharedRoom == false) { deviceTypeRowLayout.AddRightView(editBtn); editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; } } else if (deviceUI.CommonDevice.Type == DeviceType.TemperatureSensor) @@ -1732,84 +1657,200 @@ } }) { IsBackground = true }.Start(); - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.IsSelected = false; deviceRow.HideSwitchBtn(true); deviceTypeRowLayout.AddChidren(deviceRow); + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; var editBtn = new CommonForm.RowLayoutEditButton() { Tag = deviceUI }; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI - }; - if (curRoom.IsSharedRoom == false) + if (Common.Room.CurrentRoom.IsSharedRoom == false) { deviceTypeRowLayout.AddRightView(editBtn); editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; } - } } else { - var deviceTypeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(129 + 35), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, - Tag = deviceUI - }; - deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); - deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - //deviceRow.SetOnLineStatu(deviceUI.CommonDevice.IsOnline == 1); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceRow.HideSwitchBtn(true); deviceTypeRowLayout.AddChidren(deviceRow); + EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => + { + var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; + UserView.HomePage.Instance.AddChidren(detailInfo); + UserView.HomePage.Instance.PageIndex += 1; + detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); + detailInfo.EditAction += (curDevice, curRoom) => + { + ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); + }; + }; var editBtn = new CommonForm.RowLayoutEditButton() { Tag = deviceUI }; - var delBtn = new Device.CommonForm.RowLayoutDeleteButton() - { - Tag = deviceUI - }; - if (curRoom.IsSharedRoom == false) + if (Common.Room.CurrentRoom.IsSharedRoom == false) { deviceTypeRowLayout.AddRightView(editBtn); editBtn.MouseUpEventHandler += deviceDetailHandler; - deviceTypeRowLayout.AddRightView(delBtn); - delBtn.MouseUpEventHandler += delEvent; } } - } - catch - { + //鍒犻櫎璁惧 + EventHandler<MouseEventArgs> delEvent = (delSender, delE) => + { + var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.DeleteFunction)); + alert.Show(); + alert.ConfirmClickEvent += () => + { + if (Common.Room.CurrentRoom.IsLove) + { + Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); + deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); + sameTypeList.Remove(deviceUI); + } + else + { + Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice); + deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); + sameTypeList.Remove(deviceUI); + if (Common.Room.CurrentRoom.GetLoveRoom().DeviceUIList.Find((obj) => obj.FileName == deviceUI.FileName) != null) + { + Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(deviceUI.FileName); + } + } + if (sameTypeList.Count == 0) + { + RefreshBodyView(); + } + }; + }; + var delBtn = new CommonForm.RowLayoutDeleteButton() + { + Tag = deviceUI + }; + if (Common.Room.CurrentRoom.IsSharedRoom == false) + { + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; + } } + catch { } }); }) { IsBackground = true }.Start(); } } + + /// <summary> + /// ReFreshDeviceAction + /// </summary> + /// <param name="curRoom"></param> + /// <param name="sameTypeList"></param> + /// <param name="devListScrolView"></param> + /// <param name="deviceRow"></param> + private void ReFreshDeviceAction(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionRow deviceRow) + { + if (Common.Room.CurrentRoom.IsLove) + { + deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); + if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false) + { + devListScrolView.RemoveViewByTag(deviceUI); + sameTypeList.Remove(deviceUI); + if (sameTypeList.Count == 0) + { + RefreshFunction(Common.Room.CurrentRoom); + } + } + } + else + { + if (curRoom.Id != Common.Room.CurrentRoom.Id) + { + Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); + devListScrolView.RemoveViewByTag(deviceUI); + sameTypeList.Remove(deviceUI); + if (sameTypeList.Count == 0) + { + RefreshFunction(Common.Room.CurrentRoom); + } + } + else + { + deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); + } + } + } + + /// <summary> + /// ReFreshDeviceAction + /// </summary> + /// <param name="curRoom"></param> + /// <param name="sameTypeList"></param> + /// <param name="devListScrolView"></param> + /// <param name="deviceRow"></param> + private void ReFreshDeviceActionForWin(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionForWinRow deviceRow) + { + if (Common.Room.CurrentRoom.IsLove) + { + deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); + if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false) + { + devListScrolView.RemoveViewByTag(deviceUI); + sameTypeList.Remove(deviceUI); + if (sameTypeList.Count == 0) + { + RefreshFunction(Common.Room.CurrentRoom); + } + } + } + else + { + if (curRoom.Id != Common.Room.CurrentRoom.Id) + { + Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); + devListScrolView.RemoveViewByTag(deviceUI); + sameTypeList.Remove(deviceUI); + if (sameTypeList.Count == 0) + { + RefreshFunction(Common.Room.CurrentRoom); + } + } + else + { + deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); + } + } + } + /// <summary> /// AddRoomView @@ -1829,12 +1870,12 @@ functionSceneBodyView = new FrameLayout() { Y = roomFL.Bottom, - Height = Application.GetRealHeight(973+279), + Height = Application.GetRealHeight(973 + 279), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; functionSceneAutoBodyView.AddChidren(functionSceneBodyView); - RoomButton curBtn = new RoomButton(0,0); + RoomButton curBtn = new RoomButton(0, 0); foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom()) { var row = new FrameLayout() @@ -1850,12 +1891,11 @@ roomBtn.SetTitle(room.Name); row.AddChidren(roomBtn); - if (room.IsLove) + if (room.Id == Common.Room.CurrentRoom.Id) { roomBtn.IsSelected = true; - this.curRoom = room; curBtn = roomBtn; - if(sceneBtn.IsSelected) + if (sceneBtn.IsSelected) { RefreshScene(room); } @@ -1864,16 +1904,17 @@ RefreshFunction(room); } } + roomBtn.ButtonClickEvent += (sender, e) => { - if (sender == curBtn) + if (sender == curBtn) { return; } sender.IsSelected = true; curBtn.IsSelected = false; curBtn = sender; - this.curRoom = room; + Common.Room.CurrentRoom = room; if (sceneBtn.IsSelected) { RefreshScene(room); @@ -1944,7 +1985,7 @@ Height = Application.GetRealHeight(200), Width = Application.GetRealWidth(700), Gravity = Gravity.CenterHorizontal, - Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}","\r\n"), + Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, TextAlignment = TextAlignment.Center, IsMoreLines = true @@ -1979,7 +2020,7 @@ if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id) { sceneView.scene.RemainTime = delayScenesListResponseInfo.RemainTime; - var remainTime= delayScenesListResponseInfo.RemainTime; + var remainTime = delayScenesListResponseInfo.RemainTime; if (remainTime > 0) { new System.Threading.Thread(() => @@ -2026,10 +2067,10 @@ /// 鑷姩鍖� /// </summary> private async void ShowAutotion() - { - - functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - + { + + functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; + var bjFrameLayout = new FrameLayout { Width = Application.GetRealWidth(1080 - 58), @@ -2061,7 +2102,7 @@ TextID = MyInternationalizationString.logictemplate, Gravity = Gravity.CenterVertical, TextColor = ZigbeeColor.Current.LogicBtnSelectedColor, - TextSize=15, + TextSize = 15, }; bjFrameLayout.AddChidren(recommendtextBtn); @@ -2157,7 +2198,8 @@ Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑 if (logiciocnBtn.Tag.ToString() == "3") { - Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text;// Language.StringByID(MyInternationalizationString.automation1); + Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; + Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); var addLogicPage = new Logic.AddLogicPage(); HomePage.Instance.AddChidren(addLogicPage); HomePage.Instance.PageIndex += 1; @@ -2167,6 +2209,7 @@ { Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; + Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); Logic.TemplatePage templatePage = new Logic.TemplatePage(); Logic.TemplatePage.s = logiciocnBtn.Tag.ToString(); HomePage.Instance.AddChidren(templatePage); -- Gitblit v1.8.0