From fa6bcb2e9907772480f99205f36ec2a1ce735a22 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 09 一月 2020 14:11:07 +0800 Subject: [PATCH] 合并代码 --- ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs | 256 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 183 insertions(+), 73 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs index 80f72f9..e833131 100755 --- a/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs @@ -20,7 +20,7 @@ /// <summary> /// The action. /// </summary> - public Action action; + public Action<DeviceUI, Common.Room> action; /// <summary> /// The light image. @@ -144,8 +144,22 @@ return; } light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; - SetONOFFStatu(light.OnOffStatus == 1); StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}"; + + if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + SetONOFFStatu(light.OnOffStatus == 1); + } + else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) + { + deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; + } + else + { + deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; + } + + light.LastDateTime = DateTime.Now; } } @@ -193,8 +207,8 @@ public override void RemoveFromParent() { ZbGateway.StatusList.Remove(this); - //action(); - //action = null; + action(device, room); + action = null; RemoveUpdateControlDeviceStatuAction(); if (IsDrawerLockMode) { @@ -249,8 +263,7 @@ } } - var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (de == null) + if(Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { collectionBtn.IsSelected = false; } @@ -354,40 +367,6 @@ }; itemView.AddChidren(StatuBtn); - deviceIMG = new Button() - { - Y = Application.GetRealHeight(340), - Width = Application.GetMinRealAverage(579), - Height = Application.GetMinRealAverage(579), - Gravity = Gravity.CenterHorizontal, - UnSelectedImagePath = "Light/OnOff.png", - }; - itemView.AddChidren(deviceIMG); - - OffBtn = new Button - { - X = Application.GetRealWidth(294), - Y = Application.GetRealHeight(588), - Width = Application.GetMinRealAverage(81), - Height = Application.GetMinRealAverage(81), - UnSelectedImagePath = "Light/OFF.png", - SelectedImagePath = "Light/OFFSelected.png", - IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 0 - }; - itemView.AddChidren(OffBtn); - - OnBtn = new Button - { - X = Application.GetRealWidth(590), - Y = Application.GetRealHeight(588), - Width = Application.GetMinRealAverage(81), - Height = Application.GetMinRealAverage(81), - UnSelectedImagePath = "Light/ON.png", - SelectedImagePath = "Light/ONSelected.png", - IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1 - }; - itemView.AddChidren(OnBtn); - var roomBG = new Button { Y = Application.GetRealHeight(1178 - 50), @@ -427,6 +406,138 @@ TextSize = 12 }; itemView.AddChidren(roomName); + + AddByFunctionType(itemView); + } + + /// <summary> + /// AddByFunctionType + /// </summary> + private void AddByFunctionType(FrameLayout itemView) + { + if(device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + AddOnOff(itemView); + } + else if(device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) + { + AddPlug(itemView); + } + else + { + AddLight(itemView); + } + } + + /// <summary> + /// AddOnOff + /// </summary> + private void AddOnOff(FrameLayout itemView) + { + deviceIMG = new Button() + { + Y = Application.GetRealHeight(340), + Width = Application.GetMinRealAverage(579), + Height = Application.GetMinRealAverage(579), + Gravity = Gravity.CenterHorizontal, + UnSelectedImagePath = "Light/OnOff.png", + }; + itemView.AddChidren(deviceIMG); + + OffBtn = new Button + { + X = Application.GetRealWidth(294), + Y = Application.GetRealHeight(588), + Width = Application.GetMinRealAverage(81), + Height = Application.GetMinRealAverage(81), + UnSelectedImagePath = "Light/OFF.png", + SelectedImagePath = "Light/OFFSelected.png", + IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 0 + }; + itemView.AddChidren(OffBtn); + + OnBtn = new Button + { + X = Application.GetRealWidth(590), + Y = Application.GetRealHeight(588), + Width = Application.GetMinRealAverage(81), + Height = Application.GetMinRealAverage(81), + UnSelectedImagePath = "Light/ON.png", + SelectedImagePath = "Light/ONSelected.png", + IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1 + }; + itemView.AddChidren(OnBtn); + + OnBtn.MouseUpEventHandler += ON; + OffBtn.MouseUpEventHandler += OFF; + } + + /// <summary> + /// light + /// </summary> + /// <param name="itemView"></param> + private void AddLight(FrameLayout itemView) + { + deviceIMG = new Button() + { + Y = Application.GetRealHeight(389), + Width = Application.GetMinRealAverage(377), + Height = Application.GetMinRealAverage(435), + Gravity = Gravity.CenterHorizontal, + UnSelectedImagePath = "Light/DeskLamp.png", + SelectedImagePath = "Light/DeskLampSelected.png", + IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1 + }; + itemView.AddChidren(deviceIMG); + + switchBtn = new Button() + { + Y = Application.GetRealHeight(996), + Width = Application.GetMinRealAverage(81), + Height = Application.GetMinRealAverage(81), + Gravity = Gravity.CenterHorizontal, + UnSelectedImagePath = "Item/Switch.png", + SelectedImagePath = "Item/SwitchSelected.png", + IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1 + }; + itemView.AddChidren(switchBtn); + + switchBtn.MouseUpEventHandler += Switch; + deviceIMG.MouseUpEventHandler += Switch; + } + + /// <summary> + /// plug + /// </summary> + /// <param name="itemView"></param> + private void AddPlug(FrameLayout itemView) + { + deviceIMG = new Button() + { + Y = Application.GetRealHeight(344), + Width = Application.GetMinRealAverage(567), + Height = Application.GetMinRealAverage(567), + Gravity = Gravity.CenterHorizontal, + UnSelectedImagePath = "Light/Plug.png", + SelectedImagePath = "Light/PlugSelected.png", + IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1 + }; + itemView.AddChidren(deviceIMG); + + switchBtn = new Button() + { + Y = Application.GetRealHeight(996), + Width = Application.GetMinRealAverage(81), + Height = Application.GetMinRealAverage(81), + Gravity = Gravity.CenterHorizontal, + UnSelectedImagePath = "Item/Switch.png", + SelectedImagePath = "Item/SwitchSelected.png", + IsSelected = (device.CommonDevice as ToggleLight).OnOffStatus == 1 + }; + itemView.AddChidren(switchBtn); + + switchBtn.MouseUpEventHandler += Switch; + deviceIMG.MouseUpEventHandler += Switch; } #endregion @@ -437,8 +548,6 @@ /// </summary> private void BindEvent() { - OnBtn.MouseUpEventHandler += ON; - OffBtn.MouseUpEventHandler += OFF; collectionBtn.MouseUpEventHandler += Collection; } @@ -451,35 +560,36 @@ /// </summary> /// <param name="sender">Sender.</param> /// <param name="eventArgs">Event arguments.</param> - //private void Switch(object sender, MouseEventArgs eventArgs) - //{ - // sendedControlCommand = false; - // zbGateway.ReportAction += UpdateDeviceControllStatu; - // switchBtn.IsSelected = !switchBtn.IsSelected; - // deviceIMG.IsSelected = !deviceIMG.IsSelected; - // StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected); - // if (switchBtn.IsSelected == true) - // { - // (device.CommonDevice as ToggleLight).SwitchControl(1); - // } - // else - // { - // (device.CommonDevice as ToggleLight).SwitchControl(0); - // } - // //鎺у埗寤舵椂鍥炶皟 - // DeviceUI.SendCommandDelayAction(device.CommonDevice, () => - // { - // if (Parent == null) - // { - // return; - // } - // RemoveUpdateControlDeviceStatuAction(); - // if (sendedControlCommand == false) - // { - // DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - // } - // }); - //} + private void Switch(object sender, MouseEventArgs eventArgs) + { + sendedControlCommand = false; + zbGateway.ReportAction += UpdateDeviceControllStatu; + switchBtn.IsSelected = !switchBtn.IsSelected; + deviceIMG.IsSelected = !deviceIMG.IsSelected; + StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; + + if (switchBtn.IsSelected == true) + { + (device.CommonDevice as ToggleLight).SwitchControl(1); + } + else + { + (device.CommonDevice as ToggleLight).SwitchControl(0); + } + //鎺у埗寤舵椂鍥炶皟 + DeviceUI.SendCommandDelayAction(device.CommonDevice, () => + { + if (Parent == null) + { + return; + } + RemoveUpdateControlDeviceStatuAction(); + if (sendedControlCommand == false) + { + DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); + } + }); + } /// <summary> /// ON @@ -564,9 +674,9 @@ UserView.HomePage.Instance.AddChidren(detailInfo); UserView.HomePage.Instance.PageIndex += 1; detailInfo.Show(device, room); - detailInfo.EditAction = (d,r) => + detailInfo.EditAction += (curDev, curRoom) => { - Show(device, room); + Show(curDev, curRoom); }; } -- Gitblit v1.8.0