From 8df24b0a3dfd5b6f39c5393ef24eab25b70ab858 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 11 九月 2020 13:18:33 +0800 Subject: [PATCH] 202009111 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 302 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 235 insertions(+), 67 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs index 76258c9..1c95087 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs @@ -1,5 +1,6 @@ 锘縰sing System; using HDL_ON.Entity; +using HDL_ON.UI.Music; using Shared; namespace HDL_ON.UI @@ -7,14 +8,98 @@ 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> - void LoadCollectionEvent() + void LoadEvent_FunctionCollection() { btnCollectionIcon.MouseUpEventHandler += (sender, e) => { btnCollectionIcon.IsSelected = function.collection = !btnCollectionIcon.IsSelected; - DB_ResidenceData.residenceData.SaveResidenceData(); + function.SaveFunctionData(); + }; + } + /// <summary> + /// 鍔犺浇鍦烘櫙鎺у埗浜嬩欢 + /// </summary> + void LoadEvent_ControlScene() + { + EventHandler<MouseEventArgs> upEvent = (sender, e) => { + Control.Send(function); + string msg = function.name + Language.StringByID(StringId.AlreadyOpened); + new PublicAssmebly().TipMsgAutoClose(msg, false); + }; + btnName.MouseUpEventHandler = upEvent; + btnFromFloor.MouseUpEventHandler = upEvent; + bodyDiv.MouseUpEventHandler = upEvent; + } + + /// <summary> + /// 寮�鍏充簨浠� + /// </summary> + void LoadEvent_SwitchFunction(Button btnSwitch) + { + btnSwitch.MouseUpEventHandler = (sender, e) => + { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + new System.Threading.Thread(() => + { + 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.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); }; } #region 鐏厜鐨勪簨浠跺垪琛� @@ -29,11 +114,14 @@ btnSwitch.IsSelected = !btnSwitch.IsSelected; new System.Threading.Thread(() => { - if (function.functionCategory == FunctionType.Light) + if (function.functionCategory == FunctionCategory.Light) { var light = function as Light; - light.on_off = btnSwitch.IsSelected ? 1 : 0; - Control.Send("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.SendWriteCommand(function, d); } }) { IsBackground = true }.Start(); @@ -45,90 +133,170 @@ /// </summary> void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar) { - if (function.functionType == "Dimmer" || function.functionType == "RGB") + if(function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB) { - if (dimmerControlBar == null) - return; - var light = function as Light; - dimmerControlBar.OnProgressChangedEvent += (sender, e) => - { - dimmerControlBar.Tag = DateTime.Now; - if ((DateTime.Now - (DateTime)(dimmerControlBar.Tag)).TotalMilliseconds < 200)//璋冨厜鍛戒护鍙戦�侀棿闅斾簨浠� + 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; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("brightness", light.brightness.ToString()); + Control.SendWriteCommand(light, d); + }; + dimmerControlBar.OnProgressChangedEvent = (sender, e) => { + light.brightness = e; + light.trait_on_off.value = e > 0 ? "on" : "off"; + + if (e == 0 || e == 100) { - 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.SendWriteCommand(light, d); + } + else + { + var tm = (DateTime.Now - light.refreshTime).TotalMilliseconds; + Console.WriteLine("skip time "+tm); + if (300 < tm) { - light.brightness = e; - Control.Send("write", function); - dimmerControlBar.Tag = DateTime.Now; - }) - { IsBackground = true }.Start(); + 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.SendWriteCommand(light, d); + }) + { IsBackground = true }.Start(); + } } }; - dimmerControlBar.MouseUpEventHandler += (sender, e) => - { - light.brightness = dimmerControlBar.Progress; - Control.Send("write", function); - }; } + } #endregion #region 绐楀笜鐨勪簨浠跺垪琛� + /// <summary> + /// 鍔犺浇绐楀笜鎺у埗浜嬩欢 + /// </summary> + /// <param name="btnStop"></param> + /// <param name="btnOpen"></param> + /// <param name="btnClose"></param> + void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Curtain curtain) + { + btnClose.MouseUpEventHandler = (sender, e) => + { + btnClose.IsSelected = true; + btnStop.IsSelected = false; + btnOpen.IsSelected = false; + curtain.trait_on_off.value = "off"; + //Control.Send(CommandType_A.write, curtain); + 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.SendWriteCommand(curtain, d); + }; + btnStop.MouseDownEventHandler = (sender, e) => + { + btnStop.IsSelected = true; + btnClose.IsSelected = false; + btnOpen.IsSelected = false; + }; + btnStop.MouseUpEventHandler = (sender, e) => + { + btnOpen.IsSelected = true; + btnClose.IsSelected = false; + btnStop.IsSelected = false; + curtain.trait_on_off.value = "stop"; + //Control.Send(CommandType_A.write, curtain); + 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.SendWriteCommand(curtain, d); + }; + btnOpen.MouseUpEventHandler = (sender, e) => + { + btnOpen.IsSelected = true; + btnClose.IsSelected = false; + btnStop.IsSelected = false; + curtain.trait_on_off.value = "on"; + //Control.Send(CommandType_A.write, curtain); + 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.SendWriteCommand(curtain, d); + }; + } #endregion + + #region 绌鸿皟浜嬩欢 + #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() { - EventHandler<MouseEventArgs> eventHandler = (sender, e) => - { - //璺宠浆鍒板姛鑳戒俊鎭缃〉闈� - switch (function.functionType) - { - case "Relay": - var relayView = new RelayPage(function as Light); - MainPage.BasePageView.AddChidren(relayView); - relayView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - break; - case "RGB": - var rgbView = new RGBPage(function as Light); - MainPage.BasePageView.AddChidren(rgbView); - rgbView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - break; - case "Dimmer": - var dimmerView = new DimmerPage(function as Light); - MainPage.BasePageView.AddChidren(dimmerView); - dimmerView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - break; - case "MotorCurtain": - var skinView = new MotorCurtainPage(function); - MainPage.BasePageView.AddChidren(skinView); - skinView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - break; - case "Curtain": - var curtainView = new CurtainModulePage(function); - MainPage.BasePageView.AddChidren(curtainView); - curtainView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - break; - case "AC": - var acView = new ACPage(function); - MainPage.BasePageView.AddChidren(acView); - acView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - break; - } - }; + var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor); this.MouseUpEventHandler = eventHandler; + btnName.MouseUpEventHandler = eventHandler; + btnFromFloor.MouseUpEventHandler = eventHandler; } + + } } -- Gitblit v1.8.0