From edfb48fa10b0518311ee46bef4aded0859069d16 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 18 七月 2023 17:51:52 +0800
Subject: [PATCH] 2023年07月18日17:50:46
---
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/RGBColorView.cs | 249 +++++++++++++++++++++++++++++++
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 6
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 49 +++++
HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 6
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs | 13 +
HDL_ON/HDL_ON.projitems | 1
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 115 +++++++++++++
7 files changed, 427 insertions(+), 12 deletions(-)
diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems
index 2943751..54b81c4 100644
--- a/HDL_ON/HDL_ON.projitems
+++ b/HDL_ON/HDL_ON.projitems
@@ -551,6 +551,7 @@
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorLockPage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorLockListPage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\GroupControlPage.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\RGBColorView.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index bd46f2d..eb5a27b 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -1405,7 +1405,7 @@
string value = dic["value"];
if (dictionaryA["key"] == key && dictionaryA["comparator"] == comparatorValue)
{
- if (this.checkSpk())
+ if (this.CheckSpk())
{
//鏈変簺璁惧闇�瑕佸鍔犺繖涓垽鏂�
if (dictionaryA["value"] == value)
@@ -1429,7 +1429,7 @@
/// 妫�鏌ユ槸鍚︽敮鎸�
/// </summary>
/// <returns></returns>
- private bool checkSpk()
+ private bool CheckSpk()
{
if (this.function.spk == SPK.VideoDoorLock ||
this.function.spk == SPK.doorgate
@@ -1439,7 +1439,7 @@
}
return false;
- }
+ }
/// <summary>
/// 鍒ゆ柇dictionaryB鏄惁瀹屾暣鍖呭惈鍙︿竴涓猟ictionaryA
/// </summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 430bd42..52570e4 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -1071,9 +1071,28 @@
stateStr += "," +GetKeyValue("cct", dicList) + "k";
}
}
+ if (device.spk == SPK.LightRGB)
+ {
+ string rgb = GetKeyValue("rgb", dicList);
+ if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6)
+ {
+ targetView.btnStateColor.Visible = true;
+ targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb);
+ }
+ }
+ if (device.spk == SPK.LightRGBW)
+ {
+ string rgb = GetKeyValue("rgbw", dicList);
+ if (!string.IsNullOrEmpty(rgb) && rgb.Length > 6)
+ {
+ targetView.btnStateColor.Visible = true;
+ targetView.btnStateColor.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(rgb);
+ }
+ }
}
break;
+
case SPK.CurtainSwitch:
{
foreach (var dic in dicList)
@@ -1170,8 +1189,12 @@
if (set_temp != "")
{
- string unit = device.GetAttribute("temperature_type") == null ? "掳" : device.GetAttribute("temperature_type").state;
- stateStr += set_temp + unit+",";
+ string unit = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state;
+ if (string.IsNullOrEmpty(unit))
+ {
+ unit = "鈩�";
+ }
+ stateStr += set_temp + unit + ",";
}
if (mode != "")
@@ -1268,7 +1291,11 @@
}
if (set_temp != "")
{
- string unit = device.GetAttribute("temperature_type") == null ? "掳" : device.GetAttribute("temperature_type").state;
+ string unit = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state;
+ if (string.IsNullOrEmpty(unit))
+ {
+ unit = "鈩�";
+ }
stateStr += set_temp + unit + ",";
}
if (mode != "")
@@ -1614,6 +1641,22 @@
button3.Text = value + "k";
}
break;
+ case "rgb":
+ case "rgbw":
+ {
+ if (button3 == null)
+ {
+ //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
+ break;
+ }
+ if (!string.IsNullOrEmpty(value) && value.Length > 6)
+ {
+ button3.BackgroundColor = new LogicView.RGBColorView().GetBackgroundColor(value);
+ button3.Tag = value;
+ }
+ }
+ break;
+
}
}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
index 4cd73dc..8815827 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -187,7 +187,7 @@
var list2 = this.GetVideoDeviceList();
list.AddRange(list1);
list.AddRange(list2);
- //GetTestDevice(ref list, true);
+ GetTestDevice(ref list, true);
return list;
}
/// <summary>
@@ -1197,7 +1197,9 @@
// new Entity.Function { sid = "1234567899", name = "闂ㄧ浼犳劅鍣�", spk = Entity.SPK.SensorDoorWindow },
// new Entity.Function { sid = "12345678991234", name = "HDL鏈烘鎵�", spk = Entity.SPK.MechanicalArm },
// new Entity.Function { sid = "123456789912345", name = "娴锋浖鏈烘鎵�", spk = Entity.SPK.MechanicalArm },
- // new Entity.Function { sid = "12345678991234566", name = "娴锋浖鏈烘鎵�", spk = Entity.SPK.MechanicalArm },
+ new Entity.Function { sid = "123456789912345668", name = "AC", spk = Entity.SPK.AcIr },
+ new Entity.Function { sid = "12345678991234567", name = "RGB", spk = Entity.SPK.LightRGB },
+ new Entity.Function { sid = "123456789912345678", name = "RGBW", spk = Entity.SPK.LightRGBW },
};
foreach (var function in functions)
{
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs
index 96dc683..a1c9ea6 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs
@@ -62,6 +62,17 @@
X = Application.GetRealWidth(165-10),
TextAlignment = TextAlignment.CenterRight,
};
+ /// <summary>
+ /// 锛堟潯浠舵垨鑰呯洰鏍囷級鑹茬洏涓撶敤
+ /// </summary>
+ public Button btnStateColor = new Button
+ {
+ Width = Application.GetRealWidth(10),
+ Height = Application.GetRealWidth(10),
+ Radius = (uint)Application.GetRealHeight(5),
+ X = Application.GetRealWidth(315 - 10),
+ Visible=false,
+ };
/// <summary>
/// 锛堟潯浠舵垨鑰呯洰鏍囷級鍥炬爣
@@ -122,12 +133,14 @@
verticalScrolView.AddChidren(frameLayout);
frameLayout.AddChidren(rowLayout);
btnIcon.Gravity = Gravity.CenterVertical;
+ btnStateColor.Gravity = Gravity.CenterVertical;
btnText.Gravity = Gravity.CenterVertical;
btnText.TextAlignment = TextAlignment.CenterLeft;
btnNextIcon.Gravity = Gravity.CenterVertical;
rowLayout.AddChidren(btnIcon);
rowLayout.AddChidren(btnText);
rowLayout.AddChidren(btnState);
+ rowLayout.AddChidren(btnStateColor);
rowLayout.AddChidren(btnNextIcon);
rowLayout.AddRightView(btnDelay);
rowLayout.AddRightView(btnDel);
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/RGBColorView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/RGBColorView.cs
new file mode 100644
index 0000000..3b04843
--- /dev/null
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/RGBColorView.cs
@@ -0,0 +1,249 @@
+锘縰sing System;
+using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+
+namespace HDL_ON.UI.UI2.Intelligence.Automation.LogicView
+{
+ public class RGBColorView
+ {
+ public RGBColorView()
+ {
+ }
+ ///聽<summary>
+ 聽聽聽聽聽聽聽聽///聽鍔犺浇rgb閫夋嫨寮圭獥
+ 聽聽聽聽聽聽聽聽///聽</summary>
+ 聽聽聽聽聽聽聽聽///聽<param聽name="function"></param>
+ 聽聽聽聽聽聽聽聽///聽<param聽name="btn"></param>
+ public void LoadRGBDialog(string stateRGBValue, Action<string> action)
+ {
+ string rgbString = "";
+
+ Light tempLight = new Light();
+
+ if (string.IsNullOrEmpty(stateRGBValue))
+ {
+ stateRGBValue = "255,255,255";
+ }
+
+ Dialog dialog = new Dialog()
+ {
+ Height = Application.GetRealHeight(647),
+ };
+
+ var bodyView = new FrameLayout();
+ dialog.AddChidren(bodyView);
+
+ var contentView = new FrameLayout()
+ {
+ Gravity = Gravity.BottomCenter,
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(300),
+ Radius = (uint)Application.GetRealWidth(12),
+ };
+ bodyView.AddChidren(contentView);
+
+聽聽聽聽聽聽聽聽聽聽聽聽#region聽鏍囬鍖�
+聽聽聽聽聽聽聽聽聽聽聽聽var titleView = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(52),
+ };
+ contentView.AddChidren(titleView);
+
+ var btnTitle = new Button()
+ {
+ Height = Application.GetRealHeight(52),
+ Gravity = Gravity.Center,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextColor = CSS_Color.MainColor,
+ Text = "RGB",
+ TextAlignment = TextAlignment.Center,
+ };
+ titleView.AddChidren(btnTitle);
+ titleView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor, Y = Application.GetRealHeight(51) });
+
+聽聽聽聽聽聽聽聽聽聽聽聽#endregion
+
+聽聽聽聽聽聽聽聽聽聽聽聽int attrViewHight = Application.GetRealHeight(245);
+聽聽聽聽聽聽聽聽聽聽聽聽//灞炴�ц缃尯鍩�
+聽聽聽聽聽聽聽聽聽聽聽聽var attrView = new FrameLayout()
+ {
+ Y = Application.GetRealHeight(52),
+ Width = Application.GetRealWidth(343),
+ Height = attrViewHight
+ };
+ contentView.AddChidren(attrView);
+ attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) });
+
+聽聽聽聽聽聽聽聽聽聽聽聽#region聽RGB
+聽聽聽聽聽聽聽聽聽聽聽聽var rgbView = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(248)
+ };
+ attrView.AddChidren(rgbView);
+
+ var btnCurColor = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(10),
+ Width = Application.GetMinRealAverage(24),
+ Height = Application.GetMinRealAverage(24),
+ Radius = (uint)Application.GetMinRealAverage(8),
+ BorderColor = CSS_Color.PromptingColor2,
+ BorderWidth = 1,
+ BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(stateRGBValue))
+ };
+ rgbView.AddChidren(btnCurColor);
+
+聽聽聽聽聽聽聽聽聽聽聽聽//鑹茬洏鐨勬甯冩帶浠�(闄愬埗閭d釜鐧借壊婊戝姩鐞冧娇鐢�)
+聽聽聽聽聽聽聽聽聽聽聽聽var framePickerBack = new FrameLayout();
+ framePickerBack.Gravity = Gravity.CenterHorizontal;
+ framePickerBack.Y = Application.GetRealHeight(20);
+ framePickerBack.Width = Application.GetMinRealAverage(198);
+ framePickerBack.Height = Application.GetMinRealAverage(198);
+ rgbView.AddChidren(framePickerBack);
+
+ var colorPicker = new ColorPicker()
+ {
+ ColorImagePath = "FunctionIcon/Light/ColorWheel.png",
+ };
+ framePickerBack.AddChidren(colorPicker);
+
+
+ //鐧界偣鎺т欢
+ var btnWhiteRound = new Button();
+ btnWhiteRound.Width = Application.GetRealWidth(24);
+ btnWhiteRound.Height = Application.GetRealWidth(24);
+ btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png";
+ btnWhiteRound.Visible = false;
+ framePickerBack.AddChidren(btnWhiteRound);
+
+
+聽聽聽聽聽聽聽聽聽聽聽聽//褰撳墠鐐瑰嚮鐨勩�愮偣銆戞槸鍚︽纭�
+聽聽聽聽聽聽聽聽聽聽聽聽bool pointIsRight = false;
+聽聽聽聽聽聽聽聽聽聽聽聽//鍦嗙殑鍗婂緞(鑰冭檻杈圭晫,闇�瑕佽缃畠鐨勫崐寰勬瘮杈冨皬涓�鐐�)
+聽聽聽聽聽聽聽聽聽聽聽聽int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12);
+
+
+ colorPicker.ColorChaged += (sender2, e2) =>
+ {
+ rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//trait.value聽=聽rgbString;
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
+ };
+ colorPicker.MouseDownEventHandler += (sender, e) =>
+ {
+ pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y);
+ if (pointIsRight == false)
+ {
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐�
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽return;
+ }
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鏄剧ず鐧界偣
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2;
+ btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2;
+ if (btnWhiteRound.Visible == false)
+ {
+ btnWhiteRound.Visible = true;
+ }
+ };
+
+ colorPicker.MouseMoveEventHandler += (sender, e) =>
+ {
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//褰撻紶鏍囩偣涓嬩簨浠跺鐞�
+聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽colorPicker.MouseDownEventHandler(sender, e);
+ };
+
+
+聽聽聽聽聽聽聽聽聽聽聽聽#endregion
+
+聽聽聽聽聽聽聽聽聽聽聽聽#region聽
+聽聽聽聽聽聽聽聽聽聽聽聽var btnCancel = new Button()
+ {
+ X = Application.GetRealWidth(20),
+ Width = Application.GetRealWidth(100),
+ Height = Application.GetRealHeight(44),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.TextualColor,
+ TextID = StringId.Cancel,
+ };
+ titleView.AddChidren(btnCancel);
+ btnCancel.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+
+ var btnComplete = new Button()
+ {
+ X = Application.GetRealWidth(223),
+ Width = Application.GetRealWidth(100),
+ Height = Application.GetRealHeight(46),
+ TextColor = CSS_Color.MainColor,
+ TextAlignment = TextAlignment.CenterRight,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextID = StringId.Complete
+ };
+ titleView.AddChidren(btnComplete);
+
+聽聽聽聽聽聽聽聽聽聽聽聽//渚嬶細鍙充笅鍦嗚聽澶у皬涓�50
+聽聽聽聽聽聽聽聽聽聽聽聽int mRectCornerID = HDLUtils.RectCornerBottomRight;
+ btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
+ btnComplete.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ action?.Invoke(rgbString);
+ //trait.value = rgbString;
+
+
+ };
+
+聽聽聽聽聽聽聽聽聽聽聽聽#endregion
+
+
+聽聽聽聽聽聽聽聽聽聽聽聽dialog.Show();
+
+ }
+
+ /// <summary>
+ /// 妫�娴嬬偣鍑荤偣
+ /// </summary>
+ /// <param name="circleR">鍦嗙殑鍗婂緞</param>
+ /// <param name="circleX">鍦嗗績X杞�</param>
+ /// <param name="circleY">鍦嗗績Y杞�</param>
+ /// <param name="pointX">鐐瑰嚮鐐圭殑X杞�</param>
+ /// <param name="pointY">鐐瑰嚮鐐圭殑Y杞�</param>
+ /// <returns></returns>
+ private bool CheckPoint(int circleR, int circleX, int circleY, int pointX, int pointY)
+ {
+ int dwidth = circleX - pointX;
+ if (dwidth < 0) { dwidth *= -1; }
+
+ int dHeight = circleY - pointY;
+ if (dHeight < 0) { dHeight *= -1; }
+
+ //鏍规嵁涓夎鍑芥暟,姹備笁瑙掑舰鐨勬枩杈归暱
+ int dlength = dwidth * dwidth + dHeight * dHeight;
+ //鍗婂緞闀垮害(涓嶅紑鏂�,鎵�浠ユ槸鎸夊钩鏂圭畻)
+ circleR *= circleR;
+ if (dlength < circleR)
+ {
+ //濡傛灉缁勬垚鐨勪笁瑙掑舰骞舵病鏈夐暱杩囧崐寰�,鍒欎唬琛ㄨ繕鍦ㄥ渾鍐�(涓嶅厑璁哥偣杈圭晫)
+ return true;
+ }
+ return false;
+ }
+ /// <summary>
+ /// 鑾峰彇鎺т欢鑳屾櫙鍊�
+ /// button.BackgroundColor =(uint)(0xFF000000 + new Light().GetRGBcolor(rgbValueStr))
+ /// </summary>
+ /// <param name="rgbString">rgb鍊�</param>
+ /// <returns></returns>
+ public uint GetBackgroundColor(string rgbString)
+ {
+ return (uint)(0xFF000000 + new Light().GetRGBcolor(rgbString));
+ }
+ }
+}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 2104754..e828e1a 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -2,6 +2,7 @@
using Shared;
using System.Collections.Generic;
using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
@@ -113,8 +114,8 @@
break;
//鐏厜寮�鍏� 浜害
case SPK.LightDimming:
- case SPK.LightRGB:
- case SPK.LightRGBW:
+ //case SPK.LightRGB:
+ //case SPK.LightRGBW:
{
#region 鐣岄潰
///寮�鍏�
@@ -146,6 +147,60 @@
{
//鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
GetEditDeviceState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
+ }
+ #endregion
+ }
+ break;
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ {
+ #region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView lightSwitchView = new LogicView.FunTypeView();
+ lightSwitchView.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(lightSwitchView.FLayoutView());
+ ///浜害
+ LogicView.FunTypeView brightnessView = new LogicView.FunTypeView();
+ brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
+ brightnessView.btnText.TextID = StringId.brightnesLogic;
+ fLayout.AddChidren(brightnessView.FLayoutView());
+ brightnessView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
+ ///RGB鑹茬洏
+ LogicView.FunTypeView rgbView = new LogicView.FunTypeView();
+ rgbView.frameLayout.Y = brightnessView.frameLayout.Bottom;
+ //rgbView.btnText.TextID = StringId.brightnesLogic;
+ rgbView.btnText.Text= "RGB鑹茬洏";
+ rgbView.btnState.Tag = "";
+ rgbView.btnState.Width = Application.GetRealWidth(16);
+ rgbView.btnState.Height = Application.GetRealWidth(16);
+ rgbView.btnState.Radius = (uint)Application.GetRealWidth(8);
+ rgbView.btnState.X = Application.GetRealWidth(375 - 48 - 16);
+ fLayout.AddChidren(rgbView.FLayoutView());
+ ///璁惧寤舵椂iewv
+ DelayView(fLayout, rgbView.frameLayout.Bottom);
+ #endregion
+ #region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ lightSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, lightSwitchView.btnState, 2);
+ };
+ ///浜害鐐瑰嚮浜嬩欢
+ brightnessView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ BrightnessMethod(device, brightnessView.btnState, brightnessView.btnText.Text);
+
+ };
+ ///RGB鑹茬洏鐐瑰嚮浜嬩欢
+ rgbView.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ RgbColorDiskMethod(device, rgbView.btnState, rgbView.btnText.Text);
+
+ };
+ if (edit)
+ {
+ //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
+ GetEditDeviceState(device, index, lightSwitchView.btnState, brightnessView.btnState, rgbView.btnState, null);
}
#endregion
}
@@ -333,7 +388,12 @@
};
int min = device.GetAttribute("set_temp") == null ? 16 : device.GetAttribute("set_temp").min;
int max = device.GetAttribute("set_temp") == null ? 32 : device.GetAttribute("set_temp").max;
- string unit = device.GetAttribute("temperature_type") == null ? "掳" : device.GetAttribute("temperature_type").state;
+ string unit = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state;
+ if (string.IsNullOrEmpty(unit))
+ {
+ //璋冭瘯杞欢鏈夌┖鑳戒笂浼犱负绌�
+ unit = "鈩�";
+ }
///娓╁害鐐瑰嚮浜嬩欢
temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
{
@@ -439,7 +499,11 @@
{
int min = device.GetAttribute("set_temp") == null ? 16 : device.GetAttribute("set_temp").min;
int max = device.GetAttribute("set_temp") == null ? 32 : device.GetAttribute("set_temp").max;
- string unit = device.GetAttribute("temperature_type") == null ? "掳" : device.GetAttribute("temperature_type").state;
+ string unit = device.GetAttribute("temperature_type") == null ? "鈩�" : device.GetAttribute("temperature_type").state;
+ if (string.IsNullOrEmpty(unit)) {
+ //璋冭瘯杞欢鏈夌┖鑳戒笂浼犱负绌�
+ unit = "鈩�";
+ }
string tempValue = temperatureView.btnState.Text;
LogicView.TemperatureView tempView = new LogicView.TemperatureView();
tempView.FLayoutView(this, tempValue, (stateStr) =>
@@ -951,6 +1015,47 @@
#endregion
}
+
+ /// <summary>
+ /// RGB鑹茬洏涓撶敤
+ /// </summary>
+ /// <param name="device">璁惧</param>
+ /// <param name="button">鐘舵�佹帶浠�</param>
+ /// <param name="titleName">鏍囬</param>
+ private void RgbColorDiskMethod(Entity.Function device, Button button, string titleName)
+ {
+ LogicView.RGBColorView rgbColorView = new LogicView.RGBColorView();
+ rgbColorView.LoadRGBDialog(button.Tag.ToString(), (rgbValueStr) =>
+ {
+ button.BackgroundColor = rgbColorView.GetBackgroundColor(rgbValueStr);
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ button.Tag = rgbValueStr;
+ //button.Text = rgbValueStr;
+ selectedState = device.spk + rgbValueStr.ToString();
+ //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+ string keyVlaue = "";
+ switch (device.spk)
+ {
+ case SPK.LightRGB:
+ {
+ keyVlaue = "rgb";
+ }
+ break;
+ case SPK.LightRGBW:
+ {
+ keyVlaue = "rgbw";
+ }
+ break;
+ }
+ //鏁版嵁灏佽
+ AddDictionary(keyVlaue, rgbValueStr);
+ });
+
+ }
+
+
+
+
/// <summary>
/// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
/// </summary>
@@ -1054,5 +1159,7 @@
}
+
+
}
}
--
Gitblit v1.8.0