using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using ZigBee.Device;
|
|
namespace Shared.Phone
|
{
|
/// <summary>
|
/// 安防传感器状态的自定义控件
|
/// </summary>
|
public class SafetySensorStatuControl : FrameLayout
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// 在线状态
|
/// </summary>
|
private NormalViewControl btnOnline = null;
|
/// <summary>
|
/// 信息提示图标
|
/// </summary>
|
private IconViewControl btnMsgIcon = null;
|
/// <summary>
|
/// 信息
|
/// </summary>
|
private NormalViewControl btnMsg = null;
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 安防传感器状态的自定义控件
|
/// </summary>
|
public SafetySensorStatuControl()
|
{
|
this.Height = Application.GetRealHeight(256);
|
this.Width = Application.GetRealWidth(968);
|
this.Gravity = Gravity.CenterHorizontal;
|
this.BackgroundColor = UserCenterColor.Current.White;
|
this.Radius = (uint)Application.GetRealHeight(17);
|
}
|
|
/// <summary>
|
/// 初始化控件
|
/// </summary>
|
/// <param name="device">设备对象</param>
|
public void InitControl(CommonDevice device)
|
{
|
//区域
|
var btnArea = new NormalViewControl(400, 49, true);
|
btnArea.Y = Application.GetRealHeight(40);
|
btnArea.X = Application.GetRealWidth(46);
|
btnArea.TextSize = 12;
|
btnArea.TextColor = UserCenterColor.Current.TextGrayColor3;
|
btnArea.Text = HdlRoomLogic.Current.GetRoomNameByDevice(device);
|
this.AddChidren(btnArea);
|
//状态
|
var btnStatu = new NormalViewControl(200, 49, true);
|
btnStatu.Y = btnArea.Y;
|
btnStatu.X = this.Width - Application.GetRealWidth(200 + 46);
|
btnStatu.TextSize = 12;
|
btnStatu.TextAlignment = TextAlignment.CenterRight;
|
btnStatu.TextColor = UserCenterColor.Current.TextGrayColor1;
|
btnStatu.TextID = R.MyInternationalizationString.uStatu;
|
this.AddChidren(btnStatu);
|
//线
|
var btnLine = new NormalViewControl(Application.GetRealWidth(876), HdlControlResourse.BottomLineHeight, false);
|
btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
|
btnLine.X = Application.GetRealWidth(46);
|
btnLine.Y = Application.GetRealHeight(104);
|
this.AddChidren(btnLine);
|
//设备名称
|
var btnDeviceName = new NormalViewControl(400, 58, true);
|
btnDeviceName.X = Application.GetRealWidth(46);
|
btnDeviceName.Y = Application.GetRealHeight(141);
|
btnDeviceName.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
|
this.AddChidren(btnDeviceName);
|
//在线状态
|
btnOnline = new NormalViewControl(200, 58, true);
|
btnOnline.X = this.Width - Application.GetRealWidth(200 + 46);
|
btnOnline.Y = btnDeviceName.Y;
|
btnOnline.TextAlignment = TextAlignment.CenterRight;
|
this.SetOnlineStatu(HdlDeviceCommonLogic.Current.CheckDeviceIsOnline(device));
|
this.AddChidren(btnOnline);
|
}
|
|
#endregion
|
|
#region ■ 一般方法___________________________
|
|
/// <summary>
|
/// 设置在线状态
|
/// </summary>
|
/// <param name="online"></param>
|
public void SetOnlineStatu(bool online)
|
{
|
if (online == false)
|
{
|
//离线
|
btnOnline.TextID = R.MyInternationalizationString.uOffLine;
|
btnOnline.TextColor = UserCenterColor.Current.TextGrayColor1;
|
}
|
else
|
{
|
//在线
|
btnOnline.TextID = R.MyInternationalizationString.uOnline;
|
btnOnline.TextColor = UserCenterColor.Current.TextColor1;
|
}
|
}
|
|
/// <summary>
|
/// 设置传感器报警信息
|
/// </summary>
|
/// <param name="reportInfo"></param>
|
public void SetSensoReportInfo(IASZoneReportInfo reportInfo)
|
{
|
if (reportInfo == null)
|
{
|
return;
|
}
|
string strMsg = reportInfo.AlarmMsg;
|
if (reportInfo.DemolishmenMsg != null)
|
{
|
//被拆报警
|
strMsg = reportInfo.DemolishmenMsg;
|
}
|
else if (reportInfo.BatteryMsg != null)
|
{
|
//电池报警
|
strMsg = reportInfo.BatteryMsg;
|
}
|
if (strMsg == null || strMsg == string.Empty)
|
{
|
//不是在册的报警消息
|
return;
|
}
|
|
//在线状态的控件隐藏
|
btnOnline.Visible = false;
|
|
if (btnMsg == null)
|
{
|
//图标
|
btnMsgIcon = new IconViewControl(58);
|
btnMsgIcon.X = Application.GetRealWidth(864);
|
btnMsgIcon.Y = Application.GetRealHeight(141);
|
btnMsgIcon.UnSelectedImagePath = "Item/Tips.png";
|
this.AddChidren(btnMsgIcon);
|
//信息
|
btnMsg = new NormalViewControl(400, 58, true);
|
btnMsg.TextAlignment = TextAlignment.CenterRight;
|
btnMsg.TextColor = 0xfff34747;
|
btnMsg.X = this.Width - Application.GetRealWidth(400 + 115);
|
btnMsg.Y = Application.GetRealHeight(141);
|
this.AddChidren(btnMsg);
|
}
|
btnMsg.Text = strMsg;
|
}
|
|
#endregion
|
}
|
}
|