using Shared;
using HDL_ON.Stan;
using HDL_ON.UI.CSS;
using HDL_ON.Entity;
namespace HDL_ON.UI
{
public class SensorSmokePage : DeviceFunctionCardCommonForm
{
#region ■ 变量声明___________________________
///
/// 图标
///
private IconViewControl btnIcon = null;
///
/// 文本控件
///
private NormalViewControl btnSuctionView = null;
#endregion
#region ■ 初始化_____________________________
///
/// 初始化白色区域的内容
///
public override void InitFrameWhiteContent()
{
base.SetTitleText(Language.StringByID(StringId.Sensor));
//添加第二索引页
this.AddSecondPage();
//初始化第一个索引页的内容
this.InitFrameWhiteContent1();
//初始化第二个索引页的内容
this.InitFrameWhiteContent2();
//刷新当前设备的状态缓存
this.RefreshNowDeviceStatuMemory(this.device);
//刷新界面状态
this.RefreshFormStatu();
//读取状态
new System.Threading.Thread(() =>
{
DriverLayer.Control.Ins.SendReadCommand(device);
})
{ IsBackground = true }.Start();
}
///
/// 初始化第一个索引页的内容
///
private void InitFrameWhiteContent1()
{
btnIcon = new IconViewControl(198)
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealWidth(146),
UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorSmokeStateBgIcon.png",
SelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorSmokeStateBgIconOn.png",
};
FrameWhiteCentet1.AddChidren(btnIcon);
btnSuctionView = new NormalViewControl(300, 84, true)
{
Gravity = Gravity.CenterHorizontal,
Y = btnIcon.Bottom,
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.TextFontSize,
TextColor = CSS_Color.MainColor,
SelectedTextColor = CSS_Color.AuxiliaryColor2,
};
FrameWhiteCentet1.AddChidren(btnSuctionView);
RefreshFormStatu();
}
///
/// 初始化第二个索引页的内容
///
private void InitFrameWhiteContent2()
{
var paging = new ArmSensorHistroyPaging(device);
paging.InitFrame(FrameWhiteCentet2);
}
#endregion
#region ■ 设备状态反馈_______________________
///
/// 设备状态反馈
///
///
public override void DeviceStatuPush(Function i_LocalDevice)
{
//不是同一个东西
if (this.device.sid != i_LocalDevice.sid) { return; }
//刷新当前设备的状态缓存
this.RefreshNowDeviceStatuMemory(i_LocalDevice);
//刷新界面状态
this.RefreshFormStatu();
}
#endregion
#region ■ 发送各种命令_______________________
#endregion
#region ■ 刷新界面状态_______________________
///
/// 刷新界面状态
///
private void RefreshFormStatu()
{
Application.RunOnMainThread(() =>
{
var temp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.Status);
if (temp == null)
{
temp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus);
}
if (temp != null)
{
if (temp.state == "alarm")
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorSmokeStateBgIconOn.png";
btnSuctionView.TextID = StringId.InAlarm;
btnSuctionView.IsSelected = true;
}
else if (temp.state == "normal")
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorSmokeStateBgIcon.png";
btnSuctionView.TextID = StringId.SensorNormalState;
btnSuctionView.IsSelected = false;
}
}
});
}
#endregion
#region ■ 一般方法___________________________
///
/// 刷新当前设备的状态缓存
///
private void RefreshNowDeviceStatuMemory(Function i_LocalDevice)
{
//foreach (var data in i_LocalDevice.status)
//{
// if (data.key == "status")
// {
// if (data.value.ToLower() == "alarm")
// {
// this.btnIcon.IsSelected = true;
// this.btnSuctionView.IsSelected = true;
// this.btnSuctionView.TextID = StringId.InAlarm;
// }
// else
// {
// this.btnIcon.IsSelected = false;
// this.btnSuctionView.IsSelected = false;
// this.btnSuctionView.TextID = StringId.SensorNormalState;
// }
// }
//}
}
#endregion
}
}