From 56dfdc1bf7e7f2bb2456f29c3686dfa935a89e80 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 30 六月 2022 13:59:45 +0800 Subject: [PATCH] 2022年06月30日13:59:08 --- HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs | 74 +++++++++++++++++++++++- HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 6 + HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 52 +++++++++++++++++ HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 47 +++++++++++++++ 4 files changed, 172 insertions(+), 7 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 3afc54f..3db5687 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -1084,6 +1084,25 @@ } } break; + case SPK.CurtainDream: + { + string percent = GetKeyValue("percent", dicList); + string angle = GetKeyValue("angle", dicList); + if (percent != "" && angle != "") + { + stateStr += Language.StringByID(StringId.onLogic) + percent + "%;"; + stateStr +=Language.StringByID(StringId.Angle)+angle + "掳"; + } + else if (percent != "") + { + stateStr = Language.StringByID(StringId.onLogic) + percent + "%"; + } + else if (angle != "") + { + stateStr = Language.StringByID(StringId.onLogic) + Language.StringByID(StringId.Angle) + angle + "掳"; + } + } + break; case SPK.AcStandard: case SPK.HvacAC: { @@ -1591,6 +1610,39 @@ } break; + case SPK.CurtainDream: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "percent": + { + if (button1 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button1.Text = value + "%"; + } + break; + case "angle": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button2.Text = value + "掳"; + } + break; + } + + } + + } + break; case SPK.AcStandard: case SPK.HvacAC: { diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index c988fc3..b6334d8 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -346,6 +346,7 @@ case SPK.CurtainSwitch: case SPK.CurtainRoller: case SPK.CurtainTrietex: + case SPK.CurtainDream: { strPath = "LogicIcon/curtainlogic.png"; } @@ -432,7 +433,8 @@ var curtainjosn = deviceList.Find((device) => device.spk == SPK.CurtainSwitch || device.spk == SPK.CurtainTrietex - || device.spk == SPK.CurtainRoller); + || device.spk == SPK.CurtainRoller + || device.spk == SPK.CurtainDream); if (curtainjosn != null) { deviceStrTypeList.Add(Language.StringByID(StringId.Curtain)); @@ -528,6 +530,7 @@ functionTypeList.Add(SPK.CurtainSwitch); functionTypeList.Add(SPK.CurtainRoller); functionTypeList.Add(SPK.CurtainTrietex); + functionTypeList.Add(SPK.CurtainDream); } ///绌鸿皟绫� else if (deviceType == Language.StringByID(StringId.AC)) @@ -704,6 +707,7 @@ deviceTypeList.Add(SPK.AirSwitch); deviceTypeList.Add(SPK.PanelSocket); deviceTypeList.Add(SPK.ElectricSocket); + deviceTypeList.Add(SPK.CurtainDream); } break; } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs index 2bcf99d..ade04dc 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs @@ -130,7 +130,7 @@ /// <param name="titleName">鏍囬鍚嶇О</param> /// <param name="stateValue">涔嬪墠鐘舵�佸��</param> /// <param name="action">杩斿洖鍥炶皟</param> - public void FLayoutView(FrameLayout frame, string titleName,string stateValue, Action<string> action) + public void FLayoutView(FrameLayout frame, string titleName,string stateValue, Action<string,string> action) { FrameLayout fLayout = new FrameLayout { @@ -147,14 +147,33 @@ frameLayout.AddChidren(btn_add); frameLayout.AddChidren(btn_add_click); btnTitle.Text = titleName; + //杩涙潵鐨勭姸鎬� + if (stateValue.Contains("%")) + { + //鐧惧垎姣� + } + else if (stateValue.Contains("掳")) + { + //瑙掑害 + //瑙掑害鍙栧�艰寖鍥� + seekBarVol.MinValue = 0; + seekBarVol.MaxValue = 180; + seekBarVol.ProgressBarUnitSring = "掳"; + } + else + { + //闊抽噺娌℃湁鍗曚綅 + seekBarVol.MinValue = 0; + seekBarVol.MaxValue = 100; + seekBarVol.ProgressBarUnitSring = ""; + } //绗竴涓彉鍖栬褰曢�変腑鍊� int brightnesValue = 0; if (stateValue != "") { try { - //杩涙潵鐨勭姸鎬� - brightnesValue = int.Parse(stateValue.Replace("%", "")); + brightnesValue = int.Parse(UnitDisposeSring(stateValue)); seekBarVol.Progress = brightnesValue; } catch { } @@ -198,16 +217,63 @@ //{ // return; //} - action(brightnesValue.ToString()); + action(brightnesValue.ToString(), UnitSring(stateValue)); //绉婚櫎fLayout鐣岄潰 fLayout.RemoveFromParent(); }; } + /// <summary> + //杩涘害鍊兼樉绀哄崟浣� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public string UnitSring(string str) + { + //杩涙潵鐨勭姸鎬� + if (str.Contains("%")) + { + //鐧惧垎姣� + return "%"; + } + else if (str.Contains("掳")) + { + //瑙掑害 + return "掳"; + } + else { + //娌℃湁鍗曚綅 + return ""; + } + } + /// <summary> + ///鍘诲崟浣� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public string UnitDisposeSring(string str) + { + //杩涙潵鐨勭姸鎬� + if (str.Contains("%")) + { + //鐧惧垎姣� + return str.Replace("%", ""); + } + else if (str.Contains("掳")) + { + //瑙掑害 + return str.Replace("掳", ""); + } + else + { + //娌℃湁鍗曚綅 + return str; + } + } ///// <summary> ///// View鐨勬柟娉� diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 4b7c2fa..2fe4c85 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -186,6 +186,43 @@ #endregion } break; + case SPK.CurtainDream: + { + #region 鐣岄潰 + ///鐧惧垎姣� + LogicView.FunTypeView crtainPercentumView = new LogicView.FunTypeView(); + crtainPercentumView.btnText.TextID = StringId.percentum; + fLayout.AddChidren(crtainPercentumView.FLayoutView()); + crtainPercentumView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06 + ///瑙掑害 + LogicView.FunTypeView AngleView = new LogicView.FunTypeView(); + AngleView.frameLayout.Y = crtainPercentumView.frameLayout.Bottom; + AngleView.btnText.TextID = StringId.Angle; + fLayout.AddChidren(AngleView.FLayoutView()); + AngleView.btnState.Text = "10掳"; + ///璁惧寤舵椂iewv + DelayView(fLayout, AngleView.frameLayout.Bottom); + #endregion + #region 鐐瑰嚮浜嬩欢 + + ///鐧惧垎姣旂偣鍑讳簨浠� + crtainPercentumView.btnClick.MouseUpEventHandler += (sender, e) => + { + BrightnessMethod(device, crtainPercentumView.btnState, crtainPercentumView.btnText.Text); + }; + ///瑙掑害鐐瑰嚮浜嬩欢 + AngleView.btnClick.MouseUpEventHandler += (sender, e) => + { + BrightnessMethod(device, AngleView.btnState, AngleView.btnText.Text); + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, crtainPercentumView.btnState, AngleView.btnState, null, null); + } + #endregion + } + break; case SPK.AcStandard: case SPK.HvacAC: { @@ -647,10 +684,10 @@ //涔嬪墠鐨勭姸鎬佸�� string stateVlaue = button.Text; LogicView.BrightnessView brightness = new LogicView.BrightnessView(); - brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue) => + brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue, unitStr) => { //鐣岄潰鏄剧ず閫変腑鍊� - button.Text = brightnesValue + "%"; + button.Text = brightnesValue + unitStr; selectedState = device.spk + brightnesValue.ToString(); //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = ""; @@ -667,8 +704,14 @@ break; case SPK.CurtainRoller: case SPK.CurtainTrietex: + case SPK.CurtainDream: { keyVlaue = "percent"; + if (unitStr == "掳") + { + //瑙掑害 + keyVlaue = "angle"; + } } break; } -- Gitblit v1.8.0