From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 12 十一月 2020 13:36:01 +0800 Subject: [PATCH] 20201112 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 191 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 145 insertions(+), 46 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs index 99f2f6e..5795611 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs @@ -1,11 +1,63 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; +using HDL_ON.UI.Music; using Shared; namespace HDL_ON.UI { 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.value.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 = (upfunc as Light).trait_brightness.value.value.ToString() == "on"; + } + } + } + } + + } + }); + } + } + /// <summary> + /// 鏇存柊浜害鐘舵�� + /// </summary> + /// <param name="upfunc"></param> + static void UpdataBrightnessState(Function upfunc) + { + + } + /// <summary> /// 鍔犺浇鍔熻兘鏀惰棌鎸夐挳浜嬩欢 /// </summary> @@ -14,7 +66,7 @@ btnCollectionIcon.MouseUpEventHandler += (sender, e) => { btnCollectionIcon.IsSelected = function.collection = !btnCollectionIcon.IsSelected; - DB_ResidenceData.residenceData.SaveResidenceData(); + function.SaveFunctionData(); }; } /// <summary> @@ -23,7 +75,7 @@ void LoadEvent_ControlScene() { EventHandler<MouseEventArgs> upEvent = (sender, e) => { - Control.Send(function); + Control.ins.ControlScene(function as Scene); string msg = function.name + Language.StringByID(StringId.AlreadyOpened); new PublicAssmebly().TipMsgAutoClose(msg, false); }; @@ -42,8 +94,11 @@ btnSwitch.IsSelected = !btnSwitch.IsSelected; new System.Threading.Thread(() => { - function.on_off = btnSwitch.IsSelected ? "on" : "off"; - Control.Send(CommandType_A.write, function); + function.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off"; + //Control.Send(CommandType_A.write, function); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", function.trait_on_off.value.ToString()); + Control.ins.SendWriteCommand(function, d); }) { IsBackground = true }.Start(); }; @@ -63,8 +118,11 @@ if (function.functionCategory == FunctionCategory.Light) { var light = function as Light; - light.on_off = btnSwitch.IsSelected ? "on" : "off"; - Control.Send(CommandType_A.write, function); + light.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off"; + //Control.Send(CommandType_A.write, function); + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", function.trait_on_off.value.ToString()); + Control.ins.SendWriteCommand(function, d); } }) { IsBackground = true }.Start(); @@ -76,67 +134,49 @@ /// </summary> void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar) { - //if (function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB) - //{ - // if (dimmerControlBar == null) - // return; - // var light = function as Light; - // dimmerControlBar.OnProgressChangedEvent += (sender, e) => - // { - // if ((DateTime.Now - light.refreshTime).TotalMilliseconds > 200)//璋冨厜鍛戒护鍙戦�侀棿闅斾簨浠� - // { - // new System.Threading.Thread(() => - // { - // light.refreshTime = DateTime.Now; - // light.brightness = e; - // Control.Send(CommandType_A.write, function); - // }) - // { IsBackground = true }.Start(); - // } - // }; - // dimmerControlBar.OnStopTrackingTouchEvent += (sender, e) => - // { - // light.brightness = dimmerControlBar.Progress; - // Control.Send(CommandType_A.write, function); - // }; - //} if(function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB) { var light = function as Light; dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => { onDimmerBar = true; + (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = false; }; dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => { onDimmerBar = false; + (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = true; light.brightness = dimmerControlBar.Progress; - 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); }; dimmerControlBar.OnProgressChangedEvent = (sender, e) => { light.brightness = e; - light.on_off = e > 0 ? "on" : "off"; + light.trait_on_off.value = e > 0 ? "on" : "off"; if (e == 0 || e == 100) { - Control.Send(CommandType_A.write, light); + //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 { - if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds) + var tm = (DateTime.Now - light.refreshTime).TotalMilliseconds; + Console.WriteLine("skip time "+tm); + if (300 < tm) { light.refreshTime = DateTime.Now; new System.Threading.Thread(() => { - 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); }) { IsBackground = true }.Start(); } - else - { - MainPage.Log("skip dimmer control!!"); - } } }; - } } @@ -157,8 +197,11 @@ btnClose.IsSelected = true; btnStop.IsSelected = false; btnOpen.IsSelected = false; - curtain.on_off = "off"; - Control.Send(CommandType_A.write, curtain); + curtain.trait_on_off.value = "off"; + curtain.percent = 0; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.value.ToString()); + Control.ins.SendWriteCommand(curtain, d); }; btnStop.MouseDownEventHandler = (sender, e) => @@ -172,8 +215,11 @@ btnOpen.IsSelected = true; btnClose.IsSelected = false; btnStop.IsSelected = false; - curtain.on_off = "stop"; - Control.Send(CommandType_A.write, curtain); + curtain.trait_on_off.value = "stop"; + //curtain.percent = 0; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.value.ToString()); + Control.ins.SendWriteCommand(curtain, d); }; btnOpen.MouseUpEventHandler = (sender, e) => @@ -181,8 +227,11 @@ btnOpen.IsSelected = true; btnClose.IsSelected = false; btnStop.IsSelected = false; - curtain.on_off = "on"; - Control.Send(CommandType_A.write, curtain); + curtain.trait_on_off.value = "on"; + curtain.percent = 100; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.value.ToString()); + Control.ins.SendWriteCommand(curtain, d); }; } #endregion @@ -191,12 +240,62 @@ #endregion /// <summary> + /// 闊充箰鎺у埗浜嬩欢鍒楄〃 + /// </summary> + /// <param name="btnStop"></param> + /// <param name="btnOpen"></param> + /// <param name="btnClose"></param> + /// <param name="curtain"></param> + void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, A31MusicModel a31player) + { + ///涓婁竴鏇茬偣鍑讳簨浠� + btnPrev.MouseDownEventHandler = (sender, e) => + { + btnPrev.IsSelected = true; + SendMethod.Previous(a31player); + }; + btnPrev.MouseUpEventHandler = (sender, e) => + { + btnPrev.IsSelected = false; + }; + ///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢 + btnPlay.MouseDownEventHandler = (sender, e) => + { + if (btnPlay.IsSelected) + { + btnPlay.IsSelected = false; + SendMethod.Pause(a31player); + a31player.A31PlayStatus.status = "pause"; + } + else + { + btnPlay.IsSelected = true; + SendMethod.Play(a31player); + a31player.A31PlayStatus.status = "play"; + } + }; + ///涓嬩竴鏇茬偣鍑讳簨浠� + btnNext.MouseDownEventHandler = (sender, e) => + { + btnNext.IsSelected = true; + SendMethod.Next(a31player); + }; + btnNext.MouseUpEventHandler = (sender, e) => + { + btnNext.IsSelected = false; + }; + + } + + /// <summary> /// 鎺у埗鐣岄潰璺宠浆 /// </summary> void LoadEvent_DivSkipEvent() { var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor); this.MouseUpEventHandler = eventHandler; + btnName.MouseUpEventHandler = eventHandler; + btnFromFloor.MouseUpEventHandler = eventHandler; } -- Gitblit v1.8.0