From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 03 三月 2021 16:03:03 +0800 Subject: [PATCH] 20210303-1 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 343 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 274 insertions(+), 69 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs index 76258c9..692d673 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs @@ -1,5 +1,8 @@ 锘縰sing System; +using System.Collections.Generic; +using HDL_ON.DriverLayer; using HDL_ON.Entity; +using HDL_ON.UI.Music; using Shared; namespace HDL_ON.UI @@ -7,14 +10,89 @@ 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 = (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(); + btnCollectionIcon.IsSelected = function.collect = !btnCollectionIcon.IsSelected; + function.CollectFunction(); + }; + } + + /// <summary> + /// 寮�鍏充簨浠� + /// </summary> + void LoadEvent_SwitchFunction(Button btnSwitch,FunctionAttributes fadeTime = null) + { + btnSwitch.MouseUpEventHandler = (sender, e) => + { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + new System.Threading.Thread(() => + { + function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + if(fadeTime!= null) + { + int result = 0; + int.TryParse(fadeTime.curValue.ToString(), out result); + d.Add(FunctionAttributeKey.FadeTime, result.ToString()); + } + Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); }; } #region 鐏厜鐨勪簨浠跺垪琛� @@ -29,11 +107,14 @@ btnSwitch.IsSelected = !btnSwitch.IsSelected; new System.Threading.Thread(() => { - if (function.functionCategory == FunctionType.Light) + if (function.Spk_Prefix == FunctionCategory.Light) { var light = function as Light; - light.on_off = btnSwitch.IsSelected ? 1 : 0; - Control.Send("write", function); + light.trait_on_off.curValue = 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.curValue.ToString()); + Control.Ins.SendWriteCommand(function, d); } }) { IsBackground = true }.Start(); @@ -45,90 +126,214 @@ /// </summary> void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar) { - if (function.functionType == "Dimmer" || function.functionType == "RGB") + if(function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) { - 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)//璋冨厜鍛戒护鍙戦�侀棿闅斾簨浠� - { - new System.Threading.Thread(() => - { - light.brightness = e; - Control.Send("write", function); - dimmerControlBar.Tag = DateTime.Now; - }) - { IsBackground = true }.Start(); - } + dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => { + onDimmerBar = true; + (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = false; }; - dimmerControlBar.MouseUpEventHandler += (sender, e) => - { + dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => { + onDimmerBar = false; + (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = true; light.brightness = dimmerControlBar.Progress; - Control.Send("write", function); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("brightness", light.brightness.ToString()); + Control.Ins.SendWriteCommand(light, d); + }; + dimmerControlBar.OnProgressChangedEvent = (sender, e) => { + dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; + //light.brightness = e; + //light.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(); + // } + //} }; } + } #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.curValue = "off"; + curtain.percent = 0; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + }; + btnStop.MouseUpEventHandler = (sender, e) => + { + btnStop.IsSelected = true; + btnClose.IsSelected = false; + btnOpen.IsSelected = false; + curtain.trait_on_off.curValue = "stop"; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + }; + btnOpen.MouseUpEventHandler = (sender, e) => + { + btnOpen.IsSelected = true; + btnClose.IsSelected = false; + btnStop.IsSelected = false; + curtain.trait_on_off.curValue = "on"; + curtain.percent = 100; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + }; + } #endregion + + + /// <summary> + /// 鍔犺浇鏅捐。鏋舵帶鍒朵簨浠� + /// </summary> + void LoadEvent_ControlClothesHanger(Function function, Button btnUp, Button btnDown) + { + btnUp.MouseDownEventHandler = (sender, e) => + { + btnUp.IsSelected = true; + }; + btnUp.MouseUpEventHandler = (sender, e) => + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnUp.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.SetAttrState(FunctionAttributeKey.Position, "up"); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "up"); + Control.Ins.SendWriteCommand(function, d); + }; + + btnDown.MouseDownEventHandler = (sender, e) => + { + btnDown.IsSelected = true; + }; + btnDown.MouseUpEventHandler = (sender, e) => + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnDown.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + function.SetAttrState(FunctionAttributeKey.Position, "down"); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Position, "down"); + Control.Ins.SendWriteCommand(function, d); + }; + } + + + #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