old mode 100755
new mode 100644
| | |
| | | using System; |
| | | using Shared.Common; |
| | | using Shared.Phone.Device.CommonForm; |
| | | using Shared.Phone.Device.DeviceLogic; |
| | | using Shared.Phone.UserView; |
| | | using ZigBee.Device; |
| | | |
| | |
| | | /// <summary> |
| | | /// The action. |
| | | /// </summary> |
| | | public Action action; |
| | | public Action<DeviceUI,Common.Room> action; |
| | | |
| | | /// <summary> |
| | | /// 收藏按钮 |
| | |
| | | /// </summary> |
| | | public bool IsDrawerLockMode; |
| | | |
| | | /// <summary> |
| | | /// ProgressBtn |
| | | /// </summary> |
| | | Button ProgressBtn; |
| | | /// <summary> |
| | | /// ProgressBtnY |
| | | /// </summary> |
| | | int ProgressBtnY; |
| | | /// <summary> |
| | | /// ProgressBtnX |
| | | /// </summary> |
| | | int ProgressBtnX; |
| | | |
| | | #endregion |
| | | |
| | | #region ◆ 接口___________________________ |
| | |
| | | { |
| | | curtainSeekBar.Progress = rollerShade.WcdCurrentPositionLiftPercentage; |
| | | } |
| | | //SeekBar.Progress = rollerShade.WcdCurrentPositionLiftPercentage; |
| | | //seekBarTitle.Text = $"{SeekBar.Progress} %"; |
| | | rollerShade.LastDateTime = DateTime.Now; |
| | | } |
| | | else if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0) |
| | |
| | | /// Changeds the IS cene status. |
| | | /// </summary> |
| | | /// <param name="scene">Scene.</param> |
| | | public void ChangedISceneStatus(Scene scene)
|
| | | {
|
| | | public void ChangedISceneStatus(Scene scene) |
| | | { |
| | | //throw new NotImplementedException(); |
| | | } |
| | | #endregion |
| | |
| | | { |
| | | UserView.HomePage.Instance.ScrollEnabled = true; |
| | | ZigBee.Device.ZbGateway.StatusList.Remove(this); |
| | | //action(); |
| | | //action = null; |
| | | action(device,room); |
| | | action = null; |
| | | RemoveUpdateControlDeviceStatuAction(); |
| | | if (IsDrawerLockMode) |
| | | { |
| | |
| | | { |
| | | UserHomeView.ReadStatus(rollerShade, () => |
| | | { |
| | | rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); |
| | | rollerShade.ReadWcdCurrentPositionLiftPercentage(); |
| | | ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice); |
| | | }); |
| | | } |
| | | else |
| | |
| | | //防止短时间内多次读取 |
| | | if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) |
| | | { |
| | | rollerShade.ReadWcdCurrentPositionLiftPercentage(); |
| | | rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); |
| | | ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice); |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | } |
| | |
| | | Width = Application.GetRealWidth(500), |
| | | Height = Application.GetRealHeight(60), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Text = device.CommonDevice.DeviceEpointName, |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice), |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextSize = 15 |
| | | TextSize = 15, |
| | | IsBold=true |
| | | }; |
| | | itemView.AddChidren(deviceNameBtn); |
| | | |
| | |
| | | Height = Application.GetRealHeight(60), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | TextColor = ZigbeeColor.Current.GXCTextGrayColor, |
| | | Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}" |
| | | Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}", |
| | | TextSize = 10 |
| | | }; |
| | | itemView.AddChidren(StatuBtn); |
| | | |
| | |
| | | } |
| | | |
| | | SetCurtainType(itemView, (device.CommonDevice as Rollershade).WcdType); |
| | | |
| | | |
| | | var roomBG = new Button |
| | | { |
| | | Y = Application.GetRealHeight(1178 - 50), |
| | |
| | | Height = Application.GetRealHeight(50), |
| | | Text = room.Name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.GXCTextWhiteColor |
| | | TextColor = ZigbeeColor.Current.GXCTextWhiteColor, |
| | | TextSize = 12 |
| | | }; |
| | | itemView.AddChidren(roomName); |
| | | } |
| | |
| | | //upBtn.MouseUpEventHandler += Up; |
| | | //stopBtn.MouseUpEventHandler += Stop; |
| | | //downBtn.MouseUpEventHandler += Down; |
| | | //SeekBar.ProgressChanged += SeekBar_ProgressChange; |
| | | //collectionBtn.MouseUpEventHandler += Collection; |
| | | //moreBtn.MouseUpEventHandler += More; |
| | | //roomBtn.MouseUpEventHandler += BackToRoomHandler; |
| | | //roomName.MouseUpEventHandler += BackToRoomHandler; |
| | | collectionBtn.MouseUpEventHandler += Collection; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ◆ 控制___________________________ |
| | | |
| | | /// <summary> |
| | | /// 滑条移动发送命令 |
| | | /// </summary> |
| | | /// <param name="sender">Sender.</param> |
| | | /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> |
| | | private void SeekBar_ProgressChange(object sender, int mouseEventArgs) |
| | | { |
| | | //seekBarTitle.Text = $"{SeekBar.Progress}%"; |
| | | //(device.CommonDevice as ZigBee.Device.Rollershade).WcdGoToTiltValue(SeekBar.Progress); |
| | | } |
| | | |
| | | #region ◆ 控制__________________________ |
| | | |
| | | /// <summary> |
| | | /// 上、开 |
| | |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(device, room); |
| | | detailInfo.action = () => |
| | | detailInfo.EditAction += (curDev,curRoom) => |
| | | { |
| | | Show(device, room); |
| | | Show(curDev, curRoom); |
| | | }; |
| | | } |
| | | |
| | |
| | | curtainRollSeekBar.Gravity = Gravity.CenterHorizontal; |
| | | curtainRollSeekBar.Progress = (device.CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage; |
| | | layout.AddChidren(curtainRollSeekBar); |
| | | |
| | | curtainRollSeekBar.IsProgressTextShow = false; |
| | | curtainRollSeekBar.CurtainPaddingTop = Application.GetRealHeight(110); |
| | | curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) => |
| | | { |
| | | (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); |
| | | }; |
| | | |
| | | curtainRollSeekBar.OnStartTrackingTouchEvent += (sender, e) => |
| | | { |
| | | OnProgressButtonMove(curtainRollSeekBar.Progress); |
| | | ProgressBtn.Visible = true; |
| | | }; |
| | | |
| | | curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) => |
| | | { |
| | | ProgressBtn.Visible = false; |
| | | }; |
| | | |
| | | curtainRollSeekBar.OnProgressChangedEvent += (send2, e2) => |
| | | { |
| | | |
| | | OnProgressButtonMove(e2); |
| | | |
| | | //判断是否300ms屏蔽 |
| | | //if (curtainRollSeekBar.IsProgressChangeDelay()) return; |
| | | |
| | | //(device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); |
| | | }; |
| | | |
| | | InitProgressBtn(layout); |
| | | } |
| | | else |
| | | { |
| | |
| | | curtainSeekBar.Width = Application.GetRealWidth(570); |
| | | curtainSeekBar.Height = Application.GetRealHeight(513); |
| | | curtainSeekBar.Gravity = Gravity.CenterHorizontal; |
| | | curtainSeekBar.IsProgressTextShow = false; |
| | | curtainSeekBar.Progress = (device.CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage; |
| | | layout.AddChidren(curtainSeekBar); |
| | | |
| | | curtainSeekBar.OnStopTrackingTouchEvent += (sender, e) => |
| | | { |
| | | (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); |
| | | (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainSeekBar.Progress); |
| | | }; |
| | | |
| | | curtainSeekBar.OnStartTrackingTouchEvent += (sender, e) => |
| | | { |
| | | OnProgressButtonMoveForCurtain(curtainSeekBar.Progress); |
| | | ProgressBtn.Visible = true; |
| | | }; |
| | | |
| | | curtainSeekBar.OnStopTrackingTouchEvent += (sender, e) => |
| | | { |
| | | ProgressBtn.Visible = false; |
| | | }; |
| | | |
| | | curtainSeekBar.OnProgressChangedEvent += (send2, e2) => |
| | | { |
| | | |
| | | OnProgressButtonMoveForCurtain(e2); |
| | | |
| | | //判断是否300ms屏蔽 |
| | | //if (curtainRollSeekBar.IsProgressChangeDelay()) return; |
| | | |
| | | //(device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress); |
| | | }; |
| | | InitProgressBtnForCurtain(layout); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加进度按钮 |
| | | /// </summary> |
| | | private void InitProgressBtn(FrameLayout layout) |
| | | { |
| | | ProgressBtnY = curtainRollSeekBar.Y - Application.GetMinReal(204); |
| | | ProgressBtn = new Button() |
| | | { |
| | | Y = ProgressBtnY, |
| | | Width = Application.GetMinReal(135), |
| | | Height = Application.GetMinReal(104), |
| | | UnSelectedImagePath = "Item/ProgressBubbles.png", |
| | | Visible = false, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | TextSize=14, |
| | | IsBold=true, |
| | | TextColor=ZigbeeColor.Current.GXCTextWhiteColor |
| | | }; |
| | | layout.AddChidren(ProgressBtn); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// OnProgressButtonMove
|
| | | /// </summary>
|
| | | private void OnProgressButtonMove(int mProgress)
|
| | | {
|
| | | ProgressBtn.Y = ProgressBtnY + curtainRollSeekBar.NowProgressY;
|
| | | ProgressBtn.Text = mProgress + "%";
|
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 添加进度按钮 |
| | | /// </summary> |
| | | private void InitProgressBtnForCurtain(FrameLayout layout) |
| | | { |
| | | ProgressBtnX = curtainSeekBar.X - Application.GetMinReal(20); |
| | | ProgressBtn = new Button() |
| | | { |
| | | X = ProgressBtnX, |
| | | Y = curtainSeekBar.Y + curtainSeekBar.Height / 2 - Application.GetMinReal(180), |
| | | Width = Application.GetMinReal(135), |
| | | Height = Application.GetMinReal(104), |
| | | UnSelectedImagePath = "Item/ProgressBubbles.png", |
| | | Visible = false, |
| | | TextSize = 14, |
| | | IsBold = true, |
| | | TextColor = ZigbeeColor.Current.GXCTextWhiteColor |
| | | }; |
| | | layout.AddChidren(ProgressBtn); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// OnProgressButtonMove
|
| | | /// </summary>
|
| | | private void OnProgressButtonMoveForCurtain(int mProgress)
|
| | | {
|
| | | ProgressBtn.X = ProgressBtnX + curtainSeekBar.NowProgressX- Application.GetMinReal(5);
|
| | | ProgressBtn.Text = mProgress + "%";
|
| | | } |
| | | |
| | | #endregion |
| | | |
| | |
| | | /// <param name="e">E.</param> |
| | | private void Collection(object sender, MouseEventArgs e) |
| | | { |
| | | //collection |
| | | if (collectionBtn.IsSelected) |
| | | { |
| | | Shared.Common.Room.Lists[0].DeleteDevice(device.FileName); |
| | | Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName); |
| | | collectionBtn.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | Shared.Common.Room.Lists[0].AddDevice(device.FileName); |
| | | Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName); |
| | | collectionBtn.IsSelected = true; |
| | | } |
| | | } |