| | |
| | | /// <summary> |
| | | /// The action. |
| | | /// </summary> |
| | | public Action action; |
| | | public Action<DeviceUI, Common.Room> action; |
| | | |
| | | /// <summary> |
| | | /// The light image. |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | public override void RemoveFromParent() |
| | | { |
| | | ZbGateway.StatusList.Remove(this); |
| | | //action(); |
| | | //action = null; |
| | | action(device, room); |
| | | action = null; |
| | | RemoveUpdateControlDeviceStatuAction(); |
| | | if (IsDrawerLockMode) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | } |
| | |
| | | }; |
| | | 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), |
| | |
| | | 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 |
| | |
| | | /// </summary> |
| | | private void BindEvent() |
| | | { |
| | | OnBtn.MouseUpEventHandler += ON; |
| | | OffBtn.MouseUpEventHandler += OFF; |
| | | collectionBtn.MouseUpEventHandler += Collection; |
| | | } |
| | | |
| | |
| | | /// </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 |
| | |
| | | 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); |
| | | }; |
| | | } |
| | | |