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 | 305 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 294 insertions(+), 11 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index 9a7fe8d..7cb16f3 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -1,7 +1,6 @@
锘縰sing System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
-using HDL_ON.UI.Music;
using Shared;
namespace HDL_ON.UI
@@ -9,7 +8,7 @@
public partial class FunctionControlZone : FrameLayout
{
#region 鍖哄煙鎺т欢
- static FrameLayout bodyDiv;
+ FunctionControlZone bodyDiv;
/// <summary>
/// 鍔熻兘/鍦烘櫙icon
/// </summary>
@@ -26,6 +25,11 @@
/// 鏀惰棌鎸夐挳
/// </summary>
Button btnCollectionIcon;
+ /// <summary>
+ /// 绂荤嚎鏂囨湰
+ /// </summary>
+ Button btnOffline;
+
#endregion
#region 鍖哄煙鍙橀噺
@@ -34,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()
@@ -53,16 +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();
@@ -90,12 +109,169 @@
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(120),
+ Y = Application.GetRealHeight(66),
+ Width = Application.GetMinRealAverage(16),
+ Height = Application.GetMinRealAverage(18),
+ UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
+ };
+ bodyDiv.AddChidren(btnHumidityIcon);
+ var btnHumidityValues = new TextButton()
+ {
+ 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(51),
+ Y = Application.GetRealHeight(66),
+ Width = Application.GetMinRealAverage(17),
+ Height = Application.GetMinRealAverage(17),
+ UnSelectedImagePath = "FunctionIcon/CAC/HvacCacTempIcon.png",
+ };
+ bodyDiv.AddChidren(btnTempIcon);
+
+ var btnTempValues = new TextButton()
+ {
+ 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);
+
+ var btnJinMaoIcon = new Button()
+ {
+ X = Application.GetRealWidth(238),
+ Y = Application.GetRealHeight(64),
+ Width = Application.GetRealWidth(102),
+ Height = Application.GetRealHeight(29),
+ UnSelectedImagePath = "FunctionIcon/CAC/JinMaoIcon.png"
+ };
+ bodyDiv.AddChidren(btnJinMaoIcon);
+
+
+
+ }
+ else if (function.spk == SPK.AcstParent) {
}
else
{
if (function.spk == SPK.ClothesHanger)//鏅捐。鏋�
{
ClothesHangerFragment();
+ }
+ else if(function.spk == SPK.IpCam_Imou)
+ {
+
}
else
{
@@ -160,6 +336,60 @@
LoadEvent_DivSkipEvent();
LoadEvent_FunctionCollection();
+
+
+ }
+ /// <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>
@@ -212,10 +442,46 @@
UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
IsSelected = function.collect
};
- if ( !SPK.ArmSensorSpkList().Contains(function.spk) && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare &&
+ if ( !SPK.ArmSensorSpkList().Contains(function.spk)
+ && function.spk != SPK.DoorLock
+ && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare &&
{
bodyDiv.AddChidren(btnCollectionIcon);
}
+
+ if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+ {
+ bodyDiv.AddChidren(btnCollectionIcon);
+ }
+
+ if (!function.online)
+ {
+ bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
+ btnOffline = new Button()
+ {
+ X = Application.GetRealWidth(8 + 10 + 32),
+ Y = Application.GetRealHeight(28 + 24),
+ Height = Application.GetRealHeight(30),
+ TextID = StringId.DeviceOffline,
+ TextColor = CSS_Color.WarningColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft
+ };
+ bodyDiv.AddChidren(btnOffline);
+ }
+ //鎺掑簭
+ //btnIcon.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
+ //btnName.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
+ //btnFromFloor.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
+ //bodyDiv.MouseLongEventHandler = (sender, e) => {
+ // OrderEvent();
+ //};
}
/// <summary>
@@ -226,6 +492,7 @@
switch (function.spk)
{
case SPK.LightDimming:
+ case SPK.LightRGBW:
case SPK.LightRGB:
#region Dimmer
var btnDimmerMinValues = new Button()
@@ -284,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()
{
@@ -293,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);
@@ -324,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)
@@ -332,7 +607,7 @@
btnCurtainOpen.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainUpIcon.png";
btnCurtainOpen.SelectedImagePath = "FunctionIcon/Curtain/CurtainUpIconOn.png";
}
- LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose, function);
+ LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose);
#endregion
}
/// <summary>
@@ -367,6 +642,11 @@
}
+
+ /// <summary>
+ /// 鎺掑簭浜嬩欢
+ /// </summary>
+ public Action OrderEvent;
/// <summary>
/// 鍔犺浇闊充箰鍔熻兘鎺у埗鍗$墖
@@ -408,7 +688,7 @@
SelectedImagePath = "MusicIcon/nextSelected.png",
};
bodyDiv.AddChidren(btnNext);
- LoadEvent_ControlMusic(btnPlay, btnNext, btnPrev, function as A31MusicModel);
+ LoadEvent_ControlMusic(btnPlay, btnNext, btnPrev, function);
#endregion
}
@@ -437,5 +717,8 @@
};
bodyDiv.AddChidren(btnLastStates);
}
+
+
+
}
}
\ No newline at end of file
--
Gitblit v1.8.0