From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 16 六月 2020 11:14:13 +0800 Subject: [PATCH] 2020-06-16-1 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 202 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 136 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..99f2f6e 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs @@ -9,12 +9,43 @@ /// <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); + }) + { IsBackground = true }.Start(); }; } #region 鐏厜鐨勪簨浠跺垪琛� @@ -29,11 +60,11 @@ 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); } }) { IsBackground = true }.Start(); @@ -45,39 +76,118 @@ /// </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); + }; + 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); + } + 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); + }) + { 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); + }; + 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); + }; + btnOpen.MouseUpEventHandler = (sender, e) => + { + btnOpen.IsSelected = true; + btnClose.IsSelected = false; + btnStop.IsSelected = false; + curtain.on_off = "on"; + Control.Send(CommandType_A.write, curtain); + }; + } + #endregion + + #region 绌鸿皟浜嬩欢 #endregion /// <summary> @@ -85,50 +195,10 @@ /// </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; } + + } } -- Gitblit v1.8.0