From e90209beae6a4e822cecb18e6889f8bda23f630e Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 14 十二月 2020 11:16:06 +0800 Subject: [PATCH] 合并了晾衣架(非新云端) --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs | 747 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 380 insertions(+), 367 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs old mode 100755 new mode 100644 index 75a9421..f335816 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs @@ -1,367 +1,380 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; -using ZigBee.Device; - -namespace Shared.Phone.UserCenter -{ - /// <summary> - /// 璁惧鍔熻兘绫诲瀷鐨勮嚜瀹氫箟琛屾帶浠� - /// </summary> - public class DeviceFunctionTypeRowControl : FrameCaptionViewControl - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 缁撴潫閫夋嫨鐨勪簨浠� value:绱㈠紩(浠�0寮�濮�) 鏂囨湰淇℃伅璇风敤Text鑾峰彇 - /// </summary> - public Action<int> FinishSelectEvent = null; - /// <summary> - /// 鍒ゆ柇璇ユ帶浠惰兘鍚︽樉绀� - /// </summary> - public bool CanShowRow - { - get { return this.CheckCanShowRow(); } - } - - private bool m_SetCanSelect = true; - /// <summary> - /// 寮哄埗璁剧疆鑳藉惁杩涜閫夋嫨(鍙缁х數鍣ㄥ拰绌烘皵寮�鍏虫湁鏁�,涓埆鐣岄潰闇�瑕佽繖绉嶆搷浣�) - /// </summary> - public bool SetCanSelect - { - set - { - m_SetCanSelect = value; - } - } - /// <summary> - /// 璁惧瀵硅薄 - /// </summary> - private CommonDevice device = null; - /// <summary> - /// 褰撳墠閫夋嫨鐨勫姛鑳界被鍨嬬储寮� -1:杩樻病鏈夎缃繃 0:涓嶆寚瀹� 1:寮�鍏� 2:鐏厜 3:鎻掑骇 - /// </summary> - private int nowSelectNo = -1; - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 璁惧鍔熻兘绫诲瀷鐨勮嚜瀹氫箟琛屾帶浠�(閫夋嫨鍔熻兘涔嬪悗,鏃犳潯浠剁洿鎺ュ彉鏇寸被鍨�) - /// </summary> - /// <param name="i_device">璁惧鐨勫璞�</param> - /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> - public DeviceFunctionTypeRowControl(CommonDevice i_device, int i_ChidrenYaxis = 0) : base("", "", i_ChidrenYaxis) - { - this.device = i_device; - this.UseClickStatu = false; - } - - /// <summary> - /// 鍒濆鍖� - /// </summary> - public override void InitControl() - { - //鍒濆鍖栧垵濮嬫暟鎹� - this.InitDefultData(); - //鍒濆鍖栧簳灞傛暟鎹� - base.InitControl(); - - //绌烘皵寮�鍏冲拰缁х數鍣ㄥ彲浠ラ�夋嫨鍔熻兘绫诲瀷 - if (this.device.Type == DeviceType.AirSwitch - || this.device.Type == DeviceType.OnOffOutput) - { - //娌¤寮哄埗骞叉秹鐨勮瘽 - if (m_SetCanSelect == true && Common.Config.Instance.Home.IsShowTemplate == false) - { - this.UseClickStatu = true; - //鍙崇澶� - this.AddRightArrow(); - - //璇诲彇璁惧鍔熻兘绫诲瀷 - this.ReadDeviceFunctionType(); - - this.ButtonClickEvent += (sender, e) => - { - //鏄剧ず閫夋嫨璁惧鍔熻兘绫诲瀷鐨勭晫闈� - this.ShowSelectDeviceFunctionListForm(); - }; - } - } - } - - #endregion - - #region 鈻� 鏄剧ず閫夋嫨璁惧鍔熻兘绫诲瀷_______________ - - /// <summary> - /// 鏄剧ず閫夋嫨璁惧鍔熻兘绫诲瀷鐨勭晫闈� - /// </summary> - private void ShowSelectDeviceFunctionListForm() - { - //鏄剧ず鍒楄〃 - var listText = new List<string>(); - listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//寮�鍏� - listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//鐏厜 - listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//鎻掑骇 - //鏍囬:閫夋嫨鍔熻兘绫诲瀷 - var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType); - - var form = new BottomItemSelectForm(); - form.CancelCallEvent = true;//鍏佽鍙栨秷 - form.AddForm(title, listText, null, nowSelectNo - 1); - form.FinishSelectEvent += (selectNo) => - { - if (selectNo == nowSelectNo - 1) - { - //閫夋嫨鐨勬槸鐩稿悓鐨� - return; - } - //-1:閫夋嫨鍙栨秷 - this.Text = selectNo == -1 ? string.Empty : listText[selectNo]; - nowSelectNo = selectNo + 1; - - this.CanClick = false; - HdlThreadLogic.Current.RunThread(() => - { - //璁剧疆鍔熻兘绫诲瀷鍒扮綉鍏� - var result = Common.LocalDevice.Current.SendDeviceFunctionTypeToGateway(this.device, (DeviceFunctionType)nowSelectNo); - - HdlThreadLogic.Current.RunMain(() => - { - if (result == true) - { - //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� - this.RefreshDfunctionType(); - - //璁惧鏀瑰彉鍔熻兘绫诲瀷鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� - UserView.UserPage.Instance.RefreshAllForm = true; - - //璋冪敤鍥炶皟鍑芥暟 - this.FinishSelectEvent?.Invoke(nowSelectNo); - } - else - { - //璁剧疆璁惧鍔熻兘绫诲瀷澶辫触 - var alert = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetDeviceFunctionTypeFail)); - alert.Show(); - } - this.CanClick = true; - }); - }); - }; - } - #endregion - - #region 鈻� 鍒濆鍖栧垵濮嬫暟鎹甠____________________ - - /// <summary> - /// 鍒濆鍖栧垵濮嬫暟鎹� - /// </summary> - private void InitDefultData() - { - //鏍囬锛氬姛鑳界被鍨� - this.btnCaption.Text = Language.StringByID(R.MyInternationalizationString.uFunctionType); - - var myFunType = this.device.DfunctionType; - //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛� - string strType = string.Empty; - - if (this.device.DfunctionType == DeviceFunctionType.A涓嶆寚瀹�) - { - nowSelectNo = 0; - } - else if (this.device.DfunctionType == DeviceFunctionType.A寮�鍏�) - { - strType = Language.StringByID(R.MyInternationalizationString.uSwitch); - nowSelectNo = 1; - } - else if (myFunType == DeviceFunctionType.A鐏厜) - { - strType = Language.StringByID(R.MyInternationalizationString.uLight); - nowSelectNo = 2; - } - else if (this.device.DfunctionType == DeviceFunctionType.A鎻掑骇) - { - strType = Language.StringByID(R.MyInternationalizationString.uSocket1); - nowSelectNo = 3; - } - - if (this.device.Type == DeviceType.ColorDimmableLight - || this.device.Type == DeviceType.ColorTemperatureLight - || this.device.Type == DeviceType.DimmableLight) - { - //鐏厜绫诲浐瀹氫负 鐏厜 - var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A418"); - strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; - nowSelectNo = 2; - } - else if (this.device.Type == DeviceType.WindowCoveringDevice) - { - //绐楀笜鍥哄畾涓� 閬槼 - var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A400"); - strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; - nowSelectNo = -1; - } - else if (this.device.Type == DeviceType.Thermostat) - { - //绌鸿皟鍥哄畾涓� 绌鸿皟 - var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A406"); - strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; - nowSelectNo = -1; - } - else if (this.device.Type == DeviceType.DoorLock) - { - //闂ㄩ攣鍥哄畾涓� 闂ㄩ攣 - var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A405"); - strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; - nowSelectNo = -1; - } - else if (this.device.Type == DeviceType.FreshAir) - { - //鏂伴鍥哄畾涓� 鏂伴 - strType = Language.StringByID(R.MyInternationalizationString.FreshAir); - nowSelectNo = -1; - } - else if (this.device.Type == DeviceType.PMSensor) - { - //PM2.5浼犳劅鍣ㄥ浐瀹氫负 绌烘皵璐ㄩ噺 - strType = Language.StringByID(R.MyInternationalizationString.AirQuality); - nowSelectNo = -1; - } - - //鏄剧ず鏂囨湰 - this.txtView.Text = strType; - } - - #endregion - - #region 鈻� 妫�娴嬭兘鍚︽樉绀篲______________________ - - /// <summary> - /// 妫�娴嬭兘鍚︽樉绀� - /// </summary> - /// <returns></returns> - private bool CheckCanShowRow() - { - if (this.device == null) { return true; } - - if (this.device.Type == DeviceType.AirSwitch//绌烘皵寮�鍏� - || this.device.Type == DeviceType.ColorDimmableLight//褰╃伅 - || this.device.Type == DeviceType.DimmableLight//璋冨厜鐏� - || this.device.Type == DeviceType.DoorLock//闂ㄩ攣 - || this.device.Type == DeviceType.OnOffOutput//缁х數鍣� - || this.device.Type == DeviceType.Thermostat//绌鸿皟 - || this.device.Type == DeviceType.FreshAir//鏂伴 - || this.device.Type == DeviceType.PMSensor //PM2.5 - || this.device.Type == DeviceType.ColorTemperatureLight //鑹叉俯鐏� - || this.device.Type == DeviceType.WindowCoveringDevice)//绐楀笜 - { - return true; - } - return false; - } - - #endregion - - #region 鈻� 鎺т欢鎽ф瘉___________________________ - - /// <summary> - /// 鎺т欢鎽ф瘉 - /// </summary> - public override void RemoveFromParent() - { - this.FinishSelectEvent = null; - - base.RemoveFromParent(); - } - - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 鍒锋柊璁惧鍔熻兘绫诲瀷 - /// </summary> - private void RefreshDfunctionType() - { - if (this.nowSelectNo == 1) - { - this.device.DfunctionType = DeviceFunctionType.A寮�鍏�; - if (this.device.IsCustomizeImage == false) - { - //閲嶆柊璁剧疆鍥剧墖 - this.device.IconPath = "Device/Switch.png"; - } - } - else if (this.nowSelectNo == 2) - { - this.device.DfunctionType = DeviceFunctionType.A鐏厜; - if (this.device.IsCustomizeImage == false) - { - //閲嶆柊璁剧疆鍥剧墖 - this.device.IconPath = "Device/Light.png"; - } - } - else if (this.nowSelectNo == 3) - { - this.device.DfunctionType = DeviceFunctionType.A鎻掑骇; - if (this.device.IsCustomizeImage == false) - { - //閲嶆柊璁剧疆鍥剧墖 - this.device.IconPath = "Device/Socket1.png"; - } - } - else - { - this.device.DfunctionType = DeviceFunctionType.A涓嶆寚瀹�; - if (this.device.IsCustomizeImage == false) - { - //閲嶆柊璁剧疆鍥剧墖 - if (this.device.Type == DeviceType.AirSwitch) - { - //绌烘皵寮�鍏� - this.device.IconPath = "Device/Switch.png"; - } - else if (this.device.Type == DeviceType.OnOffOutput) - { - //缁х數鍣� - this.device.IconPath = "Device/RelayEpoint.png"; - } - } - } - this.device.ReSave(); - } - - #endregion - - #region 鈻� 璇诲彇璁惧鍔熻兘绫诲瀷___________________ - - /// <summary> - /// 璇诲彇璁惧鍔熻兘绫诲瀷 - /// </summary> - private void ReadDeviceFunctionType() - { - HdlThreadLogic.Current.RunThread(() => - { - //璇诲彇璁惧鍔熻兘绫诲瀷 - var info = Common.LocalDevice.Current.ReadDeviceEpointDeviceInfo(this.device); - if (info != null && ((int)this.device.DfunctionType) != info.FunctionType) - { - this.device.DfunctionType = (DeviceFunctionType)info.FunctionType; - HdlThreadLogic.Current.RunMain(() => - { - //鍒锋柊鎺т欢 - this.InitDefultData(); - //鍒锋柊璁惧鍔熻兘绫诲瀷 - this.RefreshDfunctionType(); - }); - } - }); - } - - #endregion - } -} +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 璁惧鍔熻兘绫诲瀷鐨勮嚜瀹氫箟琛屾帶浠� + /// </summary> + public class DeviceFunctionTypeRowControl : FrameCaptionViewControl + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 缁撴潫閫夋嫨鐨勪簨浠� value:绱㈠紩(浠�0寮�濮�) 鏂囨湰淇℃伅璇风敤Text鑾峰彇 + /// </summary> + public Action<int> FinishSelectEvent = null; + /// <summary> + /// 鍒ゆ柇璇ユ帶浠惰兘鍚︽樉绀� + /// </summary> + public bool CanShowRow + { + get { return this.CheckCanShowRow(); } + } + + private bool m_SetCanSelect = true; + /// <summary> + /// 寮哄埗璁剧疆鑳藉惁杩涜閫夋嫨(鍙缁х數鍣ㄥ拰绌烘皵寮�鍏虫湁鏁�,涓埆鐣岄潰闇�瑕佽繖绉嶆搷浣�) + /// </summary> + public bool SetCanSelect + { + set + { + m_SetCanSelect = value; + } + } + /// <summary> + /// 璁惧瀵硅薄 + /// </summary> + private CommonDevice device = null; + /// <summary> + /// 褰撳墠閫夋嫨鐨勫姛鑳界被鍨嬬储寮� -1:杩樻病鏈夎缃繃 0:涓嶆寚瀹� 1:寮�鍏� 2:鐏厜 3:鎻掑骇 + /// </summary> + private int nowSelectNo = -1; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 璁惧鍔熻兘绫诲瀷鐨勮嚜瀹氫箟琛屾帶浠�(閫夋嫨鍔熻兘涔嬪悗,鏃犳潯浠剁洿鎺ュ彉鏇寸被鍨�) + /// </summary> + /// <param name="i_device">璁惧鐨勫璞�</param> + /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> + public DeviceFunctionTypeRowControl(CommonDevice i_device, int i_ChidrenYaxis = 0) : base("", "", i_ChidrenYaxis) + { + this.device = i_device; + this.UseClickStatu = false; + } + + /// <summary> + /// 鍒濆鍖� + /// </summary> + public override void InitControl() + { + //鍒濆鍖栧垵濮嬫暟鎹� + this.InitDefultData(); + //鍒濆鍖栧簳灞傛暟鎹� + base.InitControl(); + + //绌烘皵寮�鍏冲拰缁х數鍣ㄥ彲浠ラ�夋嫨鍔熻兘绫诲瀷 + if (this.device.Type == DeviceType.AirSwitch + || this.device.Type == DeviceType.OnOffOutput) + { + //娌¤寮哄埗骞叉秹鐨勮瘽 + if (m_SetCanSelect == true && Common.Config.Instance.Home.IsShowTemplate == false) + { + this.UseClickStatu = true; + //鍙崇澶� + this.AddRightArrow(); + + //璇诲彇璁惧鍔熻兘绫诲瀷 + this.ReadDeviceFunctionType(); + + this.ButtonClickEvent += (sender, e) => + { + //鏄剧ず閫夋嫨璁惧鍔熻兘绫诲瀷鐨勭晫闈� + this.ShowSelectDeviceFunctionListForm(); + }; + } + } + } + + #endregion + + #region 鈻� 鏄剧ず閫夋嫨璁惧鍔熻兘绫诲瀷_______________ + + /// <summary> + /// 鏄剧ず閫夋嫨璁惧鍔熻兘绫诲瀷鐨勭晫闈� + /// </summary> + private void ShowSelectDeviceFunctionListForm() + { + //鏄剧ず鍒楄〃 + var listText = new List<string>(); + listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//寮�鍏� + listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//鐏厜 + listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//鎻掑骇 + //鏍囬:閫夋嫨鍔熻兘绫诲瀷 + var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType); + + var form = new BottomItemSelectForm(); + form.CancelCallEvent = true;//鍏佽鍙栨秷 + form.AddForm(title, listText, null, nowSelectNo - 1); + form.FinishSelectEvent += (selectNo) => + { + if (selectNo == nowSelectNo - 1) + { + //閫夋嫨鐨勬槸鐩稿悓鐨� + return; + } + //-1:閫夋嫨鍙栨秷 + this.Text = selectNo == -1 ? string.Empty : listText[selectNo]; + nowSelectNo = selectNo + 1; + + this.CanClick = false; + HdlThreadLogic.Current.RunThread(() => + { + //璁剧疆鍔熻兘绫诲瀷鍒扮綉鍏� + var result = Common.LocalDevice.Current.SendDeviceFunctionTypeToGateway(this.device, (DeviceFunctionType)nowSelectNo); + + HdlThreadLogic.Current.RunMain(() => + { + if (result == true) + { + //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� + this.RefreshDfunctionType(); + + //璁惧鏀瑰彉鍔熻兘绫诲瀷鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; + + //璋冪敤鍥炶皟鍑芥暟 + this.FinishSelectEvent?.Invoke(nowSelectNo); + } + else + { + //璁剧疆璁惧鍔熻兘绫诲瀷澶辫触 + var alert = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetDeviceFunctionTypeFail)); + alert.Show(); + } + this.CanClick = true; + }); + }); + }; + } + #endregion + + #region 鈻� 鍒濆鍖栧垵濮嬫暟鎹甠____________________ + + /// <summary> + /// 鍒濆鍖栧垵濮嬫暟鎹� + /// </summary> + private void InitDefultData() + { + //鏍囬锛氬姛鑳界被鍨� + this.btnCaption.Text = Language.StringByID(R.MyInternationalizationString.uFunctionType); + + var myFunType = this.device.DfunctionType; + //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛� + string strType = string.Empty; + + if (this.device.DfunctionType == DeviceFunctionType.A涓嶆寚瀹�) + { + nowSelectNo = 0; + } + else if (this.device.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + strType = Language.StringByID(R.MyInternationalizationString.uSwitch); + nowSelectNo = 1; + } + else if (myFunType == DeviceFunctionType.A鐏厜) + { + strType = Language.StringByID(R.MyInternationalizationString.uLight); + nowSelectNo = 2; + } + else if (this.device.DfunctionType == DeviceFunctionType.A鎻掑骇) + { + strType = Language.StringByID(R.MyInternationalizationString.uSocket1); + nowSelectNo = 3; + } + + if (this.device.Type == DeviceType.ColorDimmableLight + || this.device.Type == DeviceType.ColorTemperatureLight + || this.device.Type == DeviceType.DimmableLight) + { + //鐏厜绫诲浐瀹氫负 鐏厜 + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A418"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; + nowSelectNo = 2; + } + else if (this.device.Type == DeviceType.WindowCoveringDevice) + { + //绐楀笜鍥哄畾涓� 閬槼 + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A400"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.Thermostat) + { + //绌鸿皟鍥哄畾涓� 绌鸿皟 + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A406"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.DoorLock) + { + //闂ㄩ攣鍥哄畾涓� 闂ㄩ攣 + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A405"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.FreshAir) + { + //鏂伴鍥哄畾涓� 鏂伴 + strType = Language.StringByID(R.MyInternationalizationString.FreshAir); + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.PMSensor) + { + //PM2.5浼犳劅鍣ㄥ浐瀹氫负 绌烘皵璐ㄩ噺 + strType = Language.StringByID(R.MyInternationalizationString.AirQuality); + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.Airer) + { + //鏅捐。鏋� + strType = Language.StringByID(R.MyInternationalizationString.AirerFun); + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.PMSensor) + { + //绌烘皵璐ㄩ噺浼犳劅鍣� 鐜 + strType = Language.StringByID(R.MyInternationalizationString.Envoronment); + nowSelectNo = -1; + } + + //鏄剧ず鏂囨湰 + this.txtView.Text = strType; + } + + #endregion + + #region 鈻� 妫�娴嬭兘鍚︽樉绀篲______________________ + + /// <summary> + /// 妫�娴嬭兘鍚︽樉绀� + /// </summary> + /// <returns></returns> + private bool CheckCanShowRow() + { + if (this.device == null) { return true; } + + if (this.device.Type == DeviceType.AirSwitch//绌烘皵寮�鍏� + || this.device.Type == DeviceType.ColorDimmableLight//褰╃伅 + || this.device.Type == DeviceType.DimmableLight//璋冨厜鐏� + || this.device.Type == DeviceType.DoorLock//闂ㄩ攣 + || this.device.Type == DeviceType.OnOffOutput//缁х數鍣� + || this.device.Type == DeviceType.Thermostat//绌鸿皟 + || this.device.Type == DeviceType.FreshAir//鏂伴 + || this.device.Type == DeviceType.PMSensor //PM2.5 + || this.device.Type == DeviceType.Airer//鏅捐。鏋� + || this.device.Type == DeviceType.ColorTemperatureLight //鑹叉俯鐏� + || this.device.Type == DeviceType.WindowCoveringDevice)//绐楀笜 + { + return true; + } + return false; + } + + #endregion + + #region 鈻� 鎺т欢鎽ф瘉___________________________ + + /// <summary> + /// 鎺т欢鎽ф瘉 + /// </summary> + public override void RemoveFromParent() + { + this.FinishSelectEvent = null; + + base.RemoveFromParent(); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鍒锋柊璁惧鍔熻兘绫诲瀷 + /// </summary> + private void RefreshDfunctionType() + { + if (this.nowSelectNo == 1) + { + this.device.DfunctionType = DeviceFunctionType.A寮�鍏�; + if (this.device.IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + this.device.IconPath = "Device/Switch.png"; + } + } + else if (this.nowSelectNo == 2) + { + this.device.DfunctionType = DeviceFunctionType.A鐏厜; + if (this.device.IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + this.device.IconPath = "Device/Light.png"; + } + } + else if (this.nowSelectNo == 3) + { + this.device.DfunctionType = DeviceFunctionType.A鎻掑骇; + if (this.device.IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + this.device.IconPath = "Device/Socket1.png"; + } + } + else + { + this.device.DfunctionType = DeviceFunctionType.A涓嶆寚瀹�; + if (this.device.IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + if (this.device.Type == DeviceType.AirSwitch) + { + //绌烘皵寮�鍏� + this.device.IconPath = "Device/Switch.png"; + } + else if (this.device.Type == DeviceType.OnOffOutput) + { + //缁х數鍣� + this.device.IconPath = "Device/RelayEpoint.png"; + } + } + } + this.device.ReSave(); + } + + #endregion + + #region 鈻� 璇诲彇璁惧鍔熻兘绫诲瀷___________________ + + /// <summary> + /// 璇诲彇璁惧鍔熻兘绫诲瀷 + /// </summary> + private void ReadDeviceFunctionType() + { + HdlThreadLogic.Current.RunThread(() => + { + //璇诲彇璁惧鍔熻兘绫诲瀷 + var info = Common.LocalDevice.Current.ReadDeviceEpointDeviceInfo(this.device); + if (info != null && ((int)this.device.DfunctionType) != info.FunctionType) + { + this.device.DfunctionType = (DeviceFunctionType)info.FunctionType; + HdlThreadLogic.Current.RunMain(() => + { + //鍒锋柊鎺т欢 + this.InitDefultData(); + //鍒锋柊璁惧鍔熻兘绫诲瀷 + this.RefreshDfunctionType(); + }); + } + }); + } + + #endregion + } +} -- Gitblit v1.8.0