From d5b9ff8bf8cc36f5b13c46b66682f5988d3a6f36 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 15 五月 2020 11:36:11 +0800 Subject: [PATCH] 2020-05-15-1 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs | 213 ++++++++++++++--------------------------------------- 1 files changed, 56 insertions(+), 157 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs index d85a556..cdd9f59 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFunctionSettionForm.cs @@ -15,7 +15,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalListControl listview = null; + private FrameListControl listview = null; /// <summary> /// 褰撳墠閫夋嫨鐨勮澶� /// </summary> @@ -36,10 +36,6 @@ /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧 /// </summary> private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>(); - /// <summary> - /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘 - /// </summary> - private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>(); /// <summary> /// 淇℃伅缂栬緫鎺т欢 /// </summary> @@ -75,12 +71,16 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + var listBackControl = new VerticalFrameControl(); + listBackControl.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackControl); + //鍒濆鍖栨甯� this.tableContr = new InformationEditorControl(); - this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1028); + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028); //鍒濆鍖栬澶囧洖璺浘鏍� - this.InitDeviceEpointIcon(); + this.InitDeviceEpointIcon(listBackControl); //淇濆瓨 var btnFinish = new BottomClickButton(); @@ -90,8 +90,6 @@ { //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧 dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim(); - //寮�鍚繘搴︽潯 - this.ShowProgressBar(); foreach (var epoint in dicDeviceSaveName.Keys) { var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint); @@ -108,41 +106,10 @@ var result = await Common.LocalDevice.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"; - } - device.ReSave(); - } - this.CloseProgressBar(); //鍏抽棴鑷韩 this.CloseForm(); }; @@ -198,13 +165,13 @@ rowBeloneArea.SelectRoomEvent += (roomKeys) => { //鍙樻洿鎴块棿 - Common.Room.CurrentRoom.ChangedRoom(nowSelectDevice, roomKeys); + HdlRoomLogic.Current.ChangedRoom(nowSelectDevice, roomKeys); }; //娣诲姞鍔熻兘绫诲瀷琛� this.AddFunctionTypeRow(); //鍒濆鍖栨甯冨畬鎴� - tableContr.FinishInitControl(bodyFrameLayout, this.listview); + tableContr.FinishInitControl(); } #endregion @@ -273,82 +240,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.AddForm(title, listText, nowSelectNo); - form.FinishSelectEvent += (selectNo) => - { - btnFunction.Text = listText[selectNo]; - nowSelectNo = selectNo; - //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� - if (selectNo == 0) - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A寮�鍏�; - } - else if (selectNo == 1) - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜; - } - else - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇; - } - }; - }; - } + rowFunction.AddBottomLine(); } } @@ -359,7 +258,7 @@ /// <summary> /// 鍒濆鍖栬澶囧洖璺浘鏍� /// </summary> - private void InitDeviceEpointIcon() + private void InitDeviceEpointIcon(VerticalFrameControl listBackControl) { bool hadDevice = false; var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr); @@ -396,9 +295,9 @@ var frameBorder = new FrameLayout(); frameBorder.Y = Application.GetRealHeight(150); frameBorder.Gravity = Gravity.CenterHorizontal; - frameBorder.Width = Application.GetMinRealAverage(426); - frameBorder.Height = Application.GetMinRealAverage(426); - bodyFrameLayout.AddChidren(frameBorder); + frameBorder.Width = this.GetPictrueRealSize(426); + frameBorder.Height = this.GetPictrueRealSize(426); + listBackControl.frameTable.AddChidren(frameBorder); var btnPic = new PicViewControl(frameBorder.Width, frameBorder.Height, false); @@ -407,19 +306,19 @@ if (listSort.Count == 8) { //鍏寜閿潰鏉� - btnPic.UnSelectedImagePath = "Device/PanelFangyueEightButtonTable.png"; + btnPic.UnSelectedImagePath = "DeviceItem/PanelFangyueEightButtonTable.png"; this.InitEightButtonPanelIcon(frameBorder, listSort); } else if (listSort.Count == 4) { //鍥涙寜閿潰鏉� - btnPic.UnSelectedImagePath = "Device/PanelFangyueFourButtonTable.png"; + btnPic.UnSelectedImagePath = "DeviceItem/PanelFangyueFourButtonTable.png"; this.InitFourButtonPanelIcon(frameBorder, listSort); } else { //浜屾寜閿潰鏉� - btnPic.UnSelectedImagePath = "Device/PanelFangyueTwoButtonTable.png"; + btnPic.UnSelectedImagePath = "DeviceItem/PanelFangyueTwoButtonTable.png"; this.InitTwoButtonPanelIcon(frameBorder, listSort); } } @@ -432,14 +331,14 @@ /// <returns></returns> private NormalViewControl InitDeviceButtonControl(FrameLayout frame, CommonDevice device) { - var btnIcon = new NormalViewControl(Application.GetMinRealAverage(52), Application.GetMinRealAverage(52), false); + var btnIcon = new NormalViewControl(this.GetPictrueRealSize(52), this.GetPictrueRealSize(52), false); btnIcon.Text = "Button" + device.DeviceEpoint; btnIcon.TextAlignment = TextAlignment.Center; btnIcon.TextColor = UserCenterColor.Current.TextGrayColor1; - if (frame is FrameLayoutControl) + if (frame is FrameLayoutStatuControl) { - ((FrameLayoutControl)frame).AddChidren(btnIcon, ChidrenBindMode.BindEventOnly); - ((FrameLayoutControl)frame).ButtonClickEvent += (sender, e) => + ((FrameLayoutStatuControl)frame).AddChidren(btnIcon, ChidrenBindMode.BindEventOnly); + ((FrameLayoutStatuControl)frame).ButtonClickEvent += (sender, e) => { //鎸夐敭鐐瑰嚮 this.DeviceEpointSelectEvent(btnIcon, null); @@ -477,15 +376,15 @@ { //鎸夐敭1 var btnButton1 = this.InitDeviceButtonControl(frameBack, listDevice[0]); - btnButton1.Height = Application.GetMinRealAverage(175); - btnButton1.Width = Application.GetMinRealAverage(361); - btnButton1.Y = Application.GetMinRealAverage(39); + btnButton1.Height = this.GetPictrueRealSize(175); + btnButton1.Width = this.GetPictrueRealSize(361); + btnButton1.Y = this.GetPictrueRealSize(39); btnButton1.Gravity = Gravity.CenterHorizontal; //鎸夐敭2 var btnButton2 = this.InitDeviceButtonControl(frameBack, listDevice[1]); - btnButton2.Height = Application.GetMinRealAverage(175); - btnButton2.Width = Application.GetMinRealAverage(361); + btnButton2.Height = this.GetPictrueRealSize(175); + btnButton2.Width = this.GetPictrueRealSize(361); btnButton2.Y = btnButton1.Bottom; btnButton2.Gravity = Gravity.CenterHorizontal; } @@ -504,32 +403,32 @@ //鎸夐敭1 var btnButton1 = this.InitDeviceButtonControl(frameBack, listDevice[0]); btnButton1.TextSize = 12; - btnButton1.Height = Application.GetMinRealAverage(175); - btnButton1.Width = Application.GetMinRealAverage(183); - btnButton1.X = Application.GetMinRealAverage(34); - btnButton1.Y = Application.GetMinRealAverage(30); + btnButton1.Height = this.GetPictrueRealSize(175); + btnButton1.Width = this.GetPictrueRealSize(183); + btnButton1.X = this.GetPictrueRealSize(34); + btnButton1.Y = this.GetPictrueRealSize(30); //鎸夐敭2 var btnButton2 = this.InitDeviceButtonControl(frameBack, listDevice[1]); btnButton2.TextSize = 12; - btnButton2.Height = Application.GetMinRealAverage(175); - btnButton2.Width = Application.GetMinRealAverage(183); + btnButton2.Height = this.GetPictrueRealSize(175); + btnButton2.Width = this.GetPictrueRealSize(183); btnButton2.X = btnButton1.Right; btnButton2.Y = btnButton1.Y; //鎸夐敭3 var btnButton3 = this.InitDeviceButtonControl(frameBack, listDevice[2]); btnButton3.TextSize = 12; - btnButton3.Height = Application.GetMinRealAverage(175); - btnButton3.Width = Application.GetMinRealAverage(183); + btnButton3.Height = this.GetPictrueRealSize(175); + btnButton3.Width = this.GetPictrueRealSize(183); btnButton3.X = btnButton1.X; - btnButton3.Y = btnButton1.Bottom + Application.GetMinRealAverage(4); + btnButton3.Y = btnButton1.Bottom + this.GetPictrueRealSize(4); //鎸夐敭4 var btnButton4 = this.InitDeviceButtonControl(frameBack, listDevice[3]); btnButton4.TextSize = 12; - btnButton4.Height = Application.GetMinRealAverage(175); - btnButton4.Width = Application.GetMinRealAverage(183); + btnButton4.Height = this.GetPictrueRealSize(175); + btnButton4.Width = this.GetPictrueRealSize(183); btnButton4.X = btnButton2.X; btnButton4.Y = btnButton3.Y; } @@ -547,10 +446,10 @@ { //鎸夐敭1锝炴寜閿�2 var frame1 = new FrameLayout(); - frame1.X = Application.GetMinRealAverage(34); - frame1.Y = Application.GetMinRealAverage(30); - frame1.Height = Application.GetMinRealAverage(183); - frame1.Width = Application.GetMinRealAverage(183); + frame1.X = this.GetPictrueRealSize(34); + frame1.Y = this.GetPictrueRealSize(30); + frame1.Height = this.GetPictrueRealSize(183); + frame1.Width = this.GetPictrueRealSize(183); frameBack.AddChidren(frame1); this.InitEightButtonPanelIcon(frame1, listDevice[0], listDevice[1]); @@ -566,7 +465,7 @@ //鎸夐敭5锝炴寜閿�6 var frame3 = new FrameLayout(); frame3.X = frame1.X; - frame3.Y = frame1.Bottom + Application.GetMinRealAverage(4); + frame3.Y = frame1.Bottom + this.GetPictrueRealSize(4); frame3.Height = frame1.Height; frame3.Width = frame1.Width; frameBack.AddChidren(frame3); @@ -575,7 +474,7 @@ //鎸夐敭7锝炴寜閿�8 var frame4 = new FrameLayout(); frame4.X = frame1.Right; - frame4.Y = frame1.Bottom + Application.GetMinRealAverage(4); + frame4.Y = frame1.Bottom + this.GetPictrueRealSize(4); frame4.Height = frame1.Height; frame4.Width = frame1.Width; frameBack.AddChidren(frame4); @@ -591,19 +490,19 @@ private void InitEightButtonPanelIcon(FrameLayout frameBack, CommonDevice device1, CommonDevice device2) { //鎸夐敭1 - var frameButton1 = new FrameLayoutControl(); + var frameButton1 = new FrameLayoutStatuControl(); frameButton1.UseClickStatu = false; - frameButton1.Height = Application.GetMinRealAverage(92); - frameButton1.Width = Application.GetMinRealAverage(183); + frameButton1.Height = this.GetPictrueRealSize(92); + frameButton1.Width = this.GetPictrueRealSize(183); frameBack.AddChidren(frameButton1); var btnButton1 = this.InitDeviceButtonControl(frameButton1, device1); btnButton1.TextSize = 10; - btnButton1.Height = Application.GetMinRealAverage(35); - btnButton1.Width = Application.GetMinRealAverage(183); - btnButton1.Y = Application.GetMinRealAverage(37); + btnButton1.Height = this.GetPictrueRealSize(35); + btnButton1.Width = this.GetPictrueRealSize(183); + btnButton1.Y = this.GetPictrueRealSize(37); //鎸夐敭2 - var frameButton2 = new FrameLayoutControl(); + var frameButton2 = new FrameLayoutStatuControl(); frameButton2.UseClickStatu = false; frameButton2.Height = frameButton1.Height; frameButton2.Width = frameButton1.Width; @@ -613,7 +512,7 @@ btnButton2.TextSize = 10; btnButton2.Height = btnButton1.Height; btnButton2.Width = btnButton1.Width; - btnButton2.Y = Application.GetMinRealAverage(20); + btnButton2.Y = this.GetPictrueRealSize(20); } #endregion -- Gitblit v1.8.0