using System;
|
using System.Collections.Generic;
|
using System.Threading.Tasks;
|
using ZigBee.Device;
|
|
namespace Shared.Phone.UserCenter.Device
|
{
|
/// <summary>
|
/// 配置设备列表的画面
|
/// </summary>
|
public class ConfigureDeviceListForm : UserCenterCommonForm
|
{
|
/// <summary>
|
/// 列表控件
|
/// </summary>
|
private VerticalScrolViewLayout listview = null;
|
/// <summary>
|
/// 新上报的设备(注意:这个东西是个地址引用)
|
/// </summary>
|
private List<CommonDevice> listNewDevice = null;
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="listdevices">设备列表</param>
|
public void ShowForm(List<CommonDevice> listdevices)
|
{
|
this.listNewDevice = listdevices;
|
|
//设置标题信息
|
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uConfigureDevice));
|
|
//初始化中部控件
|
this.InitMiddleFrame();
|
|
//添加所有的行
|
this.AddAllRowLayout();
|
}
|
|
/// <summary>
|
/// 初始化中部控件
|
/// </summary>
|
private void InitMiddleFrame()
|
{
|
//输出回路列表
|
var btnText = new TitleViewControl();
|
btnText.Y = Application.GetRealHeight(40);
|
btnText.TextColor = UserCenterColor.Current.TextGrayColor;
|
btnText.TextID = R.MyInternationalizationString.uOutputCircuitList;
|
bodyFrameLayout.AddChidren(btnText);
|
|
listview = new VerticalScrolViewLayout();
|
listview.Y = btnText.Bottom;
|
listview.Height = bodyFrameLayout.Height - btnText.Bottom;
|
bodyFrameLayout.AddChidren(listview);
|
}
|
|
/// <summary>
|
/// 添加所有的行
|
/// </summary>
|
private void AddAllRowLayout()
|
{
|
foreach (CommonDevice device in this.listNewDevice)
|
{
|
this.AddRowLayout(device);
|
}
|
}
|
|
/// <summary>
|
/// 添加行
|
/// </summary>
|
/// <param name="device">Device.</param>
|
private void AddRowLayout(CommonDevice device)
|
{
|
//设备控件
|
var deviceRow = new DeviceRoomViewRow(listview, device);
|
//向右图标
|
deviceRow.AddRightIconControl();
|
|
//检测设备是否拥有测试的功能
|
if (Common.LocalDevice.Current.DeviceIsCanTest(device) == true)
|
{
|
//测试
|
var btnTest = new RowSecondRightIconView();
|
btnTest.UnSelectedImagePath = "Item/Test.png";
|
btnTest.SelectedImagePath = "Item/TestSelected.png";
|
deviceRow.AddChidren(btnTest, ChidrenBindMode.NotBind);
|
btnTest.MouseUpEventHandler += (sender, e) =>
|
{
|
//测试
|
Common.LocalDevice.Current.SetTestCommand(device);
|
};
|
}
|
|
deviceRow.MouseUpEvent += (sender, e) =>
|
{
|
var form = new DeviceEpointInfoForm();
|
this.AddForm(form, device);
|
form.ActionNameChangedEvent += (deviceName, listName) =>
|
{
|
//变更房间
|
Common.Room.CurrentRoom.ChangedRoom(device, listName);
|
//刷新全部信息信息
|
deviceRow.listRoom = listName;
|
deviceRow.RefreshControlInfo(device);
|
};
|
};
|
}
|
|
/// <summary>
|
/// 画面关闭
|
/// </summary>
|
/// <param name="isCloseForm">是否关闭界面,false的时候,只会调用关闭函数里面的附加功能</param>
|
public override void CloseForm(bool isCloseForm = true)
|
{
|
//画面关闭时,不管之后怎么处理,先添加到主界面的列表及缓存中
|
this.LoadFormMethodByName("DeviceManagementMainForm", "AddDeviceToFormTable", listNewDevice);
|
|
base.CloseForm(isCloseForm);
|
}
|
}
|
}
|