//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();
// }
// };
// }
// ///
// /// 加载功能Row
// ///
// 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();
// 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();
// 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
// }
// ///
// /// 加载功能Row
// ///
// 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 加载功能场景数据调节界面
// ///
// /// 加载延时Row
// ///
// 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 action = (obj) => {
// sceneFunction.delay = obj;
// btnDelayInfo.Text = new Scene() { delay = sceneFunction.delay }.GetDelayText();
// };
// Dictionary items = new Dictionary();
// 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 属性选择弹窗
// ///
// /// 加载开关选择弹窗
// ///
// ///
// ///
// 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() + "%";
// }
// };
// }
// ///
// /// 加载安防布防选择弹窗
// ///
// ///
// ///
// 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();
// };
// }
// ///
// /// 加载温度选择弹窗
// ///
// ///
// ///
// void LoadEditDialog_Temp(SceneFunctionStatus trait, Button btn)
// {
// double temp = trait.min;
// double.TryParse(trait.value, out temp);
// trait.value = temp.ToString();
// List pickerItems = new List();
// 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(),"");
// };
// }
// ///
// /// 加载温度选择弹窗
// ///
// ///
// ///
// void LoadEditDialog_Angle (SceneFunctionStatus trait, Button btn)
// {
// double temp = trait.min;
// double.TryParse(trait.value, out temp);
// trait.value = temp.ToString();
// List pickerItems = new List();
// 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(), "");
// };
// }
// ///
// /// 加载亮度选择弹窗
// ///
// ///
// ///
// 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();
// }
// };
// }
// ///
// /// 加载cct选择弹窗
// ///
// ///
// ///
// void LoadEditDialog_CCT(SceneFunctionStatus trait, Button btn)
// {
// double temp = trait.min;
// double.TryParse(trait.value, out temp);
// trait.value = temp.ToString();
// List pickerItems = new List();
// 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(), "");
// };
// }
// ///
// /// 加载rgb选择弹窗
// ///
// ///
// ///
// 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);
// //色盘的桌布控件(限制那个白色滑动球使用)
// 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();
// }
// ///
// /// 检测点击点
// ///
// /// 圆的半径
// /// 圆心X轴
// /// 圆心Y轴
// /// 点击点的X轴
// /// 点击点的Y轴
// ///
// 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;
// }
// ///
// /// 加载变化速度选择弹窗
// ///
// ///
// ///
// 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();
// };
// }
// ///
// /// 加载功能属性数据选择弹窗
// ///
// void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn,List 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;
using System.Collections.Generic;
namespace HDL_ON.UI
{
public class SceneFunctionInfoEditPage : FrameLayout
{
FrameLayout bodyView;
VerticalScrolViewLayout contentView;
Button btnOnText;
Button btnBrightnessText;
List functionRowList = new List();
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.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);
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)
{
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) =>
{
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 (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)
{
refreshAction();
this.RemoveFromParent();
}
else
{
DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(result);
}
}
else
{
refreshAction();
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}");
}
}
}
///
/// 加载功能Row
///
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();
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();
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}");
}
}
///
/// 加载功能Row
///
void LoadColorfulRow(SceneFunctionStatus sceneStatus)
{
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);
}
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);
//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;
};
#endregion
}
#region 加载功能场景数据调节界面
///
/// 加载延时Row
///
void LoadDelayRow()
{
#region 延时row
FrameLayout delayRow = new FrameLayout()
{
Height = Application.GetRealWidth(50),
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()
{
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 action = (obj) => {
sceneFunction.delay = obj;
btnDelayInfo.Text = new Scene() { delay = sceneFunction.delay }.GetDelayText();
};
Dictionary items = new Dictionary();
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 属性选择弹窗
///
/// 加载开关选择弹窗
///
///
///
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";
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}");
}
};
}
///
/// 加载安防布防选择弹窗
///
///
///
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();
};
}
///
/// 加载温度选择弹窗
///
///
///
void LoadEditDialog_Temp(SceneFunctionStatus trait, Button btn)
{
double temp = trait.min;
double.TryParse(trait.value, out temp);
trait.value = temp.ToString();
List pickerItems = new List();
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(),"");
};
}
///
/// 加载温度选择弹窗
///
///
///
void LoadEditDialog_Angle (SceneFunctionStatus trait, Button btn)
{
double temp = trait.min;
double.TryParse(trait.value, out temp);
trait.value = temp.ToString();
List pickerItems = new List();
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(), "");
};
}
///
/// 加载亮度选择弹窗
///
///
///
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();
}
};
}
///
/// 加载cct选择弹窗
///
///
///
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();
List pickerItems = new List();
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(), "");
};
}
///
/// 加载rgb选择弹窗
///
///
///
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);
//色盘的桌布控件(限制那个白色滑动球使用)
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();
}
///
/// 加载rgb选择弹窗
///
///
///
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);
//色盘的桌布控件(限制那个白色滑动球使用)
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;
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();
}
///
/// 检测点击点
///
/// 圆的半径
/// 圆心X轴
/// 圆心Y轴
/// 点击点的X轴
/// 点击点的Y轴
///
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;
}
///
/// 加载变化速度选择弹窗
///
///
///
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();
};
}
///
/// 加载功能属性数据选择弹窗
///
void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn,List 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
}
}