using Shared; using System; using System.Collections.Generic; using System.Text; using HDL_ON.UI.CSS; using HDL_ON.Entity; using HDL_ON.DriverLayer; using HDL_ON.UI.Music; using HDL_ON.UI.UI2.Intelligence.Automation; using System.Linq; using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView; using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; namespace HDL_ON.UI.UI2.FuntionControlView.Aks { /// /// 时序器界面 /// public class SxqPage : FrameLayout { /// /// 头部布局 /// private TopView topView; /// /// 删除设备后需要更新界面的回调 /// public Action action; public VerticalScrolViewLayout vv; /// /// 时序器列表 /// private List sequencerList; /// /// 设备id /// private string deviceId; /// /// /// /// 时序器列表 /// 设备id public SxqPage(List sequencerList, string deviceId) { this.sequencerList = sequencerList; this.deviceId = deviceId; } public void Show() { //初始化UI this.InitTop(); this.InitMiddle(); //初始化事件 this.EventListener(); //读取数据 } /// /// 初始化头部界面 /// private void InitTop() { this.BackgroundColor = MusicColor.ViewColor; this.topView = new TopView(); this.topView.setBtn.Visible = false; this.topView.topNameBtn.TextID = StringId.shixuqi; this.AddChidren(topView.TopFLayoutView()); } /// /// 初始化中部界面 /// private void InitMiddle() { vv = new VerticalScrolViewLayout() { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), BackgroundColor = MusicColor.WhiteColor, }; this.AddChidren(vv); BaseFramLayout fLayout = new BaseFramLayout(); this.vv.AddChidren(fLayout); int line = 0; int xCount = 0; int rowNumber = 4; var list1 = this.sequencerList.FindAll((o) => o.type == 1); for (int i = 1; i <= list1.Count; i++) { var sequencer = list1[i - 1]; VerticalBoutonFLayout buttonFram = new VerticalBoutonFLayout(); buttonFram.AddView(fLayout); buttonFram.Tag = sequencer; buttonFram.Y = Application.GetRealWidth(16) + Application.GetRealHeight((VerticalBoutonFLayout.heightFrameLayout + 8) * line); buttonFram.X = Application.GetRealWidth(16) + Application.GetRealWidth((VerticalBoutonFLayout.widthFrameLayout + 8) * xCount); buttonFram.btnName.Text = sequencer.name; xCount++; if (i % rowNumber == 0) { line++; xCount = 0; } buttonFram.SetONClickListener((fl, btn) => { if (buttonFram.Tag != null && buttonFram.Tag is SequencerEntity) { var sequ = (SequencerEntity)buttonFram.Tag; SequencerControlExecute(sequ.seqId, "on"); } }); buttonFram.SetOFFClickListener((fl, btn) => { if (buttonFram.Tag != null && buttonFram.Tag is SequencerEntity) { var sequ = (SequencerEntity)buttonFram.Tag; SequencerControlExecute(sequ.seqId, "off"); } }); } fLayout.AdjustRealHeight(8); var list2 = this.sequencerList.FindAll((o) => o.type == 2); for (int i = 0; i < list2.Count; i++) { Button btnName = new Button { Y = fLayout.Height, X = Application.GetRealWidth(16) + Application.GetRealWidth((VerticalBoutonFLayout.widthFrameLayout + 8) * i), Width = Application.GetRealWidth(80), Height = Application.GetRealHeight(44), TextSize = TextSize.Text14, TextColor = MusicColor.TextColor, TextAlignment = TextAlignment.Center, Text = list2[i].name, BackgroundColor = MusicColor.ViewColor, SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor, Radius = (uint)Application.GetRealHeight(12), Padding=new Padding(0,5,0,5), Tag = list2[i] }; btnName.MouseDownEventHandler += (sen, e) => { btnName.IsSelected = true; if (btnName.Tag != null && btnName.Tag is SequencerEntity) { var sequ = (SequencerEntity)btnName.Tag; SequencerControlExecute(sequ.seqId, "on"); } }; btnName.MouseUpEventHandler += (sen, e) => { btnName.IsSelected = false; //弹起颜色 }; fLayout.AddChidren(btnName); } fLayout.AdjustRealHeight(16); } /// /// 注册事件 /// private void EventListener() { //返回 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); }; } /// /// 时序器指令发送 /// /// 时序器id /// 时序器开关 private void SequencerControlExecute(string seqId, string onOff) { CommonMethod.Current.SunThread(() => { SendMethod.Current.SequencerExecute(this.deviceId, seqId, onOff); }); } } }