using System; using System.Collections.Generic; using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public class ArmDeploymentSettingPage : FrameLayout { FrameLayout bodyView; SecurityAlarm securityAlarm; public ArmDeploymentSettingPage(SecurityAlarm alarm ) { bodyView = this; securityAlarm = alarm; } public void LoadPage() { new TopViewDiv(bodyView, Language.StringByID(StringId.Setting)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.BackgroundColor; VerticalScrolViewLayout contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(667 - 64), }; bodyView.AddChidren(contentView); #region 布防信息 var deploymentTitleRow = new FrameLayout() { Height = Application.GetRealHeight(44), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(deploymentTitleRow); var btnDeploymentTitle = new Button() { X = Application.GetRealWidth(16), TextColor = CSS_Color.MainColor, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.DeploymentInformation, IsBold = true, }; deploymentTitleRow.AddChidren(btnDeploymentTitle); deploymentTitleRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); #region 布防名称 var deploymentNameRow = new FrameLayout() { Height = Application.GetRealHeight(50), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(deploymentNameRow); var btnDeploymentNameTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(72), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, TextID = StringId.Name, }; deploymentNameRow.AddChidren(btnDeploymentNameTitle); btnDeploymentNameTitle.Text += ":"; var btnDeploymentName = new Button() { X = Application.GetRealWidth(88), Width = Application.GetRealWidth(230), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.TextFontSize, Text = securityAlarm.name }; deploymentNameRow.AddChidren(btnDeploymentName); deploymentNameRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(49), Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); LoadEvent_EditSecurityAlarmName(btnDeploymentName); #endregion #region 触发延时 //var delayedRow = new FrameLayout() //{ // Height = Application.GetRealHeight(50), // BackgroundColor = CSS_Color.MainBackgroundColor, //}; //contentView.AddChidren(delayedRow); //var btnDelayedTitle = new Button() //{ // X = Application.GetRealWidth(16), // Width = Application.GetRealWidth(72), // TextAlignment = TextAlignment.CenterLeft, // TextColor = CSS_Color.FirstLevelTitleColor, // TextSize = CSS_FontSize.TextFontSize, // TextID = StringId.Name, //}; //delayedRow.AddChidren(btnDelayedTitle); //var btnDelayedText = new Button() //{ // X = Application.GetRealWidth(88), // Width = Application.GetRealWidth(230), // TextAlignment = TextAlignment.CenterLeft, // TextColor = CSS_Color.TextualColor, // TextSize = CSS_FontSize.TextFontSize, // Text = securityAlarm.name //}; //delayedRow.AddChidren(btnDelayedText); //var btnDelayedRight = new Button() //{ // X = Application.GetRealWidth(343), // Gravity = Gravity.CenterVertical, // Width = Application.GetMinRealAverage(16), // Height = Application.GetMinRealAverage(16), // UnSelectedImagePath = "Public/RightIcon.png", //}; //delayedRow.AddChidren(btnDelayedRight); ////delayedRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(49), Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); //LoadEvent_EditSecurityAlarmName(btnDelayedTitle); #endregion #endregion contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor }); #region 布防功能\报警状态 var deploymentFunctionRow = new FrameLayout() { Height = Application.GetRealHeight(44), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(deploymentFunctionRow); var btnFunctionTitle = new Button() { X = Application.GetRealWidth(16), TextColor = CSS_Color.MainColor, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.DefenseFunctionArmState, IsBold = true, }; deploymentFunctionRow.AddChidren(btnFunctionTitle); var btnAddTarget = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(6), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "FunctionIcon/ArmCenter/AddTargetIcon.png", }; deploymentFunctionRow.AddChidren(btnAddTarget); deploymentFunctionRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); var inputTargetView = new VerticalScrolViewLayout() { ScrollEnabled = false, }; contentView.AddChidren(inputTargetView); foreach (var target in securityAlarm.input) { inputTargetView.AddChidren(new InputRow(target.GetFunction().name, target.GetFunction().GetRoomListName())); } inputTargetView.Height = Application.GetRealHeight(65 * securityAlarm.input.Count); #endregion contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor }); #region 告警目标 var outputRow = new FrameLayout() { Height = Application.GetRealHeight(44), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(outputRow); var btnOutputRowTitle = new Button() { X = Application.GetRealWidth(16), TextColor = CSS_Color.MainColor, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.AlarmTargetAfterTriggering, IsBold = true, }; outputRow.AddChidren(btnOutputRowTitle); var btnAddOutTarget = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(6), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "FunctionIcon/ArmCenter/AddTargetIcon.png", }; outputRow.AddChidren(btnAddOutTarget); outputRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); var outputTargetView = new VerticalScrolViewLayout() { ScrollEnabled = false, }; contentView.AddChidren(outputTargetView); foreach(var outTarget in securityAlarm.output) { inputTargetView.AddChidren(new OutputRow(outTarget.GetFunction().name, outTarget.GetFunction().GetRoomListName(),"")); } outputTargetView.Height = Application.GetRealHeight(65 * securityAlarm.output.Count); #endregion } /// /// 修改安防名称 /// void LoadEvent_EditSecurityAlarmName(Button btnDeploymentName) { EventHandler eventHandler = (sender, e) => { Action callBack = (str) => { var waitPage = new Loading(); bodyView.AddChidren(waitPage); waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { try { securityAlarm.name = str; var responsePack = new HttpServerRequest().EditSecurity(new List() { securityAlarm}); if (responsePack.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => { btnDeploymentName.Text = str; }); } else { IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code); } } catch (Exception ex) { MainPage.Log($"update user name error : {ex.Message}"); } finally { Application.RunOnMainThread(() => { if (waitPage != null) { waitPage.RemoveFromParent(); waitPage = null; } }); } }) { IsBackground = true }.Start(); }; new PublicAssmebly().LoadDialog_EditParater(StringId.Name, securityAlarm.name, callBack, StringId.NameCannotBeEmpty, 0, new List()); }; btnDeploymentName.MouseUpEventHandler = eventHandler; } } /// /// 输入条件行控件 /// public class InputRow : RowLayout { Button btnTitle; Button btnSubTitle; public InputRow(string title,string subtitle) { this.LineColor = 0x00000000; this.Height = Application.GetRealHeight(65); this.BackgroundColor = CSS_Color.MainBackgroundColor; btnTitle = new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(44), Width = Application.GetRealWidth(320), Text = title, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, }; this.AddChidren(btnTitle); btnSubTitle = new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(24), Height = Application.GetRealHeight(44), Width = Application.GetRealWidth(320), Text = subtitle, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, }; this.AddChidren(btnSubTitle); } public void SetClickEvent(EventHandler eventHandler) { this.MouseUpEventHandler = eventHandler; btnTitle.MouseUpEventHandler = eventHandler; btnSubTitle.MouseUpEventHandler = eventHandler; } } /// /// 输出条件控件 /// public class OutputRow : RowLayout { Button btnTitle; Button btnSubTitle; Button btnState; Button btnRightIcon; public OutputRow(string title, string subtitle,string state) { this.LineColor = 0x00000000; this.Height = Application.GetRealHeight(65); this.BackgroundColor = CSS_Color.MainBackgroundColor; btnTitle = new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(44), Width = Application.GetRealWidth(320), Text = title, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, }; this.AddChidren(btnTitle); btnSubTitle = new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(24), Height = Application.GetRealHeight(44), Width = Application.GetRealWidth(320), Text = subtitle, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, }; this.AddChidren(btnSubTitle); btnState = new Button() { Width = Application.GetRealWidth(323), TextAlignment = TextAlignment.CenterRight, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.PromptingColor1, Text = state }; this.AddChidren(btnState); btnRightIcon = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), UnSelectedImagePath = "FunctionIcon/ArmCenter/RightIcon.png", }; this.AddChidren(btnRightIcon); } public void SetClickEvent(EventHandler eventHandler) { btnState.MouseUpEventHandler = eventHandler; btnTitle.MouseUpEventHandler = eventHandler; btnSubTitle.MouseUpEventHandler = eventHandler; } } }