From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 272 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 150 insertions(+), 122 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs index ede9214..9a7fe8d 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,127 +61,104 @@ } LoadDiv(); - if (function.functionCategory == FunctionCategory.Curtain || function.functionCategory == FunctionCategory.Music || function.functionCategory == FunctionCategory.Scene)//绐楀笜娌℃湁寮�鍏虫寜閽� + btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png"; + + if (SPK.CurtainSpkList().Contains(function.spk)) + {//绐楀笜娌℃湁寮�鍏虫寜閽� + CurtainFragment(); + } + else if (SPK.MusicSpkList().Contains(function.spk)) + {//闊充箰娌℃湁寮�鍏虫寜閽� + MusicFragment(); + } + else if (SPK.EvironmentSensorList().Contains(function.spk) || SPK.ArmSensorSpkList().Contains(function.spk)) //浼犳劅鍣ㄦ病鏈夊紑鍏虫寜閽�) { - switch (function.functionCategory) + var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState); + if (powerLowTipAttr != null) { - case FunctionCategory.Curtain: - btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png"; - CurtainFragment(); - break; - case FunctionCategory.Music: - btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicThinIcon.png"; - MusicFragment(); - break; - case FunctionCategory.Scene: - btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png"; - if ((function as Scene).sceneType == SceneType.MovieScene) + if (powerLowTipAttr.state.ToLower() == "low") + { + Button btnTipPowerLow = new Button() { - var movieIcon = new Button() - { - X = Application.GetRealWidth(52), - Y = Application.GetRealHeight(14), - Width = Application.GetRealWidth(16), - Height = Application.GetRealWidth(16), - UnSelectedImagePath = "FunctionIcon/Scene/MovieMark.png", - }; - bodyDiv.AddChidren(movieIcon); - btnName.X = Application.GetRealWidth(52 + 16); - } - //鍔犺浇鍦烘櫙鎺у埗浜嬩欢 - LoadEvent_ControlScene(); - break; + 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); + } } } 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.value.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.value.ToString() == "on", - Tag = function.sid + "_Switch", - }; - bodyDiv.AddChidren(btnSwitch); - } - //鍔犺浇寮�鍏虫寜閽簨浠� - LoadEvent_SwitchFunction(btnSwitch); - - switch (function.functionCategory) - { - case FunctionCategory.Thermostat: - switch (function.functionType) + btnSwitch = new Button() { - 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.value.ToString() == "on"; + 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); + } + + if (SPK.AcSpkList().Contains(function.spk) || + SPK.FhSpkList().Contains(function.spk)) + { + LoadLastStatesButton(); + } + else if (SPK.LightSpkList().Contains(function.spk)) + { + 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.value.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.value.ToString() == "on"; - break; + } + else if (SPK.ElectricalSpkList().Contains(function.spk)) + { + btnSwitch.IsSelected = function.trait_on_off.curValue.ToString() == "on"; + } + #endregion } - #endregion } - if (function.functionCategory != FunctionCategory.Scene) - { - LoadEvent_DivSkipEvent(); - } + LoadEvent_DivSkipEvent(); LoadEvent_FunctionCollection(); } @@ -232,9 +210,12 @@ Height = Application.GetMinRealAverage(40), SelectedImagePath = "Collection/CollectionIcon.png", UnSelectedImagePath = "Collection/CollectionGrayIcon.png", - IsSelected = function.collection + IsSelected = function.collect }; - bodyDiv.AddChidren(btnCollectionIcon); + if ( !SPK.ArmSensorSpkList().Contains(function.spk) && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare && + { + bodyDiv.AddChidren(btnCollectionIcon); + } } /// <summary> @@ -242,16 +223,16 @@ /// </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() { X = Application.GetRealWidth(14), Y = Application.GetRealHeight(85), - Width = Application.GetRealWidth(22), + Width = Application.GetRealWidth(30), Height = Application.GetRealHeight(21), Text = "0%", TextAlignment = TextAlignment.CenterLeft, @@ -269,14 +250,13 @@ SeekBarViewHeight = Application.GetRealHeight(8), ThumbImagePath = "Public/ThumbImage.png", ThumbImageHeight = Application.GetRealHeight(54), - ProgressBarColor = function.trait_on_off.value.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.PromptingColor2, + ProgressBarColor = function.trait_on_off.curValue.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.PromptingColor2, 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), - }; bodyDiv.AddChidren(dimmerControlBar); @@ -284,7 +264,7 @@ { X = Application.GetRealWidth(14 + 22+180), Y = Application.GetRealHeight(85), - Width = Application.GetRealWidth(35), + Width = Application.GetRealWidth(45), Height = Application.GetRealHeight(21), Text = "100%", TextAlignment = TextAlignment.CenterLeft, @@ -313,9 +293,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() { @@ -325,6 +311,7 @@ Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "FunctionIcon/Curtain/CurtainStopIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainStopOnIcon.png", + Tag = function.sid + "_stop", }; bodyDiv.AddChidren(btnCurtainStop); @@ -336,11 +323,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> @@ -368,8 +393,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); @@ -387,12 +412,15 @@ #endregion } - /// <summary> /// 鍔犺浇鍔熻兘鐘舵�佷俊鎭寜閽� /// </summary> void LoadLastStatesButton() { + if(function.spk == SPK.LightSwitch) + { + return; + } var btnLastStates = new Button() { X = Application.GetRealWidth(10 + 32 + 8), @@ -404,8 +432,8 @@ SelectedTextColor = CSS_Color.PromptingColor1, TextColor = 0x00000000, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - Tag = function.functionType + "_laststates_" + function.sid, - IsSelected = function.trait_on_off.value.ToString() == "on" + Tag = function.spk + "_laststates_" + function.sid, + IsSelected = function.trait_on_off.curValue.ToString() == "on" }; bodyDiv.AddChidren(btnLastStates); } -- Gitblit v1.8.0