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