From 002e48d8baa60c8d38ba95d65cd73118ab8cdb09 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 14 七月 2023 10:54:33 +0800 Subject: [PATCH] 设备状态刷新 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 300 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 224 insertions(+), 76 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs index 5a59137..a45dcc5 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs @@ -18,6 +18,8 @@ Action refreshAction; SceneFunction sceneFunction; + bool isColorful = false; + public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action) { bodyView = this; @@ -25,9 +27,14 @@ sceneFunction = fc.localFunction.ConvertSceneFunction(); foreach(var ll in sceneFunction.status) { - ll.value = fc.status.Find((obj) => obj.key == ll.key).value; + try + { + var temp = fc.status.Find((obj) => obj.key == ll.key); + if (temp != null) + ll.value = temp.value; + } + catch { } } - //sceneFunction = fc; refreshAction = action; } @@ -45,78 +52,64 @@ }; bodyView.AddChidren(contentView); - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff)); + var onOffStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff); - foreach (var attr in sceneFunction.status) + LoadFunctionRow(onOffStatus); + + if (sceneFunction.localFunction.spk == SPK.LightRGB) { - switch (attr.key) + var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful); + if (colorfulStatus != null) { - case FunctionAttributeKey.SetTemp: - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp)); - break; - case FunctionAttributeKey.Mode: - - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode)); - break; - case FunctionAttributeKey.FanSpeed: - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed)); - break; - case FunctionAttributeKey.Percent: - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent)); - break; - case FunctionAttributeKey.Brightness: - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness)); - break; - case FunctionAttributeKey.FadeTime: - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FadeTime)); - break; - case FunctionAttributeKey.CCT: - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.CCT)); - break; - case FunctionAttributeKey.RGB: - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.RGB)); - break; - case "angle"://瑙掑害 - LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "angle")); - break; + isColorful = true; + LoadColorfulRow(colorfulStatus); } } - - //鍔犺浇寮�鍏砇ow - //LoadFunctionRow(sceneFunction.localFunction.trait_on_off); - //switch (sceneFunction.localFunction.functionType) - //{ - // case SPK.AcStandard: - // LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp")); - // LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode")); - // LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "fan")); - // break; - // case SPK.FloorHeatStandard: - // LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp")); - // LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode")); - // break; - // case SPK.CurtainSwitch: - // //鏃犳搷浣� - // break; - // case SPK.CurtainTrietex: - // case SPK.CurtainRoller: - // LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent")); - // break; - // case SPK.LightSwitch: - // //鏃犳搷浣� - // break; - // case SPK.LightDimming: - // case SPK.LightRGB: - // LoadFunctionRow(sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness")); - // break; - //} - - if (DB_ResidenceData.Instance.GatewayType != 0) + if(!isColorful) { - //鍔犺浇寤舵椂Row - LoadDelayRow(); - } + foreach (var attr in sceneFunction.status) + { + switch (attr.key) + { + case FunctionAttributeKey.SetTemp: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp)); + break; + case FunctionAttributeKey.Mode: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode)); + break; + case FunctionAttributeKey.FanSpeed: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed)); + break; + case FunctionAttributeKey.Percent: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent)); + break; + case FunctionAttributeKey.Brightness: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness)); + break; + case FunctionAttributeKey.FadeTime: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FadeTime)); + break; + case FunctionAttributeKey.CCT: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.CCT)); + break; + case FunctionAttributeKey.RGB: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.RGB)); + break; + case "angle"://瑙掑害 + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "angle")); + break; + case "security"://澶у崕鎽勫儚甯冮槻鎾ら槻 + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "security")); + break; + } + } + if (DB_ResidenceData.Instance.GatewayType != 0) + { + //鍔犺浇寤舵椂Row + LoadDelayRow(); + } + } var bottomView = new FrameLayout() { Y = Application.GetRealHeight(591), @@ -145,15 +138,6 @@ btnConfrim.MouseUpEventHandler = (sender, e) => { var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid); - //if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness) != null) - //{ - // try - // { - // //涓�绔彛涓嶆敮鎸佸紑鍏冲�间笌浜害鍊间竴璧峰鐞嗭紝闇�瑕佸皢寮�鍏冲�肩Щ闄ゆ帀 - // sceneFunction.status.Remove(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff)); - // } - // catch { } - //} if (temp != null) { @@ -332,6 +316,9 @@ { switch (sceneStatus.key) { + case FunctionAttributeKey.Security: + LoadEditDialog_Security(sceneStatus, btnFunctionText); + break; case FunctionAttributeKey.OnOff: LoadEditDialog_OnOff(sceneStatus, btnFunctionText); break; @@ -388,6 +375,64 @@ #endregion } + + /// <summary> + /// 鍔犺浇鍔熻兘Row + /// </summary> + void LoadColorfulRow(SceneFunctionStatus sceneStatus) + { + if (sceneStatus == null) + return; + #region Row code + var row = new FrameLayout() + { + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + contentView.AddChidren(row); + + row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor }); + + Button btnRight = new Button() + { + X = Application.GetRealWidth(339), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/Right.png", + }; + row.AddChidren(btnRight); + + + var showCode = ""; + + var btnFunctionText = new Button() + { + Width = Application.GetRealWidth(330), + TextAlignment = TextAlignment.CenterRight, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = sceneStatus.GetValueText(showCode) + }; + row.AddChidren(btnFunctionText); + + var btnFunctionName = new Button() + { + X = Application.GetRealWidth(16), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.ColorfulFunction + }; + row.AddChidren(btnFunctionName); + btnFunctionName.MouseUpEventHandler = (sender, e) => + { + LoadEditDialog_OnOff(sceneStatus, btnFunctionText); + }; + + #endregion + } + #region 鍔犺浇鍔熻兘鍦烘櫙鏁版嵁璋冭妭鐣岄潰 @@ -583,6 +628,109 @@ } + + /// <summary> + /// 鍔犺浇瀹夐槻甯冮槻閫夋嫨寮圭獥 + /// </summary> + /// <param name="function"></param> + /// <param name="btn"></param> + void LoadEditDialog_Security(SceneFunctionStatus trait, Button btn) + { + Dialog dialog = new Dialog(); + + var pView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(pView); + + var optionBaseView = new FrameLayout() + { + Y = Application.GetRealHeight(500), + Height = Application.GetRealHeight(160), + AnimateSpeed = 0.3f, + Animate = Animate.DownToUp, + }; + pView.AddChidren(optionBaseView); + + var optionView = new VerticalScrolViewLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(100), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + ScrollEnabled = false, + }; + optionBaseView.AddChidren(optionView); + + var btnOn = new Button() + { + Height = Application.GetRealHeight(50), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + SelectedTextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.Defense, + IsSelected = trait.value.ToString() == "true" + }; + optionView.AddChidren(btnOn); + + optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); + + var btnOff = new Button() + { + Height = Application.GetRealHeight(50), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + SelectedTextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.Undefense, + IsSelected = trait.value.ToString() == "false" + }; + optionView.AddChidren(btnOff); + + var btnCancel = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(8) + optionView.Bottom, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(50), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + TextID = StringId.Cancel, + TextColor = CSS_Color.WarningColor, + TextSize = CSS_FontSize.SubheadingFontSize, + }; + optionBaseView.AddChidren(btnCancel); + + dialog.Show(); + + pView.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + btnOn.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + trait.value = "true"; + sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "true"; + btn.Text = trait.GetValueText() + trait.GetUintString(); + + }; + btnOff.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + trait.value = "false"; + sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "false"; + btn.Text = trait.GetValueText() + trait.GetUintString(); + + }; + + } + + /// <summary> /// 鍔犺浇娓╁害閫夋嫨寮圭獥 /// </summary> -- Gitblit v1.8.0