using Shared.Phone.UserCenter; using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.Category.Controls { /// /// 分类界面的晾衣架设备行控件 /// public class DeviceAirerRowControl : DeviceRowCommon { #region ■ 变量声明___________________________ /// /// 打开控件 /// private MostRightIconControl btnOpen = null; /// /// 停止控件 /// private MostRightIconControl btnStop = null; /// /// 关闭控件 /// private MostRightIconControl btnClose = null; #endregion #region ■ 初始化_____________________________ /// /// 初始化控件 /// /// public override void InitControl(CommonDevice i_device, Common.Room i_nowSelectRoom) { base.InitControl(i_device, i_nowSelectRoom); //添加跳转深度卡片信息事件 this.AddDetailInfoEvent(i_device); //打开控件 this.btnOpen = new MostRightIconControl(69, 69); btnOpen.btnIcon.UseClickStatu = true; this.frameTable.AddChidren(btnOpen, ChidrenBindMode.NotBind); btnOpen.InitControl(); btnOpen.X = Application.GetRealWidth(625) - btnOpen.XOffset; btnOpen.ButtonClickEvent += (sender, e) => { ((Airer)i_device).AirerUpDownStopControl(0); base.RefreshControlInfo(i_device); return; }; //停止控件 this.btnStop = new MostRightIconControl(69, 69); btnStop.btnIcon.UseClickStatu = true; btnStop.UnSelectedImagePath = "Airer/StopOffline.png"; btnStop.SelectedImagePath = "Airer/Stop.png"; this.frameTable.AddChidren(btnStop, ChidrenBindMode.NotBind); btnStop.InitControl(); btnStop.X = Application.GetRealWidth(769) - btnOpen.XOffset; btnStop.ButtonClickEvent += (sender, e) => { //如果住宅为虚拟住宅,此功能无效 if (Common.Config.Instance.Home.IsVirtually == false) { ((Airer)i_device).AirerUpDownStopControl(2); } }; //关闭 this.btnClose = new MostRightIconControl(69, 69); btnClose.btnIcon.UseClickStatu = true; this.frameTable.AddChidren(btnClose, ChidrenBindMode.NotBind); btnClose.InitControl(); btnClose.X = Application.GetRealWidth(896) - btnOpen.XOffset; btnClose.ButtonClickEvent += (sender, e) => { ((Airer)i_device).AirerUpDownStopControl(1); base.RefreshControlInfo(i_device); return; }; //刷新图标控件的图标 this.RefreshIconControlImage(i_device); } #endregion #region ■ 深度卡片信息_______________________ /// /// 添加跳转深度卡片信息事件 /// private void AddDetailInfoEvent(CommonDevice i_device) { //深度卡片信息 this.frameTable.ButtonClickEvent += (sender, e) => { //晾衣架类型的深度卡片界面 var form = new MainPage.ControlForm.DeviceAirerDetailCardForm(); form.RowOrCardControl = this; form.AddForm(i_device, this.nowSelectRoom, 965, 1316); form.FormCloseEvent += this.CardDetailInfoBackEvent; }; } #endregion #region ■ 检测设备打开状态___________________ /// /// 检测设备打开状态 /// /// /// public override bool CheckIsOpenStatu(CommonDevice i_device) { bool isOpen = false; var airer = device as Airer; if (airer.OnOffStatus == 1 || airer.DryOnOffStatus == 1 || airer.WindOnOffStatus == 1 || airer.DisinfectOnOffStatus == 1) { isOpen = true; } return isOpen; } #endregion #region ■ 发送获取状态命令___________________ /// /// 发送获取状态命令 /// public override void SendStatuComand() { //如果住宅为虚拟住宅,此功能无效 if (Common.Config.Instance.Home.IsVirtually == true) { return; } //检测能否发送获取状态命令 if (this.CheckCanSendStatuComand() == true) { for (int i = 2; i < 6; i++) { //注意,衣架中的状态由不同端点获取 //回路2:读取照明开关状态 //回路3:读取风干开关状态和时间值 //回路4:读取烘干开关状态和时间值 //回路5:读取消毒开关状态和时间值 HdlDeviceAttributeLogic.Current.SendAirerComand(this.device, i); } } } #endregion #region ■ 刷新控件状态_______________________ /// /// 刷新控件状态 /// /// public override void RefreshControlInfo(CommonDevice i_device) { //刷新图标控件的图标 this.RefreshIconControlImage(i_device); base.RefreshControlInfo(i_device); } #endregion #region ■ 一般方法___________________________ /// /// 刷新图标控件的图标 /// /// private void RefreshIconControlImage(CommonDevice i_device) { //还没有初始化完成 if (btnOpen == null) { return; } btnOpen.UnSelectedImagePath = "Airer/UpOffline.png"; btnOpen.SelectedImagePath = "Airer/Up.png"; btnClose.UnSelectedImagePath = "Airer/DownOffline.png"; btnClose.SelectedImagePath = "Airer/Down.png"; } #endregion } }