From c1d681f496f2e1c53f88472d803e3c95fab521af Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 29 七月 2021 09:46:16 +0800
Subject: [PATCH] 萤石测试通过
---
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 260 +++++++++++++++++++++++++++++++---------------------
1 files changed, 155 insertions(+), 105 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index 0f3a706..27ce249 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -53,6 +53,7 @@
/// </summary>
public void LoadFunctionDiv()
{
+ //todo 澧炲姞璁惧锛屽鍔犲姛鑳藉垪琛ㄥ崱鐗�
if (function == null)
{
this.RemoveFromParent();
@@ -60,27 +61,39 @@
}
LoadDiv();
- if (function.functionCategory == FunctionCategory.Curtain || function.functionCategory == FunctionCategory.Music || function.functionCategory == FunctionCategory.Scene)//绐楀笜娌℃湁寮�鍏虫寜閽�
+ btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png";
+
+ if (function.Spk_Prefix == FunctionCategory.Curtain//绐楀笜娌℃湁寮�鍏虫寜閽�
+ || function.Spk_Prefix == FunctionCategory.Music//闊充箰娌℃湁寮�鍏虫寜閽�
+ || function.Spk_Prefix == FunctionCategory.Sensor//浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽�
+ )
{
- switch (function.functionCategory)
+ switch (function.Spk_Prefix)
{
case FunctionCategory.Curtain:
- switch(function.functionType)
- {
- case FunctionType.Curtain:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png";
- break;
- case FunctionType.MotorCurtain:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/MotorCurtainIcon.png";
- break;
- case FunctionType.RollingShutter:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/RollingShutterIcon.png";
- break;
- }
CurtainFragment();
break;
+ case FunctionCategory.Sensor:
+ var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState);
+ if (powerLowTipAttr != null)
+ {
+ if (powerLowTipAttr.state.ToLower() == "low")
+ {
+ Button btnTipPowerLow = new Button()
+ {
+ X = Application.GetRealWidth(307),
+ Y = Application.GetRealHeight(25),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
+ UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
+ SelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
+ };
+ this.AddChidren(btnTipPowerLow);
+ }
+ }
+
+ break;
case FunctionCategory.Music:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicThinIcon.png";
MusicFragment();
break;
@@ -88,93 +101,77 @@
}
else
{
- #region 鍔犺浇寮�鍏虫寜閽�
- /// <summary>
- /// 寮�鍏虫寜閽�
- /// </summary>
- Button btnSwitch;
- if (function.functionType == FunctionType.RGB || function.functionType == FunctionType.Dimmer)
+ if (function.spk == SPK.ClothesHanger)//鏅捐。鏋�
{
- btnSwitch = new Button()
- {
- X = Application.GetRealWidth(303),
- Y = Application.GetRealHeight(78),
- Width = Application.GetMinRealAverage(32),
- Height = Application.GetMinRealAverage(32),
- UnSelectedImagePath = "Public/PowerClose.png",
- SelectedImagePath = "Public/PowerOpen.png",
- IsSelected = function.trait_on_off.curValue.ToString() == "on",
- Tag = function.sid + "_Switch",
- };
- bodyDiv.AddChidren(btnSwitch);
+ ClothesHangerFragment();
}
else
{
- btnSwitch = new Button()
+ #region 鍔犺浇寮�鍏虫寜閽�
+
+ /// <summary>
+ /// 寮�鍏虫寜閽�
+ /// </summary>
+ Button btnSwitch;
+ if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
{
- X = Application.GetRealWidth(303),
- Y = Application.GetRealHeight(58),
- Width = Application.GetMinRealAverage(32),
- Height = Application.GetMinRealAverage(32),
- UnSelectedImagePath = "Public/PowerClose.png",
- SelectedImagePath = "Public/PowerOpen.png",
- IsSelected = function.trait_on_off.curValue.ToString() == "on",
- Tag = function.sid + "_Switch",
- };
- bodyDiv.AddChidren(btnSwitch);
- }
- //鍔犺浇寮�鍏虫寜閽簨浠�
- LoadEvent_SwitchFunction(btnSwitch);
+ btnSwitch = new Button()
+ {
+ X = Application.GetRealWidth(303),
+ Y = Application.GetRealHeight(78),
+ Width = Application.GetMinRealAverage(32),
+ Height = Application.GetMinRealAverage(32),
+ UnSelectedImagePath = "Public/PowerClose.png",
+ SelectedImagePath = "Public/PowerOpen.png",
+ IsSelected = function.trait_on_off.curValue.ToString() == "on",
+ Tag = function.sid + "_Switch",
+ };
+ bodyDiv.AddChidren(btnSwitch);
+ //鍔犺浇寮�鍏虫寜閽簨浠�
+ LoadEvent_SwitchFunction(btnSwitch, function.attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
+ }
+ else
+ {
+ btnSwitch = new Button()
+ {
+ X = Application.GetRealWidth(303),
+ Y = Application.GetRealHeight(58),
+ Width = Application.GetMinRealAverage(32),
+ Height = Application.GetMinRealAverage(32),
+ UnSelectedImagePath = "Public/PowerClose.png",
+ SelectedImagePath = "Public/PowerOpen.png",
+ IsSelected = function.trait_on_off.curValue.ToString() == "on",
+ Tag = function.sid + "_Switch",
+ };
+ bodyDiv.AddChidren(btnSwitch);
+ //鍔犺浇寮�鍏虫寜閽簨浠�
+ LoadEvent_SwitchFunction(btnSwitch);
+ }
- switch (function.functionCategory)
- {
- case FunctionCategory.Thermostat:
- switch (function.functionType)
- {
- case FunctionType.AC:
- btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png";
- LoadLastStatesButton();
- break;
- case FunctionType.FloorHeating:
- btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png";
- LoadLastStatesButton();
- break;
- }
- break;
- case FunctionCategory.Light:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png";
- btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
- LoadLightControl();
- break;
- case FunctionCategory.SwitchDevice:
- switch (function.functionType)
- {
- case FunctionType.Socket:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketThinIcon.png";
- break;
- }
- btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
- break;
- case FunctionCategory.Electrical:
- switch (function.functionType)
- {
- case FunctionType.Fan:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanThinIcon.png";
- break;
- case FunctionType.TV:
- btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVThinIcon.png";
- break;
- }
- btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
- break;
+ switch (function.Spk_Prefix)
+ {
+ case FunctionCategory.AC:
+ LoadLastStatesButton();
+ break;
+ case FunctionCategory.IR:
+ LoadLastStatesButton();
+ break;
+ case FunctionCategory.FloorHeat:
+ LoadLastStatesButton();
+ break;
+ case FunctionCategory.Light:
+ btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
+ LoadLightControl();
+ break;
+ case FunctionCategory.Electric:
+ btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on";
+ break;
+ }
+ #endregion
}
- #endregion
}
- if (function.functionCategory != FunctionCategory.Scene)
- {
- LoadEvent_DivSkipEvent();
- }
+ LoadEvent_DivSkipEvent();
LoadEvent_FunctionCollection();
}
@@ -228,7 +225,12 @@
UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
IsSelected = function.collect
};
- bodyDiv.AddChidren(btnCollectionIcon);
+ //bodyDiv.AddChidren(btnCollectionIcon);
+ //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+ if ( function.Spk_Prefix != FunctionCategory.Sensor)//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare &&
+ {
+ bodyDiv.AddChidren(btnCollectionIcon);
+ }
}
/// <summary>
@@ -236,10 +238,10 @@
/// </summary>
void LoadLightControl()
{
- switch (function.functionType)
+ switch (function.spk)
{
- case FunctionType.Dimmer:
- case FunctionType.RGB:
+ case SPK.LightDimming:
+ case SPK.LightRGB:
#region Dimmer
var btnDimmerMinValues = new Button()
{
@@ -267,7 +269,7 @@
ProgressTextColor = CSS_Color.FirstLevelTitleColor,
ProgressTextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
MaxValue = 100,
- Progress = (function as Light).brightness,
+ Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.Brightness)),
Tag = function.sid + "_DimmerBar",
SeekBarPadding = Application.GetRealWidth(20),
};
@@ -306,9 +308,15 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
- Tag = function.functionType + "_off_" + function.sid
+ IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "off",
+ Tag = function.sid + "_off"
};
bodyDiv.AddChidren(btnCurtainClose);
+ if(function.spk == SPK.CurtainRoller)
+ {
+ btnCurtainClose.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainDownIcon.png";
+ btnCurtainClose.SelectedImagePath = "FunctionIcon/Curtain/CurtainDownIconOn.png";
+ }
var btnCurtainStop = new Button()
{
@@ -318,6 +326,7 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "FunctionIcon/Curtain/CurtainStopIcon.png",
SelectedImagePath = "FunctionIcon/Curtain/CurtainStopOnIcon.png",
+ Tag = function.sid + "_stop",
};
bodyDiv.AddChidren(btnCurtainStop);
@@ -329,11 +338,49 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
- Tag = function.functionType + "_on_" + function.sid
+ Tag = function.sid + "_on",
+ IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "on",
};
bodyDiv.AddChidren(btnCurtainOpen);
- LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose, function as Curtain);
+ if (function.spk == SPK.CurtainRoller)
+ {
+ btnCurtainOpen.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainUpIcon.png";
+ btnCurtainOpen.SelectedImagePath = "FunctionIcon/Curtain/CurtainUpIconOn.png";
+ }
+ LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose, function);
#endregion
+ }
+ /// <summary>
+ /// 鍔犺浇鏅捐。鏋跺姛鑳芥帶鍒跺崱鐗�
+ /// </summary>
+ void ClothesHangerFragment()
+ {
+ #region ClothesHanger
+ var btnClothesHangerUp = new Button()
+ {
+ X = Application.GetRealWidth(233),
+ Y = Application.GetRealHeight(58),
+ Width = Application.GetMinRealAverage(32),
+ Height = Application.GetMinRealAverage(32),
+ UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon1.png",
+ SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon1On.png",
+ };
+ bodyDiv.AddChidren(btnClothesHangerUp);
+
+ var btnClothesHangerDown = new Button()
+ {
+ X = Application.GetRealWidth(303),
+ Y = Application.GetRealHeight(58),
+ Width = Application.GetMinRealAverage(32),
+ Height = Application.GetMinRealAverage(32),
+ UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon1.png",
+ SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon1On.png",
+ };
+ bodyDiv.AddChidren(btnClothesHangerDown);
+ LoadEvent_ControlClothesHanger(function, btnClothesHangerUp, btnClothesHangerDown);
+ #endregion
+
+
}
/// <summary>
@@ -361,8 +408,8 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "MusicIcon/pause.png",
SelectedImagePath = "MusicIcon/play.png",
- IsSelected = (function as A31MusicModel).A31PlayStatus.status == "play" ,
- Tag = function.functionType + "_State_" + function.sid
+ //IsSelected = (function as A31MusicModel).A31PlayStatus.status == "play" ,
+ Tag = function.spk + "_State_" + function.sid
};
bodyDiv.AddChidren(btnPlay);
@@ -380,12 +427,15 @@
#endregion
}
-
/// <summary>
/// 鍔犺浇鍔熻兘鐘舵�佷俊鎭寜閽�
/// </summary>
void LoadLastStatesButton()
{
+ if(function.spk == SPK.LightSwitch)
+ {
+ return;
+ }
var btnLastStates = new Button()
{
X = Application.GetRealWidth(10 + 32 + 8),
@@ -397,7 +447,7 @@
SelectedTextColor = CSS_Color.PromptingColor1,
TextColor = 0x00000000,
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
- Tag = function.functionType + "_laststates_" + function.sid,
+ Tag = function.spk + "_laststates_" + function.sid,
IsSelected = function.trait_on_off.curValue.ToString() == "on"
};
bodyDiv.AddChidren(btnLastStates);
--
Gitblit v1.8.0