using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.Residence
{
///
/// 房间设备一览界面
///
public class LookRoomDeviceListForm : EditorCommonForm
{
#region ■ 变量声明___________________________
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 标题
/// 明细标题
/// 设备列表(主键)
public void ShowForm(string titleName, string detailTile, List listDevice)
{
//设置头部信息
base.SetTitleText(titleName);
//初始化中部信息
this.InitMiddleFrame(detailTile, listDevice);
}
///
/// 初始化中部信息
///
private void InitMiddleFrame(string detailTile, List listDevice)
{
//清空bodyFrame
this.ClearBodyFrame();
var frameTitle = new FrameLayout();
frameTitle.BackgroundColor = UserCenterColor.Current.White;
frameTitle.Height = Application.GetRealHeight(115);
bodyFrameLayout.AddChidren(frameTitle);
var btnTitle = new NormalViewControl(800, 60, true);
btnTitle.Y = Application.GetRealHeight(49);
btnTitle.X = ControlCommonResourse.XXLeft;
btnTitle.TextSize = 15;
btnTitle.TextColor = UserCenterColor.Current.TextColor2;
btnTitle.Text = detailTile;
frameTitle.AddChidren(btnTitle);
var listView = new VerticalListControl(23);
listView.Y = frameTitle.Bottom;
listView.Height = bodyFrameLayout.Height - frameTitle.Height;
listView.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(listView);
HdlThreadLogic.Current.RunMainInThread(() =>
{
for (int i = 0; i < listDevice.Count; i++)
{
//获取设备
var device = Common.LocalDevice.Current.GetDevice(listDevice[i]);
if (device == null)
{
continue;
}
//添加设备行
this.AddDeviceRow(listView, device, i != listDevice.Count - 1);
}
listView.AdjustRealHeight(Application.GetRealHeight(23));
});
}
#endregion
#region ■ 添加设备行_________________________
///
/// 添加设备行
///
///
///
///
private void AddDeviceRow(VerticalListControl listView, CommonDevice device, bool addLine)
{
var frameRow = new FrameRowControl(listView.rowSpace / 2);
frameRow.UseClickStatu = false;
listView.AddChidren(frameRow);
//图标
var btnIcon = frameRow.AddLeftIcon(81);
Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device);
//设备名字
var btnName = frameRow.AddLeftCaption(Common.LocalDevice.Current.GetDeviceEpointName(device), 700);
btnName.TextSize = 15;
if (Common.LocalDevice.Current.CheckDeviceIsOnline(device) == false)
{
btnName.TextColor = UserCenterColor.Current.TextGrayColor1;
}
//底线
if (addLine == true)
{
frameRow.AddBottomLine();
}
}
#endregion
}
}