From 2bec9c838d2d688025698de8ec1de401ffd7dd1f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 11 八月 2020 14:13:55 +0800 Subject: [PATCH] 20200811 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 277 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 211 insertions(+), 66 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs index 76258c9..66fc68d 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 @@ -9,12 +10,46 @@ /// <summary> /// 鍔犺浇鍔熻兘鏀惰棌鎸夐挳浜嬩欢 /// </summary> - void LoadCollectionEvent() + void LoadEvent_FunctionCollection() { btnCollectionIcon.MouseUpEventHandler += (sender, e) => { btnCollectionIcon.IsSelected = function.collection = !btnCollectionIcon.IsSelected; DB_ResidenceData.residenceData.SaveResidenceData(); + }; + } + /// <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.on_off = 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.on_off.ToString()); + Control.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); }; } #region 鐏厜鐨勪簨浠跺垪琛� @@ -29,11 +64,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.on_off = 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.on_off.ToString()); + Control.SendWriteCommand(function, d); } }) { IsBackground = true }.Start(); @@ -45,90 +83,197 @@ /// </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) => + // { + // 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) { - 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; + }; + dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => { + onDimmerBar = false; + 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.SendWriteCommand(light, d); + }; + dimmerControlBar.OnProgressChangedEvent = (sender, e) => { + light.brightness = e; + light.on_off = 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 + { + if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds) { - light.brightness = e; - Control.Send("write", function); - dimmerControlBar.Tag = DateTime.Now; - }) - { IsBackground = true }.Start(); + 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.SendWriteCommand(light, d); + }) + { IsBackground = true }.Start(); + } + else + { + MainPage.Log("skip dimmer control!!"); + } } }; - 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.on_off = "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.on_off.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.on_off = "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.on_off.ToString()); + Control.SendWriteCommand(curtain, d); + }; + btnOpen.MouseUpEventHandler = (sender, e) => + { + btnOpen.IsSelected = true; + btnClose.IsSelected = false; + btnStop.IsSelected = false; + curtain.on_off = "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.on_off.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