From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs | 225 +++++++++++-------------------------------------------- 1 files changed, 46 insertions(+), 179 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs index 82f7f96..c883ab2 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs @@ -33,13 +33,13 @@ /// </summary> private CommonDevice deviceObj = null; /// <summary> + /// 璁惧鐨勭被鍨� + /// </summary> + private DeviceEnumInfo deviceEnum = null; + /// <summary> /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧 /// </summary> private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>(); - /// <summary> - /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘 - /// </summary> - private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>(); /// <summary> /// 淇℃伅缂栬緫鎺т欢 /// </summary> @@ -53,9 +53,11 @@ /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> /// <param name="i_device">璁惧鐨勬煇涓�鍥炶矾</param> - public void ShowForm(CommonDevice i_device) + /// <param name="i_deviceEnum">璁惧鐨勭被鍨�</param> + public void ShowForm(CommonDevice i_device, DeviceEnumInfo i_deviceEnum) { this.deviceObj = i_device; + this.deviceEnum = i_deviceEnum; //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp)); @@ -90,67 +92,30 @@ var btnFinish = new BottomClickButton(); btnFinish.TextID = R.MyInternationalizationString.uSave; bodyFrameLayout.AddChidren(btnFinish); - btnFinish.ButtonClickEvent += async (sender, e) => + btnFinish.ButtonClickEvent += (sender, e) => { //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧 dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim(); - //寮�鍚繘搴︽潯 - this.ShowProgressBar(); foreach (var epoint in dicDeviceSaveName.Keys) { - var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint); + var device = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, epoint); if (device == null || dicDeviceSaveName[epoint] == string.Empty) { //涓嶈兘鍏佽绌虹櫧鍚嶅瓧 continue; } string newName = dicDeviceSaveName[epoint]; - string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device); + string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device); if (oldName != newName) { //璁惧鍚嶇О淇敼 - var result = await Common.LocalDevice.Current.ReName(device, newName); + var result = HdlDeviceCommonLogic.Current.ReName(device, newName); if (result == false) { - //鍏抽棴 - this.CloseProgressBar(); return; } } } - foreach (var epoint in dicDeviceFuncType.Keys) - { - var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint); - if (device == null) - { - continue; - } - //璁剧疆鍔熻兘绫诲瀷 - device.DfunctionType = dicDeviceFuncType[epoint]; - if (device.IsCustomizeImage == true) - { - continue; - } - //閲嶆柊璁剧疆鍥剧墖 - if (device.DfunctionType == DeviceFunctionType.A寮�鍏�) - { - device.IconPath = "Device/Switch.png"; - } - else if (device.DfunctionType == DeviceFunctionType.A鎻掑骇) - { - device.IconPath = "Device/Socket1.png"; - } - else if (device.DfunctionType == DeviceFunctionType.A鐏厜) - { - device.IconPath = "Device/Light.png"; - } - else - { - device.IconPath = "Device/RelayEpoint.png"; - } - device.ReSave(); - } - this.CloseProgressBar(); //鍏抽棴鑷韩 this.CloseForm(); }; @@ -165,19 +130,20 @@ //鍥炶矾澶囨敞 string caption = Language.StringByID(R.MyInternationalizationString.uDeviceEpointNote); - string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); + string nameValue = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice); if (dicDeviceSaveName.ContainsKey(nowSelectDevice.DeviceEpoint) == true) { nameValue = dicDeviceSaveName[nowSelectDevice.DeviceEpoint]; } this.btnDeviceName = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2); + this.btnDeviceName.txtInput.MaxByte = 48;//闄愬埗鍙兘杈撳叆48涓瓧鑺� listview.AddChidren(btnDeviceName); btnDeviceName.InitControl(); btnDeviceName.AddBottomLine(); - btnDeviceName.txtInput.FinishInputEvent += async () => + btnDeviceName.txtInput.FinishInputEvent += () => { - string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); + string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice); if (btnDeviceName.Text.Trim() == string.Empty) { //灏嗗悕瀛楄繕鍘� @@ -186,7 +152,7 @@ if (oldName != btnDeviceName.Text.Trim()) { //璁惧鍚嶇О淇敼 - var result = await Common.LocalDevice.Current.ReName(nowSelectDevice, btnDeviceName.Text.Trim()); + var result = HdlDeviceCommonLogic.Current.ReName(nowSelectDevice, btnDeviceName.Text.Trim()); if (result == false) { return; @@ -225,7 +191,7 @@ private void InitTopRightMenu() { //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 - if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false) + if (HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false) { return; } @@ -248,7 +214,7 @@ int menuCount = 1; string deviceMenu = string.Empty; //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 - bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice); + bool canTest = HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice); //if (canTest == true) //{ // menuCount = 2; @@ -261,7 +227,7 @@ frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () => { //鍙戦�佸畾浣嶅姛鑳� - Common.LocalDevice.Current.SetFixedPositionCommand(nowSelectDevice); + HdlDeviceCommonLogic.Current.SetFixedPositionCommand(nowSelectDevice); }); } @@ -281,95 +247,14 @@ /// </summary> private void AddFunctionTypeRow() { - //濡傛灉鏄户鐢靛櫒鍜岃皟鍏夊櫒鐨勮瘽 - if (nowSelectDevice.Type == DeviceType.OnOffOutput || nowSelectDevice.Type == DeviceType.DimmableLight - || nowSelectDevice.Type == DeviceType.ColorDimmableLight) + //鑷畾涔夊姛鑳界被鍨嬫帶浠� + var rowFunction = new DeviceFunctionTypeRowControl(nowSelectDevice, listview.rowSpace / 2); + if (rowFunction.CanShowRow == true) { - //鍔熻兘绫诲瀷 - string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType); - var DfunctionType = nowSelectDevice.DfunctionType; - if (this.dicDeviceFuncType.ContainsKey(nowSelectDevice.DeviceEpoint) == true) - { - DfunctionType = this.dicDeviceFuncType[nowSelectDevice.DeviceEpoint]; - } - - //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛� - int nowSelectNo = 1; - string strType = string.Empty; - if (DfunctionType == DeviceFunctionType.A鐏厜) - { - strType = Language.StringByID(R.MyInternationalizationString.uLight); - nowSelectNo = 1; - } - else if (DfunctionType == DeviceFunctionType.A寮�鍏�) - { - strType = Language.StringByID(R.MyInternationalizationString.uSwitch); - nowSelectNo = 0; - } - else if (DfunctionType == DeviceFunctionType.A鎻掑骇) - { - strType = Language.StringByID(R.MyInternationalizationString.uSocket1); - nowSelectNo = 2; - } - - var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2); - btnFunction.UseClickStatu = false; - listview.AddChidren(btnFunction); - btnFunction.InitControl(); + listview.AddChidren(rowFunction); + rowFunction.InitControl(); //搴曠嚎 - btnFunction.AddBottomLine(); - - //濡傛灉鏄户鐢靛櫒鎵嶈兘澶熸洿鏀硅繖涓姛鑳界被鍨� - if (nowSelectDevice.Type == DeviceType.OnOffOutput) - { - btnFunction.UseClickStatu = true; - //鍙崇澶� - btnFunction.AddRightArrow(); - btnFunction.ButtonClickEvent += (sender, e) => - { - //鏄剧ず鍒楄〃 - 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, nowSelectNo); - form.FinishSelectEvent += (selectNo) => - { - if (selectNo == -1) - { - //閫夋嫨鍙栨秷 - btnFunction.Text = string.Empty; - } - else - { - btnFunction.Text = listText[selectNo]; - } - nowSelectNo = selectNo; - //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� - if (selectNo == 0) - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A寮�鍏�; - } - else if (selectNo == 1) - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜; - } - else if (selectNo == 2) - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇; - } - else - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鏈畾涔�; - } - }; - }; - } + rowFunction.AddBottomLine(); } } @@ -383,13 +268,12 @@ private void InitDeviceEpointIcon(VerticalFrameControl listBackControl) { bool hadDevice = false; - var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr); + var listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceObj.DeviceAddr); var listSort = new List<CommonDevice>(); foreach (var device in listDevice) { - //濡傛灉鏄户鐢靛櫒鍜岃皟鍏夊櫒鐨勮瘽 - if (device.Type == DeviceType.OnOffOutput || device.Type == DeviceType.DimmableLight - || device.Type == DeviceType.ColorDimmableLight) + //濡傛灉鏄户鐢靛櫒 + if (device.Type == DeviceType.OnOffOutput) { listSort.Add(device); if (device.DeviceEpoint == deviceObj.DeviceEpoint) @@ -425,21 +309,21 @@ frameBorder.AddChidren(btnPic); - if (listSort.Count == 8) + if (deviceEnum.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight) { - //鍏寜閿潰鏉� + //鍥涘紑鍏帶闈㈡澘 btnPic.UnSelectedImagePath = "DeviceItem/PanelFangyueEightButtonTable.png"; this.InitEightButtonPanelIcon(frameBorder, listSort); } - else if (listSort.Count == 4) + else if (deviceEnum.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFour) { - //鍥涙寜閿潰鏉� + //鍙屽紑鍥涙帶闈㈡澘 btnPic.UnSelectedImagePath = "DeviceItem/PanelFangyueFourButtonTable.png"; this.InitFourButtonPanelIcon(frameBorder, listSort); } else { - //浜屾寜閿潰鏉� + //鍗曞紑鍙屾帶闈㈡澘 btnPic.UnSelectedImagePath = "DeviceItem/PanelFangyueTwoButtonTable.png"; this.InitTwoButtonPanelIcon(frameBorder, listSort); } @@ -454,12 +338,13 @@ private NormalViewControl InitDeviceButtonControl(FrameLayout frame, CommonDevice device) { var btnIcon = new NormalViewControl(this.GetPictrueRealSize(52), this.GetPictrueRealSize(52), false); - btnIcon.Text = "Button" + device.DeviceEpoint; + btnIcon.Text = "CHANNEL" + device.DeviceEpoint; btnIcon.TextAlignment = TextAlignment.Center; btnIcon.TextColor = UserCenterColor.Current.TextGrayColor1; + btnIcon.IsBold = true; if (frame is FrameLayoutStatuControl) { - ((FrameLayoutStatuControl)frame).AddChidren(btnIcon, ChidrenBindMode.BindEventOnly); + ((FrameLayoutStatuControl)frame).AddChidren(btnIcon, ChidrenBindMode.BindEvent); ((FrameLayoutStatuControl)frame).ButtonClickEvent += (sender, e) => { //鎸夐敭鐐瑰嚮 @@ -490,7 +375,7 @@ #region 鈻� 鍒濆鍖栦簩鎸夐敭鍥炬爣___________________ /// <summary> - /// 鍒濆鍖栦簩鎸夐敭闈㈡澘鐨勫浘鏍� + /// 鍒濆鍖栧崟寮�鍙屾帶闈㈡澘鐨勫浘鏍� /// </summary> /// <param name="frameBack">瀹瑰櫒</param> /// <param name="listDevice">璁惧鍒楄〃</param> @@ -516,7 +401,7 @@ #region 鈻� 鍒濆鍖栧洓鎸夐敭鍥炬爣___________________ /// <summary> - /// 鍒濆鍖栧洓鎸夐敭闈㈡澘鐨勫浘鏍� + /// 鍒濆鍖栧弻寮�鍥涙帶閿潰鏉跨殑鍥炬爣 /// </summary> /// <param name="frameBack">瀹瑰櫒</param> /// <param name="listDevice">璁惧鍒楄〃</param> @@ -524,7 +409,7 @@ { //鎸夐敭1 var btnButton1 = this.InitDeviceButtonControl(frameBack, listDevice[0]); - btnButton1.TextSize = 12; + btnButton1.TextSize = 8; btnButton1.Height = this.GetPictrueRealSize(175); btnButton1.Width = this.GetPictrueRealSize(183); btnButton1.X = this.GetPictrueRealSize(34); @@ -532,7 +417,7 @@ //鎸夐敭2 var btnButton2 = this.InitDeviceButtonControl(frameBack, listDevice[1]); - btnButton2.TextSize = 12; + btnButton2.TextSize = 8; btnButton2.Height = this.GetPictrueRealSize(175); btnButton2.Width = this.GetPictrueRealSize(183); btnButton2.X = btnButton1.Right; @@ -540,7 +425,7 @@ //鎸夐敭3 var btnButton3 = this.InitDeviceButtonControl(frameBack, listDevice[2]); - btnButton3.TextSize = 12; + btnButton3.TextSize = 8; btnButton3.Height = this.GetPictrueRealSize(175); btnButton3.Width = this.GetPictrueRealSize(183); btnButton3.X = btnButton1.X; @@ -548,7 +433,7 @@ //鎸夐敭4 var btnButton4 = this.InitDeviceButtonControl(frameBack, listDevice[3]); - btnButton4.TextSize = 12; + btnButton4.TextSize = 8; btnButton4.Height = this.GetPictrueRealSize(175); btnButton4.Width = this.GetPictrueRealSize(183); btnButton4.X = btnButton2.X; @@ -560,7 +445,7 @@ #region 鈻� 鍒濆鍖栧叓鎸夐敭鍥炬爣___________________ /// <summary> - /// 鍒濆鍖栧叓鎸夐敭闈㈡澘鐨勫浘鏍� + /// 鍒濆鍖栧洓寮�鍏帶闈㈡澘鐨勫浘鏍� /// </summary> /// <param name="frameBack">瀹瑰櫒</param> /// <param name="listDevice">璁惧鍒楄〃</param> @@ -583,24 +468,6 @@ frame2.Width = frame1.Width; frameBack.AddChidren(frame2); this.InitEightButtonPanelIcon(frame2, listDevice[2], listDevice[3]); - - //鎸夐敭5锝炴寜閿�6 - var frame3 = new FrameLayout(); - frame3.X = frame1.X; - frame3.Y = frame1.Bottom + this.GetPictrueRealSize(4); - frame3.Height = frame1.Height; - frame3.Width = frame1.Width; - frameBack.AddChidren(frame3); - this.InitEightButtonPanelIcon(frame3, listDevice[4], listDevice[5]); - - //鎸夐敭7锝炴寜閿�8 - var frame4 = new FrameLayout(); - frame4.X = frame1.Right; - frame4.Y = frame1.Bottom + this.GetPictrueRealSize(4); - frame4.Height = frame1.Height; - frame4.Width = frame1.Width; - frameBack.AddChidren(frame4); - this.InitEightButtonPanelIcon(frame4, listDevice[6], listDevice[7]); } /// <summary> @@ -618,7 +485,7 @@ frameButton1.Width = this.GetPictrueRealSize(183); frameBack.AddChidren(frameButton1); var btnButton1 = this.InitDeviceButtonControl(frameButton1, device1); - btnButton1.TextSize = 10; + btnButton1.TextSize = 8; btnButton1.Height = this.GetPictrueRealSize(35); btnButton1.Width = this.GetPictrueRealSize(183); btnButton1.Y = this.GetPictrueRealSize(37); @@ -631,7 +498,7 @@ frameButton2.Y = frameButton1.Bottom; frameBack.AddChidren(frameButton2); var btnButton2 = this.InitDeviceButtonControl(frameButton2, device2); - btnButton2.TextSize = 10; + btnButton2.TextSize = 8; btnButton2.Height = btnButton1.Height; btnButton2.Width = btnButton1.Width; btnButton2.Y = this.GetPictrueRealSize(20); @@ -665,7 +532,7 @@ nowContr.TextColor = 0xfffb744a; nowSelectControl = nowContr; - nowSelectDevice = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Text.Replace("Button", string.Empty))); + nowSelectDevice = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Text.Replace("CHANNEL", string.Empty))); //閲嶆柊鍒濆鍖栬彍鍗曡 this.InitMenuRow(); -- Gitblit v1.8.0