From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 203 insertions(+), 12 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index a873ee1..7cb16f3 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -38,12 +38,18 @@
/// 鏄惁鍦ㄨ皟鍏�
/// </summary>
bool onDimmerBar;
+ /// <summary>
+ /// 鍒犻櫎璁惧鍚庡洖璋冪粰鐣岄潰鍒锋柊
+ /// </summary>
+ Action action;
+
#endregion
- public FunctionControlZone(Function func)
+ public FunctionControlZone(Function func,Action action)
{
bodyDiv = this;
bodyDiv.Tag = func.sid;
function = func;
+ this.action = action;
}
public override void RemoveFromParent()
@@ -57,17 +63,25 @@
/// </summary>
public void LoadFunctionDiv()
{
- //todo 澧炲姞璁惧锛屽鍔犲姛鑳藉垪琛ㄥ崱鐗�
if (function == null)
{
this.RemoveFromParent();
return;
}
- LoadDiv();
-
+ //if (function.spk == SPK.IpCam_Imou)
+ //{
+ // InitIpCamDiv();
+ //}
+ //else
+ {
+ LoadDiv();
+ }
btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png";
-
+ if(function.spk == SPK.GroupControl)
+ {
+ btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/lightswitch.png";
+ }
if (SPK.CurtainSpkList().Contains(function.spk))
{//绐楀笜娌℃湁寮�鍏虫寜閽�
CurtainFragment();
@@ -95,38 +109,124 @@
this.AddChidren(btnTipPowerLow);
}
}
+
+
+
+ else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose )
+ {
+ var btnStatus = new Button()
+ {
+ X = Application.GetRealWidth(51),
+ Y = Application.GetRealHeight(64),
+ Height = Application.GetRealHeight(18),
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ Text = "",
+ TextAlignment = TextAlignment.CenterLeft,
+ Tag = function.sid + "_SenesorMegahealth_Status"
+ };
+ bodyDiv.AddChidren(btnStatus);
+
+
+
+ var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus);
+ if (tempStatus != null)
+ {
+
+ switch (tempStatus.state)
+ {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔�
+ case "0":
+ btnStatus.TextID = StringId.SensorNormalState;
+ btnStatus.TextColor = CSS_Color.MainColor;
+ break;
+ case "1":
+ btnStatus.TextID = StringId.SomeoneIn;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ break;
+ case "2":
+ if (function.extSet.labModel)
+ {
+ btnStatus.TextID = StringId.SomeoneRunning;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ }
+ else
+ {
+ btnStatus.TextID = StringId.SomeoneIn;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ }
+ break;
+ case "3":
+ if (function.extSet.labModel)
+ {
+ btnStatus.TextID = StringId.SomeoneSitting;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ }
+ else
+ {
+ btnStatus.TextID = StringId.SomeoneIn;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ }
+ break;
+ case "4":
+ btnStatus.TextID = StringId.SomeoneFell;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ break;
+ case "5":
+ if (function.extSet.labModel)
+ {
+ btnStatus.TextID = StringId.SomeoneStanding;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ }
+ else
+ {
+ btnStatus.TextID = StringId.SomeoneIn;
+ btnStatus.TextColor = CSS_Color.WarningColor;
+ }
+ break;
+ }
+
+
+ }
+
+ }
+
}
else if (function.spk == SPK.DoorLock)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/DoorLock.png";
}
+ else if (function.spk == SPK.VideoDoorLock)
+ {
+ btnIcon.UnSelectedImagePath =UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockIcon(UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.function);
+ }
else if (function.spk == SPK.HvacCac)
{
var btnHumidityIcon = new Button()
{
- X = Application.GetRealWidth(51),
+ X = Application.GetRealWidth(120),
Y = Application.GetRealHeight(66),
Width = Application.GetMinRealAverage(16),
- Height = Application.GetMinRealAverage(16),
+ Height = Application.GetMinRealAverage(18),
UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
};
bodyDiv.AddChidren(btnHumidityIcon);
var btnHumidityValues = new TextButton()
{
- X = Application.GetRealWidth(70),
+ X = Application.GetRealWidth(140),
Y = Application.GetRealHeight(64),
Height = Application.GetRealHeight(18),
TextColor = 0xFF161616,
TextSize = CSS_FontSize.TextFontSize,
Text = function.GetAttrState(FunctionAttributeKey.RoomHumidity) + "%",
TextAlignment = TextAlignment.CenterLeft,
+ Tag = function.sid + "_Humidity",
};
btnHumidityValues.Width = btnHumidityValues.GetTextWidth();
bodyDiv.AddChidren(btnHumidityValues);
Button btnTempIcon = new Button()
{
- X = Application.GetRealWidth(110),
+ X = Application.GetRealWidth(51),
Y = Application.GetRealHeight(66),
Width = Application.GetMinRealAverage(17),
Height = Application.GetMinRealAverage(17),
@@ -136,13 +236,14 @@
var btnTempValues = new TextButton()
{
- X = Application.GetRealWidth(130),
+ X = Application.GetRealWidth(70),
Y = Application.GetRealHeight(64),
Height = Application.GetRealHeight(18),
TextColor = 0xFF161616,
TextSize = CSS_FontSize.TextFontSize,
Text = function.GetAttrState(FunctionAttributeKey.RoomTemp) + "掳C",
TextAlignment = TextAlignment.CenterLeft,
+ Tag = function.sid + "_Temp",
};
btnTempValues.Width = btnTempValues.GetTextWidth();
bodyDiv.AddChidren(btnTempValues);
@@ -160,11 +261,17 @@
}
+ else if (function.spk == SPK.AcstParent) {
+ }
else
{
if (function.spk == SPK.ClothesHanger)//鏅捐。鏋�
{
ClothesHangerFragment();
+ }
+ else if(function.spk == SPK.IpCam_Imou)
+ {
+
}
else
{
@@ -232,6 +339,58 @@
}
+ /// <summary>
+ /// 鍔犺浇ip鎽勫儚澶村崱鐗�
+ /// </summary>
+ private void InitIpCamDiv()
+ {
+ btnIcon = new Button()
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(15),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ };
+ bodyDiv.AddChidren(btnIcon);
+
+ btnName = new Button()
+ {
+ X = Application.GetRealWidth(8 + 10 + 32),
+ Y = Application.GetRealHeight(10),
+ Width = Application.GetRealWidth(200),
+ Height = Application.GetRealHeight(24),
+ Text = function.name,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ bodyDiv.AddChidren(btnName);
+
+ btnFromFloor = new Button()
+ {
+ X = Application.GetRealWidth(8 + 10 + 32),
+ Y = Application.GetRealHeight(10 + 24),
+ Width = Application.GetRealWidth(200),
+ Height = Application.GetRealHeight(18),
+ Text = function.GetRoomListName(),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ };
+ bodyDiv.AddChidren(btnFromFloor);
+
+ btnCollectionIcon = new Button()
+ {
+ X = Application.GetRealWidth(299),
+ Y = Application.GetRealHeight(10),
+ Width = Application.GetMinRealAverage(40),
+ Height = Application.GetMinRealAverage(40),
+ SelectedImagePath = "Collection/CollectionIcon.png",
+ UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
+ IsSelected = function.collect
+ };
+
+ }
/// <summary>
/// 鍔犺浇鎺у埗鍗$墖鍖哄煙
@@ -290,6 +449,11 @@
bodyDiv.AddChidren(btnCollectionIcon);
}
+ if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+ {
+ bodyDiv.AddChidren(btnCollectionIcon);
+ }
+
if (!function.online)
{
bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
@@ -305,6 +469,19 @@
};
bodyDiv.AddChidren(btnOffline);
}
+ //鎺掑簭
+ //btnIcon.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
+ //btnName.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
+ //btnFromFloor.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
+ //bodyDiv.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
}
/// <summary>
@@ -315,6 +492,7 @@
switch (function.spk)
{
case SPK.LightDimming:
+ case SPK.LightRGBW:
case SPK.LightRGB:
#region Dimmer
var btnDimmerMinValues = new Button()
@@ -373,6 +551,14 @@
/// </summary>
void CurtainFragment()
{
+ var onoffString = function.GetAttrState(FunctionAttributeKey.OnOff);
+ var percent = onoffString == "off" ? 0 : 100;
+ if (function.GetAttributes().Contains(FunctionAttributeKey.Percent))
+ {
+ string percentString = function.GetAttrState(FunctionAttributeKey.Percent);
+ int.TryParse(percentString, out percent);
+ }
+
#region Curtain
var btnCurtainClose = new Button()
{
@@ -382,7 +568,7 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
- IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "off",
+ IsSelected = percent == 0,
Tag = function.sid + "_off"
};
bodyDiv.AddChidren(btnCurtainClose);
@@ -413,7 +599,7 @@
UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
Tag = function.sid + "_on",
- IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "on",
+ IsSelected = percent != 0,
};
bodyDiv.AddChidren(btnCurtainOpen);
if (function.spk == SPK.CurtainRoller)
@@ -458,6 +644,11 @@
}
/// <summary>
+ /// 鎺掑簭浜嬩欢
+ /// </summary>
+ public Action OrderEvent;
+
+ /// <summary>
/// 鍔犺浇闊充箰鍔熻兘鎺у埗鍗$墖
/// </summary>
void MusicFragment()
--
Gitblit v1.8.0