From 489d3bd60ad7dc2fecb398b09cf4c52df16f0fc2 Mon Sep 17 00:00:00 2001
From: Davin <591807572@qq.com>
Date: 星期三, 26 七月 2023 15:55:30 +0800
Subject: [PATCH] Merge branch 'Dev-Branch' of http://59.41.255.150:6688/r/~wxr/OnPro into Dev-Branch
---
HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 2910 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 2,682 insertions(+), 228 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
index b0b6876..08bfede 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -1,4 +1,1843 @@
-锘縰sing System;
+锘�//using System;
+//using HDL_ON.Entity;
+//using HDL_ON.UI.CSS;
+//using Shared;
+//using System.Collections.Generic;
+
+//namespace HDL_ON.UI
+//{
+// public class SceneFunctionInfoEditPage : FrameLayout
+// {
+// FrameLayout bodyView;
+// VerticalScrolViewLayout contentView;
+// Button btnOnText;
+// Button btnBrightnessText;
+
+// Scene scene;
+
+// Action refreshAction;
+// SceneFunction sceneFunction;
+
+// bool isColorful = false;
+
+// public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action)
+// {
+// bodyView = this;
+// scene = s;
+// sceneFunction = fc.localFunction.ConvertSceneFunction();
+// foreach(var ll in sceneFunction.status)
+// {
+// try
+// {
+// var temp = fc.status.Find((obj) => obj.key == ll.key);
+// if (temp != null)
+// ll.value = temp.value;
+// }
+// catch { }
+// }
+// refreshAction = action;
+// }
+
+// public void LoadPage()
+// {
+// bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+
+// new TopViewDiv(bodyView, sceneFunction.localFunction.name).LoadTopView();
+
+// contentView = new VerticalScrolViewLayout()
+// {
+// Y = Application.GetRealHeight(64),
+// Height = Application.GetRealHeight(520),
+// ScrollEnabled = false,
+// };
+// bodyView.AddChidren(contentView);
+
+// var onOffStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
+
+// LoadFunctionRow(onOffStatus);
+
+// if (sceneFunction.localFunction.spk == SPK.LightRGB)
+// {
+// var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
+// if (colorfulStatus != null)
+// {
+// isColorful = true;
+// LoadColorfulRow(colorfulStatus);
+// }
+// }
+// if(!isColorful)
+// {
+// 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),
+// Height = Application.GetRealHeight(106),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(16),
+// };
+// bodyView.AddChidren(bottomView);
+
+// var btnConfrim = new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Y = Application.GetRealHeight(12),
+// Width = Application.GetRealWidth(220),
+// Height = Application.GetRealWidth(44),
+// TextAlignment = TextAlignment.Center,
+// TextColor = CSS_Color.MainBackgroundColor,
+// BackgroundColor = CSS_Color.MainColor,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// IsBold = true,
+// Radius = (uint) Application.GetRealWidth(22),
+// TextID = StringId.Complete
+// };
+// bottomView.AddChidren(btnConfrim);
+
+// btnConfrim.MouseUpEventHandler = (sender, e) =>
+// {
+// var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
+
+// if (temp != null)
+// {
+// temp.delay = sceneFunction.delay;
+// foreach(var attr in sceneFunction.status)
+// {
+// var keva = temp.status.Find((obj) => obj.key == attr.key);
+// if (keva != null)
+// {
+// keva.value = attr.value;
+// }
+// }
+// }
+// else
+// {
+// scene.functions.Add(sceneFunction);
+// }
+// if (!string.IsNullOrEmpty(scene.userSceneId))
+// {
+// var result = scene.UpdateScene();
+// if (result == DAL.Server.StateCode.SUCCESS)
+// {
+// refreshAction();
+// this.RemoveFromParent();
+// }
+// else
+// {
+// DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(result);
+// }
+// }
+// else
+// {
+// refreshAction();
+// this.RemoveFromParent();
+// }
+// };
+// }
+
+
+// /// <summary>
+// /// 鍔犺浇鍔熻兘Row
+// /// </summary>
+// void LoadFunctionRow(SceneFunctionStatus sceneStatus)
+// {
+// if (sceneStatus == null)
+// return;
+// #region Row code
+// var row = new FrameLayout()
+// {
+// Height = Application.GetRealHeight(50),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// };
+// contentView.AddChidren(row);
+
+
+// if (sceneStatus.key != FunctionAttributeKey.OnOff)
+// {
+// row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+// }
+// else
+// {
+// if(sceneStatus.value == "stop")
+// {
+// sceneStatus.value = "on";
+// }
+// }
+// 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 = "";
+
+// if (sceneStatus.key == FunctionAttributeKey.Mode)
+// {
+// if (DB_ResidenceData.Instance.GatewayType == 0)
+// {
+// if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
+// {
+// //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
+// switch (sceneStatus.value)
+// {
+// case "0":
+// showCode = "cool";
+// break;
+// case "1":
+// showCode = "heat";
+// break;
+// case "2":
+// showCode = "fan";
+// break;
+// case "3":
+// showCode = "auto";
+// break;
+// case "4":
+// showCode = "dry";
+// break;
+// }
+// }
+// else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
+// {
+// //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
+// switch (sceneStatus.value)
+// {
+// case "5":
+// showCode = "timer";
+// break;
+// case "1":
+// showCode = "normal";
+// break;
+// case "2":
+// showCode = "day";
+// break;
+// case "3":
+// showCode = "night";
+// break;
+// case "4":
+// showCode = "away";
+// break;
+// }
+// }
+// }
+// }
+
+// var btnFunctionText = new Button()
+// {
+// Width = Application.GetRealWidth(330),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// Text = sceneStatus.GetValueText(showCode) + sceneStatus.GetUintString()
+// };
+// row.AddChidren(btnFunctionText);
+// if (sceneStatus.key == FunctionAttributeKey.RGB)
+// {
+// btnFunctionText.Width = Application.GetRealWidth(28);
+// btnFunctionText.Height = Application.GetRealWidth(28);
+// btnFunctionText.X = Application.GetRealWidth(330 - 28);
+// btnFunctionText.Gravity = Gravity.CenterVertical;
+// btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
+// btnFunctionText.Text = "";
+// btnFunctionText.BackgroundColor = (uint)(0xFF000000 + new Light().GetRGBcolor(sceneStatus.value));
+// }
+
+
+
+// if (sceneStatus.key == FunctionAttributeKey.OnOff)
+// {
+// btnOnText = btnFunctionText;
+// }
+// else if (sceneStatus.key == FunctionAttributeKey.Brightness || sceneStatus.key == FunctionAttributeKey.Percent)
+// {
+// int outT = 0;
+// int.TryParse(sceneStatus.value, out outT);
+// if (outT < 0)
+// sceneStatus.value = "0";
+// btnBrightnessText = btnFunctionText;
+// }
+
+// var btnFunctionName = new Button()
+// {
+// X = Application.GetRealWidth(16),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// Text = sceneStatus.GetNameText()
+// };
+// row.AddChidren(btnFunctionName);
+// btnFunctionName.MouseUpEventHandler = (sender, e) =>
+// {
+// switch (sceneStatus.key)
+// {
+// case FunctionAttributeKey.Security:
+// LoadEditDialog_Security(sceneStatus, btnFunctionText);
+// break;
+// case FunctionAttributeKey.OnOff:
+// LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
+// break;
+// case FunctionAttributeKey.Brightness:
+// LoadEditDialog_Percent(sceneStatus, btnFunctionText);
+// break;
+// case FunctionAttributeKey.Mode:
+// var statusList = new List<string>();
+// var tr = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.Mode);
+// foreach(var t in tr.value)
+// {
+// statusList.Add(t);
+// }
+// LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText,statusList);
+// break;
+// case FunctionAttributeKey.FanSpeed:
+// var fanStatusList = new List<string>();
+// var tr1 = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
+// foreach (var t in tr1.value)
+// {
+// fanStatusList.Add(t);
+// }
+// LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText, fanStatusList);
+// break;
+// case FunctionAttributeKey.SetTemp:
+// LoadEditDialog_Temp(sceneStatus, btnFunctionText);
+// break;
+// case FunctionAttributeKey.FadeTime:
+
+// break;
+// case "angle":
+// //鍛堢幇鐨勫脊绐�
+// LoadEditDialog_Angle(sceneStatus, btnFunctionText);
+
+// break;
+// case "cct":
+// LoadEditDialog_CCT(sceneStatus, btnFunctionText);
+// break;
+// case FunctionAttributeKey.RGB:
+// btnFunctionText.Width = Application.GetRealWidth(28);
+// btnFunctionText.Height = Application.GetRealWidth(28);
+// btnFunctionText.X = Application.GetRealWidth(330 - 28);
+// btnFunctionText.Gravity = Gravity.CenterVertical;
+// btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
+// btnFunctionText.Text = "";
+
+// LoadEditDialog_RGB(sceneStatus, btnFunctionText);
+// break;
+// case FunctionAttributeKey.Percent:
+// LoadEditDialog_Percent(sceneStatus, btnFunctionText);
+// break;
+// }
+// };
+
+// #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 鍔犺浇鍔熻兘鍦烘櫙鏁版嵁璋冭妭鐣岄潰
+// /// <summary>
+// /// 鍔犺浇寤舵椂Row
+// /// </summary>
+// void LoadDelayRow()
+// {
+// #region 寤舵椂row
+// FrameLayout delayRow = new FrameLayout()
+// {
+// Height = Application.GetRealWidth(50),
+// BackgroundColor = CSS_Color.MainBackgroundColor
+// };
+// contentView.AddChidren(delayRow);
+// delayRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+
+// Button btnDelayRight = new Button()
+// {
+// X = Application.GetRealWidth(339),
+// Gravity = Gravity.CenterVertical,
+// Width = Application.GetMinRealAverage(16),
+// Height = Application.GetMinRealAverage(16),
+// UnSelectedImagePath = "Public/Right.png",
+// };
+// delayRow.AddChidren(btnDelayRight);
+
+// var btnDelayInfo = new Button()
+// {
+// Width = Application.GetRealWidth(327),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// Text = new Scene() { delay = sceneFunction.delay }.GetDelayText()
+// };
+// delayRow.AddChidren(btnDelayInfo);
+
+// Button btnSceneDelayTitle = new Button()
+// {
+// X = Application.GetRealWidth(16),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// TextID = StringId.Delay,
+// };
+// delayRow.AddChidren(btnSceneDelayTitle);
+
+
+// btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => {
+// Action<string> action = (obj) => {
+// sceneFunction.delay = obj;
+// btnDelayInfo.Text = new Scene() { delay = sceneFunction.delay }.GetDelayText();
+// };
+// Dictionary<string, string> items = new Dictionary<string, string>();
+// items.Add("30", "30s");
+// items.Add("60", "1min");
+// items.Add("120", "2min");
+// items.Add("300", "5min");
+// new PublicAssmebly().SetSceneDelayDialog(action, sceneFunction.delay);
+// };
+// #endregion
+
+
+// }
+
+// #endregion
+
+// #region 灞炴�ч�夋嫨寮圭獥
+// /// <summary>
+// /// 鍔犺浇寮�鍏抽�夋嫨寮圭獥
+// /// </summary>
+// /// <param name="function"></param>
+// /// <param name="btn"></param>
+// void LoadEditDialog_OnOff(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.On,
+// IsSelected = trait.value.ToString() == "on"
+// };
+// 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.OFF,
+// IsSelected = trait.value.ToString() == "off"
+// };
+// 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 = "on";
+// sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "on";
+// btn.Text = trait.GetValueText() + trait.GetUintString();
+
+// var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+// if (temp == null)
+// {
+// temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+// }
+// if (temp != null)
+// {
+// if (temp.value == "0")
+// {
+// temp.value = "100";
+// }
+// btnBrightnessText.Text = temp.GetValueText() + "%";
+// }
+// };
+// btnOff.MouseUpEventHandler = (sender,e) =>{
+// dialog.Close();
+// trait.value = "off";
+// sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "off";
+// btn.Text= trait.GetValueText() + trait.GetUintString();
+
+// var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+// if(temp == null)
+// {
+// temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+// }
+// if (temp != null)
+// {
+// if (temp.value != "0")
+// {
+// temp.value = "0";
+// }
+// btnBrightnessText.Text = temp.GetValueText() + "%";
+// }
+// };
+
+// }
+
+
+// /// <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>
+// /// <param name="function"></param>
+// /// <param name="btn"></param>
+// void LoadEditDialog_Temp(SceneFunctionStatus trait, Button btn)
+// {
+// double temp = trait.min;
+// double.TryParse(trait.value, out temp);
+// trait.value = temp.ToString();
+
+// List<string> pickerItems = new List<string>();
+// if(trait == null)
+// {
+// return;
+// }
+
+// Dialog dialog = new Dialog();
+
+// var pView = new FrameLayout()
+// {
+// BackgroundColor = CSS_Color.DialogTransparentColor1,
+// };
+// dialog.AddChidren(pView);
+
+// var optionBaseView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(456-60),
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(260),
+// AnimateSpeed = 0.3f,
+// Animate = Animate.DownToUp,
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// pView.AddChidren(optionBaseView);
+
+// var topView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(40),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// optionBaseView.AddChidren(topView);
+// topView.AddChidren(new Button() {Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+// var btnCancel = new Button()
+// {
+// X = Application.GetRealWidth(21),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Cancel,
+// };
+// topView.AddChidren(btnCancel);
+
+// var btnConfrim = new Button()
+// {
+// X = Application.GetRealWidth(160),
+// Width = Application.GetRealWidth(160),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.MainColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Confirm,
+// };
+// topView.AddChidren(btnConfrim);
+
+// UIPickerView uIPickerView = new UIPickerView()
+// {
+// Y = Application.GetRealHeight(40),
+// Height = Application.GetRealHeight(210),
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// for (int i = trait.min; i <= trait.max; i += 1)
+// {
+// pickerItems.Add(i.ToString() + trait.GetUintString());
+// }
+// uIPickerView.setNPicker(pickerItems, null, null);
+// optionBaseView.AddChidren(uIPickerView);
+// uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
+
+// string selectItem = pickerItems[0];
+// if (pickerItems.Contains(trait.value + trait.GetUintString()))
+// {
+// selectItem = trait.value.ToString() + trait.GetUintString();
+// }
+
+// dialog.Show();
+
+// pView.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+
+// btnCancel.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+// uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+// selectItem = pickerItems[int1];
+// };
+// btnConfrim.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// btn.Text = selectItem;
+// //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
+// trait.value = selectItem.Replace(trait.GetUintString(),"");
+// };
+
+// }
+
+// /// <summary>
+// /// 鍔犺浇娓╁害閫夋嫨寮圭獥
+// /// </summary>
+// /// <param name="function"></param>
+// /// <param name="btn"></param>
+// void LoadEditDialog_Angle (SceneFunctionStatus trait, Button btn)
+// {
+// double temp = trait.min;
+// double.TryParse(trait.value, out temp);
+// trait.value = temp.ToString();
+
+// List<string> pickerItems = new List<string>();
+// if (trait == null)
+// {
+// return;
+// }
+
+// Dialog dialog = new Dialog();
+
+// var pView = new FrameLayout()
+// {
+// BackgroundColor = CSS_Color.DialogTransparentColor1,
+// };
+// dialog.AddChidren(pView);
+
+// var optionBaseView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(456 - 60),
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(260),
+// AnimateSpeed = 0.3f,
+// Animate = Animate.DownToUp,
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// pView.AddChidren(optionBaseView);
+
+// var topView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(40),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// optionBaseView.AddChidren(topView);
+// topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+// var btnCancel = new Button()
+// {
+// X = Application.GetRealWidth(21),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Cancel,
+// };
+// topView.AddChidren(btnCancel);
+
+
+// var btnConfrim = new Button()
+// {
+// X = Application.GetRealWidth(160),
+// Width = Application.GetRealWidth(160),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.MainColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Confirm,
+// };
+// topView.AddChidren(btnConfrim);
+
+// UIPickerView uIPickerView = new UIPickerView()
+// {
+// Y = Application.GetRealHeight(40),
+// Height = Application.GetRealHeight(210),
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// for (int i = trait.min; i <= trait.max; i += 1)
+// {
+// pickerItems.Add(i.ToString() + trait.GetUintString());
+// }
+// uIPickerView.setNPicker(pickerItems, null, null);
+// optionBaseView.AddChidren(uIPickerView);
+// uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()+ "掳"), 0, 0);
+
+// string selectItem = pickerItems[pickerItems.IndexOf(trait.value.ToString() + "掳")];
+// if (pickerItems.Contains(trait.value + trait.GetUintString()))
+// {
+// selectItem = trait.value.ToString() + trait.GetUintString();
+// }
+// //uIPickerView.setCurrentItems
+// dialog.Show();
+
+// pView.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+
+// btnCancel.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+// uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+// selectItem = pickerItems[int1];
+// };
+// btnConfrim.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// btn.Text = selectItem;
+// //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
+// trait.value = selectItem.Replace(trait.GetUintString(), "");
+// };
+
+// }
+
+
+// /// <summary>
+// /// 鍔犺浇浜害閫夋嫨寮圭獥
+// /// </summary>
+// /// <param name="function"></param>
+// /// <param name="btn"></param>
+// void LoadEditDialog_Percent(SceneFunctionStatus trait, Button btn)
+// {
+// if (trait == null)
+// {
+// return;
+// }
+
+// Dialog dialog = new Dialog();
+
+// var pView = new FrameLayout()
+// {
+// BackgroundColor = CSS_Color.DialogTransparentColor1,
+// };
+// dialog.AddChidren(pView);
+
+// var optionBaseView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(467),
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(180),
+// AnimateSpeed = 0.3f,
+// Animate = Animate.DownToUp,
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// pView.AddChidren(optionBaseView);
+
+// var topView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(40),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// optionBaseView.AddChidren(topView);
+// topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+// var btnTitle = new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// TextAlignment = TextAlignment.Center,
+// Width = Application.GetRealWidth(100),
+// Text = trait.GetNameText(),
+// IsBold = true,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// };
+// topView.AddChidren(btnTitle);
+
+// var btnCancel = new Button()
+// {
+// X = Application.GetRealWidth(21),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Cancel,
+// };
+// topView.AddChidren(btnCancel);
+
+// var btnConfrim = new Button()
+// {
+// X = Application.GetRealWidth(200),
+// Width = Application.GetRealWidth(120),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.MainColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Confirm,
+// };
+// topView.AddChidren(btnConfrim);
+
+// Button btnMinusSignIcon = new Button()
+// {
+// X = Application.GetRealWidth(26),
+// Y = Application.GetRealHeight(118),
+// Width = Application.GetMinRealAverage(24),
+// Height = Application.GetMinRealAverage(24),
+// UnSelectedImagePath = "Public/MinusSignIcon.png",
+// };
+// optionBaseView.AddChidren(btnMinusSignIcon);
+
+// DiyImageSeekBar controlBar = new DiyImageSeekBar()
+// {
+// X = btnMinusSignIcon.Right + Application.GetRealWidth(12),
+// Y = Application.GetRealHeight(100),//414,璁捐鏁版嵁
+// Width = Application.GetRealWidth(220),
+// Height = Application.GetRealHeight(54),
+// SeekBarViewHeight = Application.GetRealHeight(8),
+// ThumbImagePath = "Public/ThumbImage.png",
+// ThumbImageHeight = Application.GetRealHeight(54),
+// ProgressBarColor = CSS_Color.MainColor,
+// ProgressTextColor = CSS_Color.FirstLevelTitleColor,
+// ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// MaxValue = 100,
+// Progress = trait.value.ToString().Replace("{}", "") == "" ? 0 : Convert.ToInt32(trait.value.Replace("{}", "")),
+// SeekBarPadding = Application.GetRealWidth(20),
+// };
+// optionBaseView.AddChidren(controlBar);
+
+// Button btnPlusSgnIcon = new Button()
+// {
+// X = controlBar.Right + Application.GetRealWidth(12),
+// Y = Application.GetRealHeight(118),
+// Width = Application.GetMinRealAverage(24),
+// Height = Application.GetMinRealAverage(24),
+// UnSelectedImagePath = "Public/PlusSignIcon.png",
+// };
+// optionBaseView.AddChidren(btnPlusSgnIcon);
+
+// btnMinusSignIcon.MouseUpEventHandler = (sender, e) =>
+// {
+// controlBar.Progress--;
+// };
+// btnPlusSgnIcon.MouseUpEventHandler = (sender, e) =>
+// {
+// controlBar.Progress++;
+// };
+
+// dialog.Show();
+// pView.MouseUpEventHandler = (sender, e) =>
+// {
+// dialog.Close();
+// };
+
+// btnCancel.MouseUpEventHandler = (sender, e) =>
+// {
+// dialog.Close();
+// };
+// btnConfrim.MouseUpEventHandler = (sender, e) =>
+// {
+// dialog.Close();
+// trait.value = controlBar.Progress.ToString();
+// btn.Text = trait.value + trait.GetUintString();
+
+// var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
+// if (temp != null)
+// {
+// if (controlBar.Progress > 0)
+// {
+// temp.value = "on";
+// }
+// else
+// {
+// temp.value = "off";
+// }
+// btnOnText.Text = temp.GetValueText();
+// }
+// };
+// }
+
+
+// /// <summary>
+// /// 鍔犺浇cct閫夋嫨寮圭獥
+// /// </summary>
+// /// <param name="function"></param>
+// /// <param name="btn"></param>
+// void LoadEditDialog_CCT(SceneFunctionStatus trait, Button btn)
+// {
+// double temp = trait.min;
+// double.TryParse(trait.value, out temp);
+// trait.value = temp.ToString();
+
+// List<string> pickerItems = new List<string>();
+// if (trait == null)
+// {
+// return;
+// }
+
+// Dialog dialog = new Dialog();
+
+// var pView = new FrameLayout()
+// {
+// BackgroundColor = CSS_Color.DialogTransparentColor1,
+// };
+// dialog.AddChidren(pView);
+
+// var optionBaseView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(456 - 60),
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(260),
+// AnimateSpeed = 0.3f,
+// Animate = Animate.DownToUp,
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// pView.AddChidren(optionBaseView);
+
+// var topView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(40),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// optionBaseView.AddChidren(topView);
+// topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+// var btnCancel = new Button()
+// {
+// X = Application.GetRealWidth(21),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Cancel,
+// };
+// topView.AddChidren(btnCancel);
+
+// var btnConfrim = new Button()
+// {
+// X = Application.GetRealWidth(200),
+// Width = Application.GetRealWidth(120),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.MainColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Confirm,
+// };
+// topView.AddChidren(btnConfrim);
+
+// UIPickerView uIPickerView = new UIPickerView()
+// {
+// Y = Application.GetRealHeight(40),
+// Height = Application.GetRealHeight(210),
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// for (int i = trait.min; i <= trait.max; i += 100)
+// {
+// pickerItems.Add(i.ToString() + trait.GetUintString());
+// }
+// uIPickerView.setNPicker(pickerItems, null, null);
+// optionBaseView.AddChidren(uIPickerView);
+// uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
+
+// string selectItem = pickerItems[0];
+// if (pickerItems.Contains(trait.value + trait.GetUintString()))
+// {
+// selectItem = trait.value.ToString() + trait.GetUintString();
+// }
+
+// dialog.Show();
+
+// pView.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+
+// btnCancel.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+// uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+// selectItem = pickerItems[int1];
+// };
+// btnConfrim.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// btn.Text = selectItem;
+// //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
+// trait.value = selectItem.Replace(trait.GetUintString(), "");
+// };
+
+// }
+
+
+// /// <summary>
+// /// 鍔犺浇rgb閫夋嫨寮圭獥
+// /// </summary>
+// /// <param name="function"></param>
+// /// <param name="btn"></param>
+// void LoadEditDialog_RGB(SceneFunctionStatus trait, Button btn)
+// {
+// string rgbString = trait.value;
+
+// Light tempLight = new Light();
+
+// if (trait == null)
+// {
+// return;
+// }
+
+// Dialog dialog = new Dialog();
+
+// var bodyView = new FrameLayout();
+// dialog.AddChidren(bodyView);
+
+// var contentView = new FrameLayout()
+// {
+// Gravity = Gravity.Center,
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(52 + 44 + 18 + 22 + 248),
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// bodyView.AddChidren(contentView);
+
+// #region 鏍囬鍖�
+// var titleView = new FrameLayout()
+// {
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(52),
+// };
+// contentView.AddChidren(titleView);
+
+// var btnTitle = new Button()
+// {
+// Height = Application.GetRealHeight(52),
+// Gravity = Gravity.Center,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// TextColor = CSS_Color.MainColor,
+// TextID = StringId.ColorValue,
+// TextAlignment = TextAlignment.Center,
+// };
+// titleView.AddChidren(btnTitle);
+// titleView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor, Y = Application.GetRealHeight(51) });
+
+// #endregion
+
+// int attrViewHight = Application.GetRealHeight(18 + 22+ 248);
+// //灞炴�ц缃尯鍩�
+// var attrView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(52),
+// Width = Application.GetRealWidth(343),
+// Height = attrViewHight
+// };
+// contentView.AddChidren(attrView);
+// attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) });
+
+
+
+// #region RGB
+// var rgbView = new FrameLayout()
+// {
+// Height = Application.GetRealHeight(248)
+// };
+// attrView.AddChidren(rgbView);
+
+
+// var btnCurColor = new Button()
+// {
+// X = Application.GetRealWidth(24),
+// Y = Application.GetRealHeight(10),
+// Width = Application.GetMinRealAverage(24),
+// Height = Application.GetMinRealAverage(24),
+// Radius = (uint)Application.GetMinRealAverage(8),
+// BorderColor = CSS_Color.PromptingColor2,
+// BorderWidth = 1,
+// BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(trait.value))
+// };
+// rgbView.AddChidren(btnCurColor);
+
+// //鑹茬洏鐨勬甯冩帶浠�(闄愬埗閭d釜鐧借壊婊戝姩鐞冧娇鐢�)
+// var framePickerBack = new FrameLayout();
+// framePickerBack.Gravity = Gravity.CenterHorizontal;
+// framePickerBack.Y = Application.GetRealHeight(20);
+// framePickerBack.Width = Application.GetMinRealAverage(198);
+// framePickerBack.Height = Application.GetMinRealAverage(198);
+// rgbView.AddChidren(framePickerBack);
+
+// var colorPicker = new ColorPicker()
+// {
+// ColorImagePath = "FunctionIcon/Light/ColorWheel.png",
+// };
+// framePickerBack.AddChidren(colorPicker);
+
+
+
+
+
+
+// //鐧界偣鎺т欢
+// var btnWhiteRound = new Button();
+// btnWhiteRound.Width = Application.GetRealWidth(24);
+// btnWhiteRound.Height = Application.GetRealWidth(24);
+// btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png";
+// btnWhiteRound.Visible = false;
+// framePickerBack.AddChidren(btnWhiteRound);
+
+
+// //褰撳墠鐐瑰嚮鐨勩�愮偣銆戞槸鍚︽纭�
+// bool pointIsRight = false;
+// //鍦嗙殑鍗婂緞(鑰冭檻杈圭晫,闇�瑕佽缃畠鐨勫崐寰勬瘮杈冨皬涓�鐐�)
+// int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12);
+
+
+// colorPicker.ColorChaged += (sender2, e2) => {
+// rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
+// //trait.value = rgbString;
+// btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
+// };
+// colorPicker.MouseDownEventHandler += (sender, e) =>
+// {
+// pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y);
+// if (pointIsRight == false)
+// {
+// //鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐�
+// return;
+// }
+// //鏄剧ず鐧界偣
+// btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2;
+// btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2;
+// if (btnWhiteRound.Visible == false)
+// {
+// btnWhiteRound.Visible = true;
+// }
+// };
+
+// colorPicker.MouseMoveEventHandler += (sender, e) =>
+// {
+// //褰撻紶鏍囩偣涓嬩簨浠跺鐞�
+// colorPicker.MouseDownEventHandler(sender, e);
+// };
+
+
+// #endregion
+
+
+
+
+// #region bottom View
+// var bottomView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(52) + attrViewHight,
+// Height = Application.GetRealHeight(46),
+// };
+// contentView.AddChidren(bottomView);
+// bottomView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
+
+// var btnCancel = new Button()
+// {
+// Width = Application.GetRealWidth(172),
+// Height = Application.GetRealHeight(44),
+// TextAlignment = TextAlignment.Center,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// TextColor = CSS_Color.TextualColor,
+// TextID = StringId.Cancel,
+// };
+// bottomView.AddChidren(btnCancel);
+// btnCancel.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+
+// var btnComplete = new Button()
+// {
+// X = Application.GetRealWidth(172),
+// Width = Application.GetRealWidth(172),
+// Height = Application.GetRealHeight(46),
+// BackgroundColor = CSS_Color.MainColor,
+// TextColor = CSS_Color.MainBackgroundColor,
+// TextAlignment = TextAlignment.Center,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// TextID = StringId.Complete
+// };
+// bottomView.AddChidren(btnComplete);
+
+// //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
+// int mRectCornerID = HDLUtils.RectCornerBottomRight;
+// btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
+// btnComplete.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// trait.value = rgbString;
+// btn.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
+// };
+
+// #endregion
+
+
+// dialog.Show();
+
+// }
+
+
+// /// <summary>
+// /// 妫�娴嬬偣鍑荤偣
+// /// </summary>
+// /// <param name="circleR">鍦嗙殑鍗婂緞</param>
+// /// <param name="circleX">鍦嗗績X杞�</param>
+// /// <param name="circleY">鍦嗗績Y杞�</param>
+// /// <param name="pointX">鐐瑰嚮鐐圭殑X杞�</param>
+// /// <param name="pointY">鐐瑰嚮鐐圭殑Y杞�</param>
+// /// <returns></returns>
+// private bool CheckPoint(int circleR, int circleX, int circleY, int pointX, int pointY)
+// {
+// int dwidth = circleX - pointX;
+// if (dwidth < 0) { dwidth *= -1; }
+
+// int dHeight = circleY - pointY;
+// if (dHeight < 0) { dHeight *= -1; }
+
+// //鏍规嵁涓夎鍑芥暟,姹備笁瑙掑舰鐨勬枩杈归暱
+// int dlength = dwidth * dwidth + dHeight * dHeight;
+// //鍗婂緞闀垮害(涓嶅紑鏂�,鎵�浠ユ槸鎸夊钩鏂圭畻)
+// circleR *= circleR;
+// if (dlength < circleR)
+// {
+// //濡傛灉缁勬垚鐨勪笁瑙掑舰骞舵病鏈夐暱杩囧崐寰�,鍒欎唬琛ㄨ繕鍦ㄥ渾鍐�(涓嶅厑璁哥偣杈圭晫)
+// return true;
+// }
+// return false;
+// }
+
+
+
+// /// <summary>
+// /// 鍔犺浇鍙樺寲閫熷害閫夋嫨寮圭獥
+// /// </summary>
+// /// <param name="function"></param>
+// /// <param name="btn"></param>
+// void LoadEditDialog_FadeTime(SceneFunctionStatus trait, Button btn)
+// {
+// if (trait == null)
+// {
+// return;
+// }
+
+// Dialog dialog = new Dialog();
+
+// var pView = new FrameLayout()
+// {
+// BackgroundColor = CSS_Color.DialogTransparentColor1,
+// };
+// dialog.AddChidren(pView);
+
+// var optionBaseView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(467),
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(180),
+// AnimateSpeed = 0.3f,
+// Animate = Animate.DownToUp,
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// pView.AddChidren(optionBaseView);
+
+// var topView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(40),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// optionBaseView.AddChidren(topView);
+// topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+// var btnTitle = new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// TextAlignment = TextAlignment.Center,
+// Width = Application.GetRealWidth(100),
+// Text = trait.GetNameText(),
+// IsBold = true,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// };
+// topView.AddChidren(btnTitle);
+
+// var btnCancel = new Button()
+// {
+// X = Application.GetRealWidth(21),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Cancel,
+// };
+// topView.AddChidren(btnCancel);
+
+// var btnConfrim = new Button()
+// {
+// X = Application.GetRealWidth(200),
+// Width = Application.GetRealWidth(120),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.MainColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Confirm,
+// };
+// topView.AddChidren(btnConfrim);
+
+// Button btnMinusSignIcon = new Button()
+// {
+// X = Application.GetRealWidth(26),
+// Y = Application.GetRealHeight(118),
+// Width = Application.GetMinRealAverage(24),
+// Height = Application.GetMinRealAverage(24),
+// Text = "0s",
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// };
+// optionBaseView.AddChidren(btnMinusSignIcon);
+
+// DiyImageSeekBar controlBar = new DiyImageSeekBar()
+// {
+// X = btnMinusSignIcon.Right + Application.GetRealWidth(12),
+// Y = Application.GetRealHeight(100),//414,璁捐鏁版嵁
+// Width = Application.GetRealWidth(220),
+// Height = Application.GetRealHeight(54),
+// SeekBarViewHeight = Application.GetRealHeight(8),
+// ThumbImagePath = "Public/ThumbImage.png",
+// ThumbImageHeight = Application.GetRealHeight(54),
+// ProgressBarColor = CSS_Color.MainColor,
+// ProgressTextColor = CSS_Color.FirstLevelTitleColor,
+// ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// MaxValue = 100,
+// Progress = trait.value.ToString().Replace("{}", "") == "" ? 0 : Convert.ToInt32(trait.value.Replace("{}", "")),
+// SeekBarPadding = Application.GetRealWidth(20),
+// };
+// optionBaseView.AddChidren(controlBar);
+
+// Button btnPlusSgnIcon = new Button()
+// {
+// X = controlBar.Right + Application.GetRealWidth(12),
+// Y = Application.GetRealHeight(118),
+// Width = Application.GetMinRealAverage(24),
+// Height = Application.GetMinRealAverage(24),
+// Text = "10s",
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+// };
+// optionBaseView.AddChidren(btnPlusSgnIcon);
+
+// btnMinusSignIcon.MouseUpEventHandler = (sender, e) =>
+// {
+// controlBar.Progress--;
+// };
+// btnPlusSgnIcon.MouseUpEventHandler = (sender, e) =>
+// {
+// controlBar.Progress++;
+// };
+
+// dialog.Show();
+// pView.MouseUpEventHandler = (sender, e) =>
+// {
+// dialog.Close();
+// };
+
+// btnCancel.MouseUpEventHandler = (sender, e) =>
+// {
+// dialog.Close();
+// };
+// btnConfrim.MouseUpEventHandler = (sender, e) =>
+// {
+// dialog.Close();
+// trait.value = controlBar.Progress.ToString();
+// btn.Text = trait.value + trait.GetUintString();
+// };
+// }
+
+
+// /// <summary>
+// /// 鍔犺浇鍔熻兘灞炴�ф暟鎹�夋嫨寮圭獥
+// /// </summary>
+// void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn,List<string> statusList)
+// {
+// Button lastButton = new Button();
+// var lastData = "";
+// var lastText = "";
+// Dialog dialog = new Dialog();
+
+// if(DB_ResidenceData.Instance.GatewayType == 0)
+// {
+// if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
+// {
+// //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
+// for (int i = 0; i < statusList.Count; i++)
+// {
+// if (statusList[i] == "0")
+// {
+// statusList[i] = "cool";
+// }
+// else if (statusList[i] == "1")
+// {
+// statusList[i] = "heat";
+// }
+// else if (statusList[i] == "2")
+// {
+// statusList[i] = "fan";
+// }
+// else if (statusList[i] == "3")
+// {
+// statusList[i] = "auto";
+// }
+// else if (statusList[i] == "4")
+// {
+// statusList[i] = "dry";
+// }
+// }
+// }
+// else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
+// {
+// //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
+// for (int i = 0; i < statusList.Count; i++)
+// {
+// if (statusList[i] == "5")
+// {
+// statusList[i] = "timer";
+// }
+// else if (statusList[i] == "1")
+// {
+// statusList[i] = "normal";
+// }
+// else if (statusList[i] == "2")
+// {
+// statusList[i] = "day";
+// }
+// else if (statusList[i] == "3")
+// {
+// statusList[i] = "night";
+// }
+// else if (statusList[i] == "4")
+// {
+// statusList[i] = "away";
+// }
+// }
+
+// }
+// }
+
+// var pView = new FrameLayout()
+// {
+// BackgroundColor = CSS_Color.DialogTransparentColor1,
+// };
+// dialog.AddChidren(pView);
+
+// var optionBaseView = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(579 - 50 * statusList.Count),
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(50 * statusList.Count + 50),
+// AnimateSpeed = 0.3f,
+// Animate = Animate.DownToUp,
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// pView.AddChidren(optionBaseView);
+
+// var topView = new FrameLayout()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Width = Application.GetRealWidth(343),
+// Height = Application.GetRealHeight(50),
+// BackgroundColor = CSS_Color.MainBackgroundColor,
+// Radius = (uint)Application.GetRealWidth(12),
+// };
+// optionBaseView.AddChidren(topView);
+
+// var btnTitle = new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// TextAlignment = TextAlignment.Center,
+// Width = Application.GetRealWidth(100),
+// Text = trait.GetNameText(),
+// IsBold = true,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.SubheadingFontSize,
+// };
+// topView.AddChidren(btnTitle);
+
+// var btnCancel = new Button()
+// {
+// X = Application.GetRealWidth(21),
+// Width = Application.GetRealWidth(100),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.PromptingColor1,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Cancel,
+// };
+// topView.AddChidren(btnCancel);
+
+// var btnConfrim = new Button()
+// {
+// X = Application.GetRealWidth(200),
+// Width = Application.GetRealWidth(120),
+// TextAlignment = TextAlignment.CenterRight,
+// TextColor = CSS_Color.MainColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// TextID = StringId.Complete,
+// };
+// topView.AddChidren(btnConfrim);
+// int hei = 1;
+// foreach (var m in statusList)
+// {
+// var row = new FrameLayout()
+// {
+// Y = Application.GetRealHeight(50 * hei),
+// Height = Application.GetRealHeight(50),
+// };
+// optionBaseView.AddChidren(row);
+// if (statusList.Count > hei)
+// {
+// optionBaseView.AddChidren(new Button()
+// {
+// Gravity = Gravity.CenterHorizontal,
+// Y = row.Bottom,
+// Width = Application.GetRealWidth(343),
+// BackgroundColor = CSS_Color.DividingLineColor,
+// Height = 1,
+// });
+// }
+// hei++;
+
+// var btnChoose = new Button()
+// {
+// X = Application.GetRealWidth(303),
+// Gravity = Gravity.CenterVertical,
+// Width = Application.GetMinRealAverage(28),
+// Height = Application.GetMinRealAverage(28),
+// UnSelectedImagePath = "Public/ChooseIcon.png",
+// SelectedImagePath = "Public/ChooseOnIcon.png",
+
+// };
+// row.AddChidren(btnChoose);
+// if (trait.value == m)
+// {
+// lastButton = btnChoose;
+// btnChoose.IsSelected = true;
+// }
+// var btnPropertyTitle = new Button()
+// {
+// X = Application.GetRealWidth(16),
+// TextAlignment = TextAlignment.CenterLeft,
+// TextColor = CSS_Color.FirstLevelTitleColor,
+// TextSize = CSS_FontSize.TextFontSize,
+// Tag = m,
+// Text = trait.GetValueText(m)
+// };
+// row.AddChidren(btnPropertyTitle);
+
+// btnPropertyTitle.MouseUpEventHandler = (sender, e) => {
+// btnChoose.IsSelected = true;
+// if (lastButton != null)
+// {
+// lastButton.IsSelected = false;
+// }
+// lastButton = btnChoose;
+// lastData = btnPropertyTitle.Tag.ToString();
+// lastText = btnPropertyTitle.Text;
+// };
+// }
+
+
+
+
+// dialog.Show();
+
+// pView.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+
+// btnCancel.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// };
+// btnConfrim.MouseUpEventHandler = (sender, e) => {
+// dialog.Close();
+// trait.value = lastData;
+// //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.curValue.ToString() ;
+// btn.Text = lastText;
+// };
+
+// }
+
+// #endregion
+
+// }
+//}
+
+
+
+
+
+ using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -13,15 +1852,33 @@
Button btnOnText;
Button btnBrightnessText;
+ List<FrameLayout> functionRowList = new List<FrameLayout>();
+
+
Scene scene;
Action refreshAction;
SceneFunction sceneFunction;
+
+ bool isColorful = false;
+ SceneFunction rgbColorful;
+ bool isOnStatus = false;
+
public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action)
{
bodyView = this;
scene = s;
- sceneFunction = fc;
+ sceneFunction = fc.localFunction.ConvertSceneFunction();
+ foreach(var ll in sceneFunction.status)
+ {
+ try
+ {
+ var temp = fc.status.Find((obj) => obj.key == ll.key);
+ if (temp != null)
+ ll.value = temp.value;
+ }
+ catch { }
+ }
refreshAction = action;
}
@@ -39,8 +1896,23 @@
};
bodyView.AddChidren(contentView);
- LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff));
+ var onOffStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
+ if(onOffStatus.value == "on")
+ {
+ isOnStatus = true;
+ }
+ LoadFunctionRow(onOffStatus);
+ if (sceneFunction.localFunction.spk == SPK.LightRGB || sceneFunction.localFunction.spk == SPK.GroupControl)
+ {
+ //var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
+ //if (colorfulStatus != null)
+ //{
+ // isColorful = true;
+ // LoadColorfulRow(colorfulStatus);
+ // isColorful = colorfulStatus.value == "on";
+ //}
+ }
foreach (var attr in sceneFunction.status)
{
switch (attr.key)
@@ -49,7 +1921,6 @@
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:
@@ -73,44 +1944,17 @@
case "angle"://瑙掑害
LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "angle"));
break;
+ case "security"://澶у崕鎽勫儚甯冮槻鎾ら槻
+ LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "security"));
+ break;
}
}
-
- //鍔犺浇寮�鍏砇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)
{
//鍔犺浇寤舵椂Row
LoadDelayRow();
}
-
var bottomView = new FrameLayout()
{
Y = Application.GetRealHeight(591),
@@ -138,28 +1982,57 @@
btnConfrim.MouseUpEventHandler = (sender, e) =>
{
+ if (sceneFunction.localFunction.spk == SPK.GroupControl) {
+ var colorBegin = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulBegin);
+ if (colorBegin != null)
+ {
+ sceneFunction.status.Remove(colorBegin);
+ }
+ var colorEnd = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulEnd);
+ if (colorEnd != null)
+ {
+ sceneFunction.status.Remove(colorEnd);
+ }
+ }
+ else
+ {
+ if (isOnStatus)
+ {
+ if (isColorful)
+ {
+ sceneFunction.status.Clear();
+ sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "on" });
+ sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.Colorful, value = "on" });
+ }
+ else
+ {
+ var isHasColorful = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
+ if (isHasColorful != null)
+ {
+ sceneFunction.status.Remove(isHasColorful);
+ }
+ }
+ }
+ else
+ {
+ sceneFunction.status.Clear();
+ sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "off" });
+ }
+ }
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)
{
- temp.delay = sceneFunction.delay;
- foreach(var attr in sceneFunction.status)
- {
- var keva = temp.status.Find((obj) => obj.key == attr.key);
- if (keva != null)
- {
- keva.value = attr.value;
- }
- }
+ //temp.delay = sceneFunction.delay;
+ //foreach (var attr in sceneFunction.status)
+ //{
+ // var keva = temp.status.Find((obj) => obj.key == attr.key);
+ // if (keva != null)
+ // {
+ // keva.value = attr.value;
+ // }
+ //}
+ temp = sceneFunction;
}
else
{
@@ -184,6 +2057,66 @@
this.RemoveFromParent();
}
};
+
+
+ UpdataFunctionRow();
+ }
+
+ void UpdataFunctionRow()
+ {
+ contentView.RemoveAll();
+ for (var i =0;i< functionRowList.Count; i++)
+ {
+ try
+ {
+ var view = functionRowList[i];
+ if(view!= null)
+ {
+ if(view.GetType() == typeof(FrameLayout))
+ {
+ if (view.Tag != null)
+ {
+ if (view.Tag.ToString() == FunctionAttributeKey.OnOff)
+ {
+ contentView.AddChidren(view);
+
+ }
+ if (isOnStatus)
+ {
+ if (view.Tag.ToString() != FunctionAttributeKey.OnOff)
+ {
+ if (isColorful && sceneFunction.localFunction.spk == SPK.LightRGB)
+ {
+ if(view.Tag.ToString() != FunctionAttributeKey.Colorful)
+ {
+ view.RemoveFromParent();
+ }
+ else
+ {
+ contentView.AddChidren(view);
+ }
+ }
+ else
+ {
+ contentView.AddChidren(view);
+ }
+ }
+ }
+ else
+ {
+ if (view.Tag.ToString() != FunctionAttributeKey.OnOff)
+ {
+ view.RemoveFromParent();
+ }
+ }
+ }
+ }
+ }
+ }catch(Exception ex)
+ {
+ MainPage.Log($"UpdataFuntionRow error:{ex.Message}");
+ }
+ }
}
@@ -192,6 +2125,217 @@
/// </summary>
void LoadFunctionRow(SceneFunctionStatus sceneStatus)
{
+ try
+ {
+ if (sceneStatus == null)
+ return;
+ #region Row code
+ var row = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(50),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Tag = sceneStatus.key,
+ };
+ contentView.AddChidren(row);
+ var view = functionRowList.Find((obj) => obj.Tag.ToString() == sceneStatus.key);
+ if (view == null)
+ {
+ functionRowList.Add(row);
+ }
+
+
+ if (sceneStatus.key != FunctionAttributeKey.OnOff)
+ {
+ row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+ }
+ else
+ {
+ if (sceneStatus.value == "stop")
+ {
+ sceneStatus.value = "on";
+ }
+ }
+ 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 = "";
+
+ if (sceneStatus.key == FunctionAttributeKey.Mode)
+ {
+ if (DB_ResidenceData.Instance.GatewayType == 0)
+ {
+ if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
+ {
+ //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
+ switch (sceneStatus.value)
+ {
+ case "0":
+ showCode = "cool";
+ break;
+ case "1":
+ showCode = "heat";
+ break;
+ case "2":
+ showCode = "fan";
+ break;
+ case "3":
+ showCode = "auto";
+ break;
+ case "4":
+ showCode = "dry";
+ break;
+ }
+ }
+ else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
+ {
+ //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
+ switch (sceneStatus.value)
+ {
+ case "5":
+ showCode = "timer";
+ break;
+ case "1":
+ showCode = "normal";
+ break;
+ case "2":
+ showCode = "day";
+ break;
+ case "3":
+ showCode = "night";
+ break;
+ case "4":
+ showCode = "away";
+ break;
+ }
+ }
+ }
+ }
+
+ var btnFunctionText = new Button()
+ {
+ Width = Application.GetRealWidth(330),
+ TextAlignment = TextAlignment.CenterRight,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ Text = sceneStatus.GetValueText(showCode) + sceneStatus.GetUintString()
+ };
+ row.AddChidren(btnFunctionText);
+ if (sceneStatus.key == FunctionAttributeKey.RGB)
+ {
+ btnFunctionText.Width = Application.GetRealWidth(28);
+ btnFunctionText.Height = Application.GetRealWidth(28);
+ btnFunctionText.X = Application.GetRealWidth(330 - 28);
+ btnFunctionText.Gravity = Gravity.CenterVertical;
+ btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
+ btnFunctionText.Text = "";
+ btnFunctionText.BackgroundColor = (uint)(0xFF000000 + new Light().GetRGBcolor(sceneStatus.value));
+ }
+
+
+
+ if (sceneStatus.key == FunctionAttributeKey.OnOff)
+ {
+ btnOnText = btnFunctionText;
+ }
+ else if (sceneStatus.key == FunctionAttributeKey.Brightness || sceneStatus.key == FunctionAttributeKey.Percent)
+ {
+ int outT = 0;
+ int.TryParse(sceneStatus.value, out outT);
+ if (outT < 0)
+ sceneStatus.value = "0";
+ btnBrightnessText = btnFunctionText;
+ }
+
+ var btnFunctionName = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ Text = sceneStatus.GetNameText()
+ };
+ row.AddChidren(btnFunctionName);
+ btnFunctionName.MouseUpEventHandler = (sender, e) =>
+ {
+ switch (sceneStatus.key)
+ {
+ case FunctionAttributeKey.Security:
+ LoadEditDialog_Security(sceneStatus, btnFunctionText);
+ break;
+ case FunctionAttributeKey.OnOff:
+ LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
+ break;
+ case FunctionAttributeKey.Brightness:
+ LoadEditDialog_Percent(sceneStatus, btnFunctionText);
+ break;
+ case FunctionAttributeKey.Mode:
+ var statusList = new List<string>();
+ var tr = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.Mode);
+ foreach (var t in tr.value)
+ {
+ statusList.Add(t);
+ }
+ LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText, statusList);
+ break;
+ case FunctionAttributeKey.FanSpeed:
+ var fanStatusList = new List<string>();
+ var tr1 = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
+ foreach (var t in tr1.value)
+ {
+ fanStatusList.Add(t);
+ }
+ LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText, fanStatusList);
+ break;
+ case FunctionAttributeKey.SetTemp:
+ LoadEditDialog_Temp(sceneStatus, btnFunctionText);
+ break;
+ case FunctionAttributeKey.FadeTime:
+
+ break;
+ case "angle":
+ //鍛堢幇鐨勫脊绐�
+ LoadEditDialog_Angle(sceneStatus, btnFunctionText);
+
+ break;
+ case "cct":
+ LoadEditDialog_CCT(sceneStatus, btnFunctionText);
+ break;
+ case FunctionAttributeKey.RGB:
+ btnFunctionText.Width = Application.GetRealWidth(28);
+ btnFunctionText.Height = Application.GetRealWidth(28);
+ btnFunctionText.X = Application.GetRealWidth(330 - 28);
+ btnFunctionText.Gravity = Gravity.CenterVertical;
+ btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
+ btnFunctionText.Text = "";
+
+ LoadEditDialog_RGB_V2(sceneStatus, btnFunctionText);
+ break;
+ case FunctionAttributeKey.Percent:
+ LoadEditDialog_Percent(sceneStatus, btnFunctionText);
+ break;
+ }
+ };
+
+ #endregion
+ }catch(Exception ex)
+ {
+ MainPage.Log($"鍦烘櫙鍔犺浇璁惧灞炴�у紓甯革細{ex.Message}");
+ }
+ }
+
+ /// <summary>
+ /// 鍔犺浇鍔熻兘Row
+ /// </summary>
+ void LoadColorfulRow(SceneFunctionStatus sceneStatus)
+ {
if (sceneStatus == null)
return;
#region Row code
@@ -199,21 +2343,17 @@
{
Height = Application.GetRealHeight(50),
BackgroundColor = CSS_Color.MainBackgroundColor,
+ Tag = sceneStatus.key
};
contentView.AddChidren(row);
-
-
- if (sceneStatus.key != FunctionAttributeKey.OnOff)
+ var view = functionRowList.Find((obj) => obj.Tag.ToString() == sceneStatus.key);
+ if (view == null)
{
- row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+ functionRowList.Add(row);
}
- else
- {
- if(sceneStatus.value == "stop")
- {
- sceneStatus.value = "on";
- }
- }
+
+ 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),
@@ -227,91 +2367,15 @@
var showCode = "";
- if (sceneStatus.key == FunctionAttributeKey.Mode)
- {
- if (DB_ResidenceData.Instance.GatewayType == 0)
- {
- if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
- {
- //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
- switch (sceneStatus.value)
- {
- case "0":
- showCode = "cool";
- break;
- case "1":
- showCode = "heat";
- break;
- case "2":
- showCode = "fan";
- break;
- case "3":
- showCode = "auto";
- break;
- case "4":
- showCode = "dry";
- break;
- }
- }
- else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
- {
- //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
- switch (sceneStatus.value)
- {
- case "5":
- showCode = "timer";
- break;
- case "1":
- showCode = "normal";
- break;
- case "2":
- showCode = "day";
- break;
- case "3":
- showCode = "night";
- break;
- case "4":
- showCode = "away";
- break;
- }
- }
- }
- }
-
var btnFunctionText = new Button()
{
Width = Application.GetRealWidth(330),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = sceneStatus.GetValueText(showCode) + sceneStatus.GetUintString()
+ Text = sceneStatus.GetValueText(showCode)
};
row.AddChidren(btnFunctionText);
- if (sceneStatus.key == FunctionAttributeKey.RGB)
- {
- btnFunctionText.Width = Application.GetRealWidth(28);
- btnFunctionText.Height = Application.GetRealWidth(28);
- btnFunctionText.X = Application.GetRealWidth(330 - 28);
- btnFunctionText.Gravity = Gravity.CenterVertical;
- btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
- btnFunctionText.Text = "";
- btnFunctionText.BackgroundColor = (uint)(0xFF000000 + new Light().GetRGBcolor(sceneStatus.value));
- }
-
-
-
- if (sceneStatus.key == FunctionAttributeKey.OnOff)
- {
- btnOnText = btnFunctionText;
- }
- else if (sceneStatus.key == FunctionAttributeKey.Brightness || sceneStatus.key == FunctionAttributeKey.Percent)
- {
- int outT = 0;
- int.TryParse(sceneStatus.value, out outT);
- if (outT < 0)
- sceneStatus.value = "0";
- btnBrightnessText = btnFunctionText;
- }
var btnFunctionName = new Button()
{
@@ -319,70 +2383,53 @@
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
- Text = sceneStatus.GetNameText()
+ TextID = StringId.ColorfulFunction
};
row.AddChidren(btnFunctionName);
btnFunctionName.MouseUpEventHandler = (sender, e) =>
{
- switch (sceneStatus.key)
- {
- case FunctionAttributeKey.OnOff:
- LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
- break;
- case FunctionAttributeKey.Brightness:
- LoadEditDialog_Percent(sceneStatus, btnFunctionText);
- break;
- case FunctionAttributeKey.Mode:
- var statusList = new List<string>();
- var tr = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.Mode);
- foreach(var t in tr.value)
- {
- statusList.Add(t);
- }
- LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText,statusList);
- break;
- case FunctionAttributeKey.FanSpeed:
- var fanStatusList = new List<string>();
- var tr1 = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
- foreach (var t in tr1.value)
- {
- fanStatusList.Add(t);
- }
- LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText, fanStatusList);
- break;
- case FunctionAttributeKey.SetTemp:
- LoadEditDialog_Temp(sceneStatus, btnFunctionText);
- break;
- case FunctionAttributeKey.FadeTime:
+ LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
+ //var colorfulModePage = new SetSceneRgbColorfulModePage();
+ //colorfulModePage.backAction = (selectedSerise,status) => {
+ // if (selectedSerise == null)
+ // {
+ // if (status == "on")
+ // {
+ // isColorful = true;
+ // }
+ // else
+ // {
+ // isColorful = false;
+ // }
+ // }
+ // else
+ // {
+ // isColorful = true;
+ // rgbColorful = selectedSerise.ConvertSceneFunction();
+ // }
+ // if (isColorful)
+ // {
+ // btnFunctionText.TextID = StringId.On;
+ // if (selectedSerise != null)
+ // {
+ // btnFunctionText.Text = selectedSerise.name;
+ // }
+ // }
+ // else
+ // {
+ // btnFunctionText.TextID = StringId.OFF;
+ // }
+ // UpdataFunctionRow();
+ //};
+ //MainPage.BasePageView.AddChidren(colorfulModePage);
+ //colorfulModePage.LoadPage(sceneFunction.localFunction.sid.Substring(0,16));
+ //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- break;
- case "angle":
- //鍛堢幇鐨勫脊绐�
- LoadEditDialog_Angle(sceneStatus, btnFunctionText);
- break;
- case "cct":
- LoadEditDialog_CCT(sceneStatus, btnFunctionText);
- break;
- case FunctionAttributeKey.RGB:
- btnFunctionText.Width = Application.GetRealWidth(28);
- btnFunctionText.Height = Application.GetRealWidth(28);
- btnFunctionText.X = Application.GetRealWidth(330 - 28);
- btnFunctionText.Gravity = Gravity.CenterVertical;
- btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
- btnFunctionText.Text = "";
-
- LoadEditDialog_RGB(sceneStatus, btnFunctionText);
- break;
- case FunctionAttributeKey.Percent:
- LoadEditDialog_Percent(sceneStatus, btnFunctionText);
- break;
- }
};
#endregion
}
-
#region 鍔犺浇鍔熻兘鍦烘櫙鏁版嵁璋冭妭鐣岄潰
/// <summary>
@@ -394,9 +2441,15 @@
FrameLayout delayRow = new FrameLayout()
{
Height = Application.GetRealWidth(50),
- BackgroundColor = CSS_Color.MainBackgroundColor
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Tag = "delay"
};
contentView.AddChidren(delayRow);
+ var view = functionRowList.Find((obj) => obj.Tag.ToString() == "delay");
+ if (view == null)
+ {
+ functionRowList.Add(delayRow);
+ }
delayRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
Button btnDelayRight = new Button()
@@ -527,6 +2580,211 @@
dialog.Show();
+ pView.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+
+ btnCancel.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ };
+ btnOn.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ trait.value = "on";
+ isOnStatus = true;
+ try
+ {
+ sceneFunction.status.Find((obj) => obj.key == trait.key).value = "on";
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍦烘櫙閰嶇疆寮傚父锛歿ex.Message}");
+ }
+
+ try
+ {
+ btn.Text = trait.GetValueText() + trait.GetUintString();
+ if (trait.key == FunctionAttributeKey.OnOff)
+ {
+ var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+ if (temp == null)
+ {
+ temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+ }
+ if (temp != null)
+ {
+ if (temp.value == "0")
+ {
+ temp.value = "100";
+ }
+ if (btnBrightnessText != null)
+ {
+ btnBrightnessText.Text = temp.GetValueText() + "%";
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍦烘櫙閰嶇疆寮傚父2锛歿ex.Message}");
+ }
+ try
+ {
+ if (trait.key == FunctionAttributeKey.Colorful)
+ {
+ isColorful = true;
+ }
+ else if (trait.key == FunctionAttributeKey.OnOff)
+ {
+ isOnStatus = true;
+ }
+ UpdataFunctionRow();
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍦烘櫙閰嶇疆寮傚父3锛歿ex.Message}");
+ }
+ };
+ btnOff.MouseUpEventHandler = (sender, e) =>
+ {
+ dialog.Close();
+ trait.value = "off";
+ try
+ {
+ sceneFunction.status.Find((obj) => obj.key == trait.key).value = "off";
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍦烘櫙閰嶇疆寮傚父锛歿ex.Message}");
+ }
+
+ try
+ {
+ btn.Text = trait.GetValueText() + trait.GetUintString();
+ if (trait.key == FunctionAttributeKey.OnOff)
+ {
+ isOnStatus = false;
+ var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
+ if (temp == null)
+ {
+ temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
+ }
+ if (temp != null)
+ {
+ if (temp.value != "0")
+ {
+ temp.value = "0";
+ }
+ if (btnBrightnessText != null)
+ btnBrightnessText.Text = temp.GetValueText() + "%";
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍦烘櫙閰嶇疆寮傚父2锛歿ex.Message}");
+ }
+
+ try
+ {
+ if (trait.key == FunctionAttributeKey.Colorful)
+ {
+ isColorful = false;
+ }
+ else if (trait.key == FunctionAttributeKey.OnOff)
+ {
+ isOnStatus = false;
+ }
+ UpdataFunctionRow();
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍦烘櫙閰嶇疆寮傚父3锛歿ex.Message}");
+ }
+ };
+
+ }
+
+
+ /// <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();
};
@@ -536,46 +2794,21 @@
};
btnOn.MouseUpEventHandler = (sender, e) => {
dialog.Close();
- trait.value = "on";
- sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "on";
+ trait.value = "true";
+ sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "true";
btn.Text = trait.GetValueText() + trait.GetUintString();
- var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
- if (temp == null)
- {
- temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
- }
- if (temp != null)
- {
- if (temp.value == "0")
- {
- temp.value = "100";
- }
- btnBrightnessText.Text = temp.GetValueText() + "%";
- }
};
- btnOff.MouseUpEventHandler = (sender,e) =>{
+ btnOff.MouseUpEventHandler = (sender, e) => {
dialog.Close();
- trait.value = "off";
- sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "off";
- btn.Text= trait.GetValueText() + trait.GetUintString();
+ trait.value = "false";
+ sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "false";
+ btn.Text = trait.GetValueText() + trait.GetUintString();
- var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
- if(temp == null)
- {
- temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
- }
- if (temp != null)
- {
- if (temp.value != "0")
- {
- temp.value = "0";
- }
- btnBrightnessText.Text = temp.GetValueText() + "%";
- }
};
}
+
/// <summary>
/// 鍔犺浇娓╁害閫夋嫨寮圭獥
@@ -967,7 +3200,33 @@
/// <param name="btn"></param>
void LoadEditDialog_CCT(SceneFunctionStatus trait, Button btn)
{
+ if (trait.min == 0)
+ {
+ switch (trait.key)
+ {
+ case FunctionAttributeKey.SetTemp:
+ trait.min = 16;
+ break;
+ case FunctionAttributeKey.CCT:
+ trait.min = 2700;
+ break;
+ }
+ }
+ if (trait.max == 0)
+ {
+ switch (trait.key)
+ {
+ case FunctionAttributeKey.SetTemp:
+ trait.max = 30;
+ break;
+ case FunctionAttributeKey.CCT:
+ trait.max = 6500;
+ break;
+ }
+ }
+
double temp = trait.min;
+
double.TryParse(trait.value, out temp);
trait.value = temp.ToString();
@@ -1045,7 +3304,7 @@
uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
string selectItem = pickerItems[0];
- if (pickerItems.Contains(trait.value + trait.GetUintString()))
+ if (pickerItems.Contains(trait.value + trait.GetUintString()))
{
selectItem = trait.value.ToString() + trait.GetUintString();
}
@@ -1262,6 +3521,198 @@
TextID = StringId.Complete
};
bottomView.AddChidren(btnComplete);
+
+ //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
+ int mRectCornerID = HDLUtils.RectCornerBottomRight;
+ btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
+ btnComplete.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ trait.value = rgbString;
+ btn.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
+ };
+
+ #endregion
+
+
+ dialog.Show();
+
+ }
+
+
+ /// <summary>
+ /// 鍔犺浇rgb閫夋嫨寮圭獥
+ /// </summary>
+ /// <param name="function"></param>
+ /// <param name="btn"></param>
+ void LoadEditDialog_RGB_V2(SceneFunctionStatus trait, Button btn)
+ {
+ string rgbString = trait.value;
+
+ Light tempLight = new Light();
+
+ if (trait == null)
+ {
+ return;
+ }
+
+ Dialog dialog = new Dialog() {
+ Height = Application.GetRealHeight(647),
+ };
+
+ var bodyView = new FrameLayout();
+ dialog.AddChidren(bodyView);
+
+ var contentView = new FrameLayout()
+ {
+ Gravity = Gravity.BottomCenter,
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(300),
+ Radius = (uint)Application.GetRealWidth(12),
+ };
+ bodyView.AddChidren(contentView);
+
+ #region 鏍囬鍖�
+ var titleView = new FrameLayout()
+ {
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(52),
+ };
+ contentView.AddChidren(titleView);
+
+ var btnTitle = new Button()
+ {
+ Height = Application.GetRealHeight(52),
+ Gravity = Gravity.Center,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextColor = CSS_Color.MainColor,
+ Text = "RGB",
+ TextAlignment = TextAlignment.Center,
+ };
+ titleView.AddChidren(btnTitle);
+ titleView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor, Y = Application.GetRealHeight(51) });
+
+ #endregion
+
+ int attrViewHight = Application.GetRealHeight(245);
+ //灞炴�ц缃尯鍩�
+ var attrView = new FrameLayout()
+ {
+ Y = Application.GetRealHeight(52),
+ Width = Application.GetRealWidth(343),
+ Height = attrViewHight
+ };
+ contentView.AddChidren(attrView);
+ attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) });
+
+ #region RGB
+ var rgbView = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(248)
+ };
+ attrView.AddChidren(rgbView);
+
+ var btnCurColor = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(10),
+ Width = Application.GetMinRealAverage(24),
+ Height = Application.GetMinRealAverage(24),
+ Radius = (uint)Application.GetMinRealAverage(8),
+ BorderColor = CSS_Color.PromptingColor2,
+ BorderWidth = 1,
+ BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(trait.value))
+ };
+ rgbView.AddChidren(btnCurColor);
+
+ //鑹茬洏鐨勬甯冩帶浠�(闄愬埗閭d釜鐧借壊婊戝姩鐞冧娇鐢�)
+ var framePickerBack = new FrameLayout();
+ framePickerBack.Gravity = Gravity.CenterHorizontal;
+ framePickerBack.Y = Application.GetRealHeight(20);
+ framePickerBack.Width = Application.GetMinRealAverage(198);
+ framePickerBack.Height = Application.GetMinRealAverage(198);
+ rgbView.AddChidren(framePickerBack);
+
+ var colorPicker = new ColorPicker()
+ {
+ ColorImagePath = "FunctionIcon/Light/ColorWheel.png",
+ };
+ framePickerBack.AddChidren(colorPicker);
+
+
+ //鐧界偣鎺т欢
+ var btnWhiteRound = new Button();
+ btnWhiteRound.Width = Application.GetRealWidth(24);
+ btnWhiteRound.Height = Application.GetRealWidth(24);
+ btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png";
+ btnWhiteRound.Visible = false;
+ framePickerBack.AddChidren(btnWhiteRound);
+
+
+ //褰撳墠鐐瑰嚮鐨勩�愮偣銆戞槸鍚︽纭�
+ bool pointIsRight = false;
+ //鍦嗙殑鍗婂緞(鑰冭檻杈圭晫,闇�瑕佽缃畠鐨勫崐寰勬瘮杈冨皬涓�鐐�)
+ int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12);
+
+
+ colorPicker.ColorChaged += (sender2, e2) => {
+ rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
+ //trait.value = rgbString;
+ btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
+ };
+ colorPicker.MouseDownEventHandler += (sender, e) =>
+ {
+ pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y);
+ if (pointIsRight == false)
+ {
+ //鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐�
+ return;
+ }
+ //鏄剧ず鐧界偣
+ btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2;
+ btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2;
+ if (btnWhiteRound.Visible == false)
+ {
+ btnWhiteRound.Visible = true;
+ }
+ };
+
+ colorPicker.MouseMoveEventHandler += (sender, e) =>
+ {
+ //褰撻紶鏍囩偣涓嬩簨浠跺鐞�
+ colorPicker.MouseDownEventHandler(sender, e);
+ };
+
+
+ #endregion
+
+ #region
+ var btnCancel = new Button()
+ {
+ X = Application.GetRealWidth(20),
+ Width = Application.GetRealWidth(100),
+ Height = Application.GetRealHeight(44),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.TextualColor,
+ TextID = StringId.Cancel,
+ };
+ titleView.AddChidren(btnCancel);
+ btnCancel.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+
+ var btnComplete = new Button()
+ {
+ X = Application.GetRealWidth(223),
+ Width = Application.GetRealWidth(100),
+ Height = Application.GetRealHeight(46),
+ TextColor = CSS_Color.MainColor,
+ TextAlignment = TextAlignment.CenterRight,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextID = StringId.Complete
+ };
+ titleView.AddChidren(btnComplete);
//渚嬶細鍙充笅鍦嗚 澶у皬涓�50
int mRectCornerID = HDLUtils.RectCornerBottomRight;
@@ -1674,3 +4125,6 @@
}
}
+
+
+
\ No newline at end of file
--
Gitblit v1.8.0