From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 2509 +++++++++++------------------------------------------------ 1 files changed, 484 insertions(+), 2,025 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs index be9d341..6232dd0 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs @@ -3,1841 +3,7 @@ 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() - { - Width = Application.GetRealWidth(320), - 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() - { - Width = Application.GetRealWidth(320), - 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() - { - Width = Application.GetRealWidth(320), - 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() - { - Width = Application.GetRealWidth(320), - 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; -using System.Collections.Generic; +using System.Linq; namespace HDL_ON.UI { @@ -1860,18 +26,23 @@ SceneFunction rgbColorful; bool isOnStatus = false; - public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action) + + public SceneFunctionInfoEditPage(Scene s, SceneFunction fc, Action action) { + bodyView = this; scene = s; - sceneFunction = fc.localFunction.ConvertSceneFunction(); - foreach(var ll in sceneFunction.status) + 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; + //ll.UintString = temp.UintString; + } } catch { } } @@ -1882,30 +53,40 @@ { bodyView.BackgroundColor = CSS_Color.BackgroundColor; - new TopViewDiv(bodyView, sceneFunction.localFunction.name).LoadTopView(); + var topView = new TopViewDiv(bodyView, sceneFunction.localFunction.name); + topView.maginY = 10; + topView.LoadTopView(); contentView = new VerticalScrolViewLayout() { - Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(520), + Y = Application.GetRealHeight(64 + 10), + Height = Application.GetRealHeight(510), ScrollEnabled = false, }; bodyView.AddChidren(contentView); var onOffStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff); - if(onOffStatus.value == "on") + if (onOffStatus != null) + { + if (onOffStatus.value == "on") + { + isOnStatus = true; + } + LoadFunctionRow(onOffStatus); + } + else { isOnStatus = true; } - LoadFunctionRow(onOffStatus); - if (sceneFunction.localFunction.spk == SPK.LightRGB) + 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) @@ -1942,6 +123,18 @@ case "security"://澶у崕鎽勫儚甯冮槻鎾ら槻 LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "security")); break; + case FunctionAttributeKey.SetVolume: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetVolume)); + break; + case FunctionAttributeKey.Signal: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Signal)); + break; + case FunctionAttributeKey.SongName: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SongName)); + break; + case FunctionAttributeKey.Volume: + LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Volume)); + break; } } @@ -1970,109 +163,216 @@ BackgroundColor = CSS_Color.MainColor, TextSize = CSS_FontSize.SubheadingFontSize, IsBold = true, - Radius = (uint) Application.GetRealWidth(22), + Radius = (uint)Application.GetRealWidth(22), TextID = StringId.Complete }; bottomView.AddChidren(btnConfrim); btnConfrim.MouseUpEventHandler = (sender, e) => { - if (isOnStatus) + if (sceneFunction.localFunction.spk == SPK.GroupControl) { - - } - else - { - if (isColorful) { } 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 (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 = sceneFunction; - } - else - { - scene.functions.Add(sceneFunction); - } - if (!string.IsNullOrEmpty(scene.userSceneId)) - { - var result = scene.UpdateScene(); - if (result == DAL.Server.StateCode.SUCCESS) + var colorBegin = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulBegin); + if (colorBegin != null) { - refreshAction(); - this.RemoveFromParent(); + 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 + { + if (sceneFunction.localFunction.spk == SPK.ElectricalTvHisense) + { + for(int i = 0;i< sceneFunction.status.Count;i++) + { + var tvState = sceneFunction.status[i]; + if (tvState.key == FunctionAttributeKey.OnOff) + { + tvState.key = "wol"; + tvState.value = "on"; + } + else + { + if(string.IsNullOrEmpty( tvState.value)) + { + sceneFunction.status.RemoveAt(i); + i--; + } + } + } + } + else + { + var isHasColorful = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful); + if (isHasColorful != null) + { + sceneFunction.status.Remove(isHasColorful); + } + } + } } else { - DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(result); + if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff) != null) + { + sceneFunction.status.Clear(); + sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "off" }); + sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.Delay, value = sceneFunction.delay }); + } } } - else + var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid); + + try { - refreshAction(); - this.RemoveFromParent(); + if (temp != null) + { + scene.functions.Remove(temp); + } + scene.functions.Insert(0, sceneFunction); + + + if (sceneFunction.localFunction.spk == SPK.MusicStandard) + { + for (var i = 0; i < sceneFunction.status.Count;) + { + var ddd = sceneFunction.status[i]; + if (string.IsNullOrEmpty(ddd.value)) + { + sceneFunction.status.Remove(ddd); + continue; + } + i++; + } + + if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.PlaylistName) == null) + { + if (isOnStatus) + { + var songNameStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SongName); + { + if (songNameStatus != null) + { + if (string.IsNullOrEmpty(songNameStatus.value)) + { + sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.PlaylistName, value = "hdl_special" }); + } + } + } + } + } + } + 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 + { + try + { + refreshAction(); + this.RemoveFromParent(); + } + catch + { + MainPage.Log($"xxxxxx123"); + } + } + } + catch + { + MainPage.Log($"xxxxxx1234"); } }; + + + UpdataFunctionRow(); } void UpdataFunctionRow() { - for(var i =0;i< functionRowList.Count; i++) + try + { + contentView.RemoveAll(); + } + catch (Exception ex) + { + MainPage.Log(ex.Message); + } + for (var i = 0; i < functionRowList.Count; i++) { try { var view = functionRowList[i]; - if(view!= null) + if (view != null) { - if(view.GetType() == typeof(FrameLayout)) + if (view.GetType() == typeof(FrameLayout)) { if (view.Tag != null) { - if (isOnStatus) + if (view.Tag.ToString() == FunctionAttributeKey.OnOff || view.Tag.ToString() == "delay") { - if (view.Tag.ToString() != FunctionAttributeKey.OnOff) + contentView.AddChidren(view); + } + else + { + if (isOnStatus) { - if (isColorful) + if (view.Tag.ToString() != FunctionAttributeKey.OnOff) { - if(view.Tag.ToString() != FunctionAttributeKey.Colorful) + if (isColorful && sceneFunction.localFunction.spk == SPK.LightRGB) { - view.RemoveFromParent(); + if (view.Tag.ToString() != FunctionAttributeKey.Colorful) + { + view.RemoveFromParent(); + } + else + { + contentView.AddChidren(view); + } } else { contentView.AddChidren(view); } } - else - { - contentView.AddChidren(view); - } } - } - else - { - if (view.Tag.ToString() != FunctionAttributeKey.OnOff) + else { - view.RemoveFromParent(); + if (view.Tag.ToString() != FunctionAttributeKey.OnOff && view.Tag.ToString() != "delay") + { + view.RemoveFromParent(); + } } } } } } - }catch(Exception ex) + } + catch (Exception ex) { MainPage.Log($"UpdataFuntionRow error:{ex.Message}"); } @@ -2261,8 +561,8 @@ break; case "angle": - //鍛堢幇鐨勫脊绐� - LoadEditDialog_Angle(sceneStatus, btnFunctionText); + //鍛堢幇鐨勫脊绐� + LoadEditDialog_Angle(sceneStatus, btnFunctionText); break; case "cct": @@ -2281,11 +581,67 @@ case FunctionAttributeKey.Percent: LoadEditDialog_Percent(sceneStatus, btnFunctionText); break; + case FunctionAttributeKey.SetVolume: + BrightnessView(btnFunctionText.Text, btnFunctionName.Text, (volume, uintStr) => + { + btnFunctionText.Text = volume; + sceneStatus.value = volume; + }); + break; + case FunctionAttributeKey.Signal: + var p = new UI2.Intelligence.Automation.PublicInterface(); + var dic = p.GetHisenseSignalSourceDic(); + ListView(dic.Keys.ToList(), btnFunctionText.Text, btnFunctionName.Text, (valueStr) => + { + btnFunctionText.Text = valueStr; + sceneStatus.value = p.GetValue(dic, valueStr); + }); + break; + case FunctionAttributeKey.Volume: + BrightnessView(btnFunctionText.Text, btnFunctionName.Text, (volume, uintStr) => + { + btnFunctionText.Text = volume; + sceneStatus.value = volume; + }); + break; + case FunctionAttributeKey.SongName: + MusicListView(btnFunctionText.Text, (playListName, song) => + { + btnFunctionText.Text = song.name; + sceneStatus.value = song.name; + //杩藉姞灞炴�� + var oldList = new List<SceneFunctionStatus>(); + for (int i = 0; i < sceneFunction.status.Count; i++) + { + var status = sceneFunction.status[i]; + if (status.key == FunctionAttributeKey.PlaylistName) + { + //鎺у埗闇�瑕侊紙鐣岄潰涓嶉渶瑕佹樉绀猴級 + sceneFunction.status.RemoveAt(i); + sceneFunction.status.Insert(i, new SceneFunctionStatus { key = FunctionAttributeKey.PlaylistName, value = playListName }); + } + else if (status.key == FunctionAttributeKey.Url) + { + //瀛樺湪url灏变竴璧峰彂杩囧幓 + if (!string.IsNullOrEmpty(song.url)) + { + //鎺у埗闇�瑕侊紙鐣岄潰涓嶉渶瑕佹樉绀猴級 + sceneFunction.status.RemoveAt(i); + sceneFunction.status.Insert(i, new SceneFunctionStatus { key = FunctionAttributeKey.Url, value = song.url }); + } + } + + } + + }); + break; + } }; #endregion - }catch(Exception ex) + } + catch (Exception ex) { MainPage.Log($"鍦烘櫙鍔犺浇璁惧灞炴�у紓甯革細{ex.Message}"); } @@ -2348,45 +704,7 @@ row.AddChidren(btnFunctionName); btnFunctionName.MouseUpEventHandler = (sender, e) => { - //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; - - + LoadEditDialog_OnOff(sceneStatus, btnFunctionText); }; #endregion @@ -2444,8 +762,10 @@ delayRow.AddChidren(btnSceneDelayTitle); - btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => { - Action<string> action = (obj) => { + btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => + { + Action<string> action = (obj) => + { sceneFunction.delay = obj; btnDelayInfo.Text = new Scene() { delay = sceneFunction.delay }.GetDelayText(); }; @@ -2541,11 +861,13 @@ dialog.Show(); - pView.MouseUpEventHandler = (sender, e) => { + pView.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; btnOn.MouseUpEventHandler = (sender, e) => @@ -2565,19 +887,24 @@ try { btn.Text = trait.GetValueText() + trait.GetUintString(); - - var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); - if (temp == null) + if (trait.key == FunctionAttributeKey.OnOff) { - temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); - } - if (temp != null) - { - if (temp.value == "0") + var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); + if (temp == null) { - temp.value = "100"; + temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); } - btnBrightnessText.Text = temp.GetValueText() + "%"; + if (temp != null) + { + if (temp.value == "0") + { + temp.value = "100"; + } + if (btnBrightnessText != null) + { + btnBrightnessText.Text = temp.GetValueText() + "%"; + } + } } } catch (Exception ex) @@ -2601,10 +928,10 @@ MainPage.Log($"鍦烘櫙閰嶇疆寮傚父3锛歿ex.Message}"); } }; - btnOff.MouseUpEventHandler = (sender,e) =>{ + btnOff.MouseUpEventHandler = (sender, e) => + { dialog.Close(); trait.value = "off"; - isOnStatus = false; try { sceneFunction.status.Find((obj) => obj.key == trait.key).value = "off"; @@ -2617,18 +944,23 @@ try { btn.Text = trait.GetValueText() + trait.GetUintString(); - var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); - if (temp == null) + if (trait.key == FunctionAttributeKey.OnOff) { - temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); - } - if (temp != null) - { - if (temp.value != "0") + isOnStatus = false; + var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); + if (temp == null) { - temp.value = "0"; + temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); } - btnBrightnessText.Text = temp.GetValueText() + "%"; + if (temp != null) + { + if (temp.value != "0") + { + temp.value = "0"; + } + if (btnBrightnessText != null) + btnBrightnessText.Text = temp.GetValueText() + "%"; + } } } catch (Exception ex) @@ -2652,7 +984,7 @@ { MainPage.Log($"鍦烘櫙閰嶇疆寮傚父3锛歿ex.Message}"); } - }; + }; } @@ -2734,21 +1066,25 @@ dialog.Show(); - pView.MouseUpEventHandler = (sender, e) => { + pView.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnOn.MouseUpEventHandler = (sender, e) => { + 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) => { + btnOff.MouseUpEventHandler = (sender, e) => + { dialog.Close(); trait.value = "false"; sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "false"; @@ -2771,7 +1107,7 @@ trait.value = temp.ToString(); List<string> pickerItems = new List<string>(); - if(trait == null) + if (trait == null) { return; } @@ -2786,7 +1122,7 @@ var optionBaseView = new FrameLayout() { - Y = Application.GetRealHeight(456-60), + Y = Application.GetRealHeight(456 - 60), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(260), @@ -2806,7 +1142,7 @@ Radius = (uint)Application.GetRealWidth(12), }; optionBaseView.AddChidren(topView); - topView.AddChidren(new Button() {Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); + topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); var btnCancel = new Button() { @@ -2848,25 +1184,30 @@ if (pickerItems.Contains(trait.value + trait.GetUintString())) { selectItem = trait.value.ToString() + trait.GetUintString(); + uIPickerView.setCurrentItems(pickerItems.IndexOf(selectItem), 0, 0); } dialog.Show(); - pView.MouseUpEventHandler = (sender, e) => { + pView.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => { + uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => + { selectItem = pickerItems[int1]; }; - btnConfrim.MouseUpEventHandler = (sender, e) => { + 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(),""); + trait.value = selectItem.Replace(trait.GetUintString(), ""); }; } @@ -2876,7 +1217,7 @@ /// </summary> /// <param name="function"></param> /// <param name="btn"></param> - void LoadEditDialog_Angle (SceneFunctionStatus trait, Button btn) + void LoadEditDialog_Angle(SceneFunctionStatus trait, Button btn) { double temp = trait.min; double.TryParse(trait.value, out temp); @@ -2955,7 +1296,7 @@ } uIPickerView.setNPicker(pickerItems, null, null); optionBaseView.AddChidren(uIPickerView); - uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()+ "掳"), 0, 0); + uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString() + "掳"), 0, 0); string selectItem = pickerItems[pickerItems.IndexOf(trait.value.ToString() + "掳")]; if (pickerItems.Contains(trait.value + trait.GetUintString())) @@ -2965,17 +1306,21 @@ //uIPickerView.setCurrentItems dialog.Show(); - pView.MouseUpEventHandler = (sender, e) => { + pView.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => { + uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => + { selectItem = pickerItems[int1]; }; - btnConfrim.MouseUpEventHandler = (sender, e) => { + btnConfrim.MouseUpEventHandler = (sender, e) => + { dialog.Close(); btn.Text = selectItem; //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ; @@ -3149,7 +1494,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(); @@ -3227,24 +1598,28 @@ 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(); } dialog.Show(); - pView.MouseUpEventHandler = (sender, e) => { + pView.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => { + uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => + { selectItem = pickerItems[int1]; }; - btnConfrim.MouseUpEventHandler = (sender, e) => { + btnConfrim.MouseUpEventHandler = (sender, e) => + { dialog.Close(); btn.Text = selectItem; //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ; @@ -3307,7 +1682,7 @@ #endregion - int attrViewHight = Application.GetRealHeight(18 + 22+ 248); + int attrViewHight = Application.GetRealHeight(18 + 22 + 248); //灞炴�ц缃尯鍩� var attrView = new FrameLayout() { @@ -3318,7 +1693,7 @@ contentView.AddChidren(attrView); attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) }); - + #region RGB var rgbView = new FrameLayout() @@ -3375,7 +1750,8 @@ int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); - colorPicker.ColorChaged += (sender2, e2) => { + colorPicker.ColorChaged += (sender2, e2) => + { rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString(); //trait.value = rgbString; btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString)); @@ -3428,7 +1804,8 @@ TextID = StringId.Cancel, }; bottomView.AddChidren(btnCancel); - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; @@ -3448,7 +1825,8 @@ //渚嬶細鍙充笅鍦嗚 澶у皬涓�50 int mRectCornerID = HDLUtils.RectCornerBottomRight; btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID); - btnComplete.MouseUpEventHandler = (sender, e) => { + btnComplete.MouseUpEventHandler = (sender, e) => + { dialog.Close(); trait.value = rgbString; btn.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString)); @@ -3478,7 +1856,8 @@ return; } - Dialog dialog = new Dialog() { + Dialog dialog = new Dialog() + { Height = Application.GetRealHeight(647), }; @@ -3490,7 +1869,7 @@ Gravity = Gravity.BottomCenter, BackgroundColor = CSS_Color.MainBackgroundColor, Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(180), + Height = Application.GetRealHeight(300), Radius = (uint)Application.GetRealWidth(12), }; bodyView.AddChidren(contentView); @@ -3517,7 +1896,7 @@ #endregion - int attrViewHight = Application.GetRealHeight(130); + int attrViewHight = Application.GetRealHeight(245); //灞炴�ц缃尯鍩� var attrView = new FrameLayout() { @@ -3528,8 +1907,6 @@ contentView.AddChidren(attrView); attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) }); - - #region RGB var rgbView = new FrameLayout() { @@ -3537,10 +1914,9 @@ }; attrView.AddChidren(rgbView); - var btnCurColor = new Button() { - X = Application.GetRealWidth(84), + X = Application.GetRealWidth(16), Y = Application.GetRealHeight(10), Width = Application.GetMinRealAverage(24), Height = Application.GetMinRealAverage(24), @@ -3555,8 +1931,8 @@ var framePickerBack = new FrameLayout(); framePickerBack.Gravity = Gravity.CenterHorizontal; framePickerBack.Y = Application.GetRealHeight(20); - framePickerBack.Width = Application.GetMinRealAverage(89); - framePickerBack.Height = Application.GetMinRealAverage(89); + framePickerBack.Width = Application.GetMinRealAverage(198); + framePickerBack.Height = Application.GetMinRealAverage(198); rgbView.AddChidren(framePickerBack); var colorPicker = new ColorPicker() @@ -3564,10 +1940,6 @@ ColorImagePath = "FunctionIcon/Light/ColorWheel.png", }; framePickerBack.AddChidren(colorPicker); - - - - //鐧界偣鎺т欢 @@ -3585,7 +1957,8 @@ int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); - colorPicker.ColorChaged += (sender2, e2) => { + colorPicker.ColorChaged += (sender2, e2) => + { rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString(); //trait.value = rgbString; btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString)); @@ -3619,7 +1992,7 @@ #region var btnCancel = new Button() { - X = Application.GetRealWidth(20), + X = Application.GetRealWidth(20), Width = Application.GetRealWidth(100), Height = Application.GetRealHeight(44), TextAlignment = TextAlignment.CenterLeft, @@ -3628,7 +2001,8 @@ TextID = StringId.Cancel, }; titleView.AddChidren(btnCancel); - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; @@ -3647,7 +2021,8 @@ //渚嬶細鍙充笅鍦嗚 澶у皬涓�50 int mRectCornerID = HDLUtils.RectCornerBottomRight; btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID); - btnComplete.MouseUpEventHandler = (sender, e) => { + btnComplete.MouseUpEventHandler = (sender, e) => + { dialog.Close(); trait.value = rgbString; btn.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString)); @@ -3842,14 +2217,14 @@ /// <summary> /// 鍔犺浇鍔熻兘灞炴�ф暟鎹�夋嫨寮圭獥 /// </summary> - void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn,List<string> statusList) + void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn, List<string> statusList) { Button lastButton = new Button(); - var lastData = ""; - var lastText = ""; + var lastData = trait.value; + var lastText = btn.Text; Dialog dialog = new Dialog(); - if(DB_ResidenceData.Instance.GatewayType == 0) + if (DB_ResidenceData.Instance.GatewayType == 0) { if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk)) { @@ -4018,7 +2393,8 @@ }; row.AddChidren(btnPropertyTitle); - btnPropertyTitle.MouseUpEventHandler = (sender, e) => { + btnPropertyTitle.MouseUpEventHandler = (sender, e) => + { btnChoose.IsSelected = true; if (lastButton != null) { @@ -4035,14 +2411,17 @@ dialog.Show(); - pView.MouseUpEventHandler = (sender, e) => { + pView.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnCancel.MouseUpEventHandler = (sender, e) => { + btnCancel.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; - btnConfrim.MouseUpEventHandler = (sender, e) => { + btnConfrim.MouseUpEventHandler = (sender, e) => + { dialog.Close(); trait.value = lastData; //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.curValue.ToString() ; @@ -4051,10 +2430,90 @@ } - #endregion + /// <summary> + /// 鐧惧垎姣� + /// </summary> + /// <param name="oldStateValue">鏃х姸鎬佸��</param> + /// <param name="titleName">鏍囬</param> + /// <param name="action">鍥炶皟</param> + void BrightnessView(string oldStateValue, string titleName, Action<string, string> action) + { + #region 鐣岄潰 + var brightness = new UI2.Intelligence.Automation.LogicView.BrightnessView(); + brightness.FLayoutView(this, titleName, oldStateValue, action); + #endregion + + } + /// <summary> + /// 鍒楄〃鐣岄潰 + /// </summary> + /// <param name="list">鐣岄潰鏄剧ず鏁版嵁婧�</param> + /// <param name="oldStateValue">鏃х姸鎬佸��</param> + /// <param name="titleName">鏍囬</param> + /// <param name="action">鍥炶皟</param> + void ListView(List<string> list, string oldStateValue, string titleName, Action<string> action) + { + var pif = new UI2.Intelligence.Automation.PublicInterface(); + pif.SingleSelectionShow(this, list, titleName, oldStateValue, action); + } + + /// <summary> + /// 闊充箰鍒楄〃鐣岄潰 + /// </summary> + /// <param name="oldStateValue">鏃х姸鎬佸��</param> + /// <param name="action">鍥炶皟</param> + void MusicListView(string oldStateValue, Action<string, Music.SongInfo> action) + { + Loading loading = new Loading(); + this.AddChidren(loading); + loading.Start(); + System.Threading.Tasks.Task.Run(() => + { + try + { + var palyList = Music.SendMethod.Current.GetSingleSongList(new Function { sid = sceneFunction.sid }, "hdl_special", ""); + List<string> songNameList = new List<string>(); + for (int i = 0; i < palyList.songs.Count; i++) + { + var song = palyList.songs[i]; + songNameList.Add(song.name); + } + Application.RunOnMainThread(() => + { + loading.Hide(); + var publicInterface = new UI2.Intelligence.Automation.PublicInterface(); + publicInterface.FrameOrVv(this, songNameList, new List<string> { oldStateValue }, palyList.group, (index) => + { + if (index > palyList.songs.Count) + { + index = 0; + } + var song = palyList.songs[index]; + action?.Invoke(palyList.group, song); + + //鐣岄潰鏄剧ず閫変腑鍊� + //funTypeView.btnState.Text = songSelecetd.name; + ////鏁版嵁灏佽 + //AddDictionary("playlist_name", palyList.group);//鍒楄〃鍚� + //AddDictionary("song_name", songSelecetd.name);//姝屾洸鍚� + //if (!string.IsNullOrEmpty(songSelecetd.url)) + //{ + // //瀛樺湪url灏变竴璧峰彂閫佽繃鍘� + // AddDictionary("url", songSelecetd.url); + //} + + }, false); + + }); + } + catch { } + + }); + } + #endregion } } - */ \ No newline at end of file + \ No newline at end of file -- Gitblit v1.8.0