| | |
| | | using System.Collections.Generic; |
| | | using HDL_ON.DriverLayer; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.CSS; |
| | | using HDL_ON.UI.Music; |
| | | using Shared; |
| | | |
| | |
| | | { |
| | | public partial class FunctionControlZone |
| | | { |
| | | /// <summary> |
| | | /// 更新开关状态 |
| | | /// </summary> |
| | | /// <param name="upfunc"></param> |
| | | public static void UpdataOnOffState(Function upfunc) |
| | | { |
| | | if(bodyDiv!= null) |
| | | { |
| | | Application.RunOnMainThread(() => { |
| | | if(bodyDiv.Tag.ToString() == upfunc.sid) |
| | | { |
| | | for (var o = 0; o < bodyDiv.ChildrenCount; o++) |
| | | { |
| | | if (bodyDiv.GetChildren(o).GetType() == typeof(Button)) |
| | | { |
| | | var btn = bodyDiv.GetChildren(o) as Button; |
| | | if (btn.Tag != null) |
| | | { |
| | | if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar") |
| | | { |
| | | btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on"; |
| | | } |
| | | } |
| | | } |
| | | else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar)) |
| | | { |
| | | var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar; |
| | | if (btn.Tag != null) |
| | | { |
| | | if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar") |
| | | { |
| | | btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // /// <summary> |
| | | // /// 更新开关状态 |
| | | // /// </summary> |
| | | // /// <param name="upfunc"></param> |
| | | // public static void UpdataOnOffState(Function upfunc) |
| | | // { |
| | | // if(bodyDiv!= null) |
| | | // { |
| | | // Application.RunOnMainThread(() => { |
| | | // if(bodyDiv.Tag.ToString() == upfunc.sid) |
| | | // { |
| | | // for (var o = 0; o < bodyDiv.ChildrenCount; o++) |
| | | // { |
| | | // if (bodyDiv.GetChildren(o).GetType() == typeof(Button)) |
| | | // { |
| | | // var btn = bodyDiv.GetChildren(o) as Button; |
| | | // if (btn.Tag != null) |
| | | // { |
| | | // if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar") |
| | | // { |
| | | // btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on"; |
| | | // } |
| | | // } |
| | | // } |
| | | // else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar)) |
| | | // { |
| | | // var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar; |
| | | // if (btn.Tag != null) |
| | | // { |
| | | // if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar") |
| | | // { |
| | | // btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness)); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | // } |
| | | // }); |
| | | // } |
| | | // } |
| | | /// <summary> |
| | | /// 更新在线状态 |
| | | /// </summary> |
| | | public void UpdataOnline(bool online) |
| | | { |
| | | if (bodyDiv != null) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | bodyDiv.BackgroundColor = online ? CSS_Color.MainBackgroundColor : CSS_Color.PromptingColor2; |
| | | bodyDiv.btnOffline.Visible = !online; |
| | | }); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 更新亮度状态 |
| | | /// </summary> |
| | | /// <param name="upfunc"></param> |
| | | static void UpdataBrightnessState(Function upfunc) |
| | | { |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | |
| | | btnSwitch.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (!function.online)//离线不允许操作 |
| | | { |
| | | new Tip() |
| | | { |
| | | CloseTime = 1, |
| | | Text = Language.StringByID(StringId.DeviceOfflineCannotOption), |
| | | Direction = AMPopTipDirection.None, |
| | | }.Show(MainPage.BaseView); |
| | | return; |
| | | } |
| | | btnSwitch.IsSelected = !btnSwitch.IsSelected; |
| | | |
| | | if(SPK.NotStatusSpkList.Contains( function.spk )) |
| | |
| | | } |
| | | #region 灯光的事件列表 |
| | | |
| | | /// <summary> |
| | | /// 灯光开关事件 |
| | | /// </summary> |
| | | void LoadEvent_LightSwitch(Button btnSwitch) |
| | | { |
| | | btnSwitch.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | btnSwitch.IsSelected = !btnSwitch.IsSelected; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | if (SPK.LightSpkList().Contains( function.spk)) |
| | | { |
| | | function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add("on_off", function.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 灯光亮度调节事件 |
| | | /// </summary> |
| | | void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar) |
| | | { |
| | | if(function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) |
| | | if (!function.online)//离线不允许操作 |
| | | { |
| | | //new Tip() |
| | | //{ |
| | | // CloseTime = 1, |
| | | // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), |
| | | // Direction = AMPopTipDirection.None, |
| | | //}.Show(MainPage.BaseView); |
| | | return; |
| | | } |
| | | if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) |
| | | { |
| | | dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => { |
| | | onDimmerBar = true; |
| | |
| | | }; |
| | | dimmerControlBar.OnProgressChangedEvent = (sender, e) => { |
| | | dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; |
| | | //light.brightness = e; |
| | | //light.trait_on_off.curValue = e > 0 ? "on" : "off"; |
| | | function.SetAttrState(FunctionAttributeKey.Brightness, e); |
| | | function.trait_on_off.curValue = e > 0 ? "on" : "off"; |
| | | |
| | | //if (e == 0 || e == 100) |
| | | //{ |
| | | // //Control.Send(CommandType_A.write, light); |
| | | // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); |
| | | // d.Add("brightness", light.brightness.ToString()); |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | //} |
| | | //else |
| | | //{ |
| | | // var tm = (DateTime.Now - light.refreshTime).TotalMilliseconds; |
| | | // Console.WriteLine("skip time "+tm); |
| | | // if (300 < tm) |
| | | // { |
| | | // light.refreshTime = DateTime.Now; |
| | | // new System.Threading.Thread(() => |
| | | // { |
| | | // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); |
| | | // d.Add("brightness", light.brightness.ToString()); |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | // }) |
| | | // { IsBackground = true }.Start(); |
| | | // } |
| | | //} |
| | | if (e == 0 || e == 100) |
| | | { |
| | | //Control.Send(CommandType_A.write, light); |
| | | System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); |
| | | d.Add("brightness", e.ToString()); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | } |
| | | else |
| | | { |
| | | var tm = (DateTime.Now - function.refreshTime).TotalMilliseconds; |
| | | Console.WriteLine("skip time " + tm); |
| | | if (500 < tm) |
| | | { |
| | | function.refreshTime = DateTime.Now; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); |
| | | d.Add("brightness", e.ToString()); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | } |
| | | }; |
| | | } |
| | | |
| | |
| | | /// <param name="btnStop"></param> |
| | | /// <param name="btnOpen"></param> |
| | | /// <param name="btnClose"></param> |
| | | void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Function curtain) |
| | | void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose) |
| | | { |
| | | btnClose.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //if (!function.online)//离线不允许操作 |
| | | //{ |
| | | // new Tip() |
| | | // { |
| | | // CloseTime = 1, |
| | | // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), |
| | | // Direction = AMPopTipDirection.None, |
| | | // }.Show(MainPage.BaseView); |
| | | // return; |
| | | //} |
| | | btnClose.IsSelected = true; |
| | | btnStop.IsSelected = false; |
| | | btnOpen.IsSelected = false; |
| | | curtain.trait_on_off.curValue = "off"; |
| | | curtain.SetAttrState(FunctionAttributeKey.Percent, 0); |
| | | function.trait_on_off.curValue = "off"; |
| | | function.SetAttrState(FunctionAttributeKey.Percent, 0); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(curtain, d); |
| | | d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | }; |
| | | |
| | | btnStop.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //if (!function.online)//离线不允许操作 |
| | | //{ |
| | | // new Tip() |
| | | // { |
| | | // CloseTime = 1, |
| | | // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), |
| | | // Direction = AMPopTipDirection.None, |
| | | // }.Show(MainPage.BaseView); |
| | | // return; |
| | | //} |
| | | btnStop.IsSelected = true; |
| | | btnClose.IsSelected = false; |
| | | btnOpen.IsSelected = false; |
| | | curtain.trait_on_off.curValue = "stop"; |
| | | function.trait_on_off.curValue = "stop"; |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(curtain, d); |
| | | d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | }; |
| | | |
| | | btnOpen.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //if (!function.online)//离线不允许操作 |
| | | //{ |
| | | // new Tip() |
| | | // { |
| | | // CloseTime = 1, |
| | | // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), |
| | | // Direction = AMPopTipDirection.None, |
| | | // }.Show(MainPage.BaseView); |
| | | // return; |
| | | //} |
| | | btnOpen.IsSelected = true; |
| | | btnClose.IsSelected = false; |
| | | btnStop.IsSelected = false; |
| | | curtain.trait_on_off.curValue = "on"; |
| | | curtain.SetAttrState(FunctionAttributeKey.Percent, 100); |
| | | function.trait_on_off.curValue = "on"; |
| | | function.SetAttrState(FunctionAttributeKey.Percent, 100); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(curtain, d); |
| | | d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | }; |
| | | } |
| | | #endregion |
| | |
| | | }; |
| | | btnUp.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (!function.online)//离线不允许操作 |
| | | { |
| | | new Tip() |
| | | { |
| | | CloseTime = 1, |
| | | Text = Language.StringByID(StringId.DeviceOfflineCannotOption), |
| | | Direction = AMPopTipDirection.None, |
| | | }.Show(MainPage.BaseView); |
| | | return; |
| | | } |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(2000); |
| | |
| | | }; |
| | | btnDown.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (!function.online)//离线不允许操作 |
| | | { |
| | | new Tip() |
| | | { |
| | | CloseTime = 1, |
| | | Text = Language.StringByID(StringId.DeviceOfflineCannotOption), |
| | | Direction = AMPopTipDirection.None, |
| | | }.Show(MainPage.BaseView); |
| | | return; |
| | | } |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(2000); |
| | |
| | | /// <param name="btnOpen"></param> |
| | | /// <param name="btnClose"></param> |
| | | /// <param name="curtain"></param> |
| | | void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, A31MusicModel a31player) |
| | | void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, Function a31player) |
| | | { |
| | | if (a31player == null) |
| | | return; |
| | |
| | | btnPrev.MouseDownEventHandler = (sender, e) => |
| | | { |
| | | btnPrev.IsSelected = true; |
| | | SendMethod.Previous(a31player); |
| | | a31player.SetAttrState("song_step", "up"); |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | dic.Add("song_step", "up"); |
| | | SendMethod.Current.SendControlCommand(a31player, dic); |
| | | }; |
| | | btnPrev.MouseUpEventHandler = (sender, e) => |
| | | { |
| | |
| | | ///暂停/播放点击事件 |
| | | btnPlay.MouseDownEventHandler = (sender, e) => |
| | | { |
| | | string status = "off"; |
| | | if (btnPlay.IsSelected) |
| | | { |
| | | btnPlay.IsSelected = false; |
| | | SendMethod.Pause(a31player); |
| | | a31player.A31PlayStatus.status = "pause"; |
| | | status = "off"; |
| | | } |
| | | else |
| | | { |
| | | btnPlay.IsSelected = true; |
| | | SendMethod.Play(a31player); |
| | | a31player.A31PlayStatus.status = "play"; |
| | | status = "on"; |
| | | } |
| | | a31player.SetAttrState("on_off", status); |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | dic.Add("on_off", status); |
| | | SendMethod.Current.SendControlCommand(a31player, dic); |
| | | }; |
| | | ///下一曲点击事件 |
| | | btnNext.MouseDownEventHandler = (sender, e) => |
| | | { |
| | | btnNext.IsSelected = true; |
| | | SendMethod.Next(a31player); |
| | | a31player.SetAttrState("song_step", "down"); |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | dic.Add("song_step", "down"); |
| | | SendMethod.Current.SendControlCommand(a31player, dic); |
| | | }; |
| | | btnNext.MouseUpEventHandler = (sender, e) => |
| | | { |
| | |
| | | /// </summary> |
| | | void LoadEvent_DivSkipEvent() |
| | | { |
| | | var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor); |
| | | if (function.spk == SPK.GroupControl) |
| | | { |
| | | EventHandler<MouseEventArgs> handler = (sender, e) => { |
| | | var dialog = new GroupControlPage(FunctionList.List.groupControls.Find((obj) => obj.sid == function.sid)); |
| | | dialog.ShowDialog(); |
| | | }; |
| | | this.MouseUpEventHandler = handler; |
| | | btnName.MouseUpEventHandler = handler; |
| | | btnFromFloor.MouseUpEventHandler = handler; |
| | | return; |
| | | } |
| | | var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor, UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.room,this.action); |
| | | this.MouseUpEventHandler = eventHandler; |
| | | btnName.MouseUpEventHandler = eventHandler; |
| | | btnFromFloor.MouseUpEventHandler = eventHandler; |