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
|
{
|
/// <summary>
|
/// 时序器界面
|
/// </summary>
|
public class SxqPage : FrameLayout
|
{
|
/// <summary>
|
/// 头部布局
|
/// </summary>
|
private TopView topView;
|
/// <summary>
|
/// 删除设备后需要更新界面的回调
|
/// </summary>
|
public Action action;
|
|
|
public VerticalScrolViewLayout vv;
|
/// <summary>
|
/// 时序器列表
|
/// </summary>
|
private List<SequencerEntity> sequencerList;
|
|
/// <summary>
|
/// 设备id
|
/// </summary>
|
private string deviceId;
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="sequencerList">时序器列表</param>
|
/// <param name="deviceId">设备id</param>
|
public SxqPage(List<SequencerEntity> sequencerList, string deviceId)
|
{
|
this.sequencerList = sequencerList;
|
this.deviceId = deviceId;
|
}
|
public void Show()
|
{
|
//初始化UI
|
this.InitTop();
|
this.InitMiddle();
|
//初始化事件
|
this.EventListener();
|
//读取数据
|
|
}
|
|
|
/// <summary>
|
/// 初始化头部界面
|
/// </summary>
|
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());
|
}
|
/// <summary>
|
/// 初始化中部界面
|
/// </summary>
|
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);
|
}
|
/// <summary>
|
/// 注册事件
|
/// </summary>
|
private void EventListener()
|
{
|
//返回
|
this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
|
{
|
this.RemoveFromParent();
|
};
|
}
|
|
/// <summary>
|
/// 时序器指令发送
|
/// </summary>
|
/// <param name="seqId">时序器id</param>
|
/// <param name="onOff">时序器开关</param>
|
private void SequencerControlExecute(string seqId, string onOff)
|
{
|
CommonMethod.Current.SunThread(() =>
|
{
|
SendMethod.Current.SequencerExecute(this.deviceId, seqId, onOff);
|
});
|
}
|
|
}
|
}
|