From dfd3bdc07c49fab66b38382e0bbe7c91bdf4f15b Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 28 四月 2020 15:03:43 +0800 Subject: [PATCH] 合并新代码,提供逻辑需要的门锁接口 --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 141 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 97 insertions(+), 44 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs old mode 100755 new mode 100644 index dab5d02..ea3f30e --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs @@ -15,7 +15,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalListControl listview = null; + private FrameListControl listview = null; /// <summary> /// 褰撳墠閫夋嫨鐨勮澶� /// </summary> @@ -44,6 +44,10 @@ /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘 /// </summary> private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>(); + /// <summary> + /// 淇℃伅缂栬緫鎺т欢 + /// </summary> + private InformationEditorControl tableContr = null; #endregion @@ -77,18 +81,18 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + var listBackControl = new VerticalFrameControl(); + listBackControl.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackControl); + //鍒濆鍖栨甯� - var tableContr = new InformationEditorControl(); - this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1128); - - //鍒濆鍖栬澶囧洖璺浘鏍� - this.InitDeviceEpointIcon(); - - //鍒濆鍖栨甯冨畬鎴� - tableContr.FinishInitControl(bodyFrameLayout, this.listview); - tableContr = null; - - //淇濆瓨 + this.tableContr = new InformationEditorControl(); + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1128); + + //鍒濆鍖栬澶囧洖璺浘鏍� + this.InitDeviceEpointIcon(listBackControl); + + //淇濆瓨 var btnFinish = new BottomClickButton(); btnFinish.TextID = R.MyInternationalizationString.uSave; bodyFrameLayout.AddChidren(btnFinish); @@ -145,6 +149,10 @@ else if (device.DfunctionType == DeviceFunctionType.A鐏厜) { device.IconPath = "Device/Light.png"; + } + else + { + device.IconPath = "Device/RelayEpoint.png"; } device.ReSave(); } @@ -204,11 +212,13 @@ rowBeloneArea.SelectRoomEvent += (roomKeys) => { //鍙樻洿鎴块棿 - Common.Room.CurrentRoom.ChangedRoom(nowSelectDevice, roomKeys); + HdlRoomLogic.Current.ChangedRoom(nowSelectDevice, roomKeys); }; //娣诲姞鍔熻兘绫诲瀷琛� this.AddFunctionTypeRow(); + //鍒濆鍖栨甯冨畬鎴� + tableContr.FinishInitControl(); } #endregion @@ -220,6 +230,11 @@ /// </summary> private void InitTopRightMenu() { + //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 + if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false) + { + return; + } var btnIcon = new MostRightIconControl(69, 69); btnIcon.UnSelectedImagePath = "Item/More.png"; topFrameLayout.AddChidren(btnIcon); @@ -240,11 +255,11 @@ string deviceMenu = string.Empty; //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice); - if (canTest == true) - { - menuCount = 2; - } - var frame = new TopRightMenuControl(menuCount); + //if (canTest == true) + //{ + // menuCount = 2; + //} + var frame = new TopRightMenuControl(menuCount, 1); if (canTest == true) { //瀹氫綅 @@ -257,10 +272,10 @@ } //鍒犻櫎 - deviceMenu = Language.StringByID(R.MyInternationalizationString.uDelete); - frame.AddRowMenu(deviceMenu, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () => - { - }); + //deviceMenu = Language.StringByID(R.MyInternationalizationString.uDelete); + //frame.AddRowMenu(deviceMenu, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () => + //{ + //}); } #endregion @@ -301,8 +316,8 @@ { strType = Language.StringByID(R.MyInternationalizationString.uSocket1); nowSelectNo = 2; - } - + } + var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2); btnFunction.UseClickStatu = false; listview.AddChidren(btnFunction); @@ -326,11 +341,20 @@ //鏍囬:閫夋嫨鍔熻兘绫诲瀷 var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType); - var form = new BottomDialogSelectForm(); + var form = new BottomItemSelectForm(); + form.CancelCallEvent = true;//鍏佽鍙栨秷 form.AddForm(title, listText, nowSelectNo); form.FinishSelectEvent += (selectNo) => { - btnFunction.Text = listText[selectNo]; + if (selectNo == -1) + { + //鍙栨秷閫夋嫨 + btnFunction.Text = string.Empty; + } + else + { + btnFunction.Text = listText[selectNo]; + } nowSelectNo = selectNo; //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� if (selectNo == 0) @@ -341,14 +365,32 @@ { dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜; } - else + else if (selectNo == 2) { dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇; + } + else + { + dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鏈畾涔�; } }; }; } } + + //濡傛灉鏄柊椋� + if (nowSelectDevice.Type == DeviceType.FreshAir) + { + //鍔熻兘绫诲瀷 + string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType); + string strType = Language.StringByID(R.MyInternationalizationString.FreshAir); + var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2); + btnFunction.UseClickStatu = false; + listview.AddChidren(btnFunction); + btnFunction.InitControl(); + //搴曠嚎 + btnFunction.AddBottomLine(); + } } #endregion @@ -358,7 +400,7 @@ /// <summary> /// 鍒濆鍖栬澶囧洖璺浘鏍� /// </summary> - private void InitDeviceEpointIcon() + private void InitDeviceEpointIcon(VerticalFrameControl listBackControl) { //鑾峰彇鎸夌粍鍒嗛厤鐨勮澶� var listIcon = this.GetAllDeviceGroup(); @@ -366,11 +408,10 @@ var frameBorder = new FrameLayout(); frameBorder.Y = Application.GetRealHeight(147); frameBorder.Gravity = Gravity.CenterHorizontal; - frameBorder.Width = Application.GetMinRealAverage(887); - frameBorder.Height = Application.GetMinRealAverage(423); - frameBorder.BorderWidth = 3; - frameBorder.BorderColor = 0xffd0d0d0; - bodyFrameLayout.AddChidren(frameBorder); + frameBorder.Width = this.GetPictrueRealSize(887); + frameBorder.Height = Application.GetRealHeight(423); + frameBorder.Radius = (uint)Application.GetRealHeight(6); + listBackControl.frameTable.AddChidren(frameBorder); var frameBack = new FrameLayout(); frameBack.Height = frameBorder.Height; @@ -387,7 +428,7 @@ else { //涓嶉渶瑕佹粦鍔ㄦ帶浠� - frameBorder.AddChidren(frameBack); + frameBorder.AddChidren(frameBack); } int index = 0; @@ -395,35 +436,45 @@ { var frame = new FrameLayout(); frame.Width = frameBorder.Width; - frame.Height = Application.GetMinRealAverage(124); + frame.Height = this.GetPictrueRealSize(124); frameBack.AddChidren(frame); //鍒濆鍖栦竴琛岃澶囧浘鏍� this.InitDeviceIconFrame(frame, listIcon[i], ref index); if (listIcon.Count == 1) { - frame.Gravity = Gravity.CenterVertical; + frame.Gravity = Gravity.CenterVertical; + + //濡傛灉鏄柊椋� + if (deviceObj.Type == DeviceType.FreshAir) + { + frame.RemoveFromParent(); + frameBack.BackgroundImagePath = "FreshAir/FreshAirRealDevicePic.png"; + frameBack.Width = Application.GetMinRealAverage(878); + frameBack.Height = Application.GetMinRealAverage(354); + frameBack.Gravity = Gravity.Center; + } } else { - frame.Y = Application.GetMinRealAverage(58) + (frameBack.ChildrenCount - 1) * (frame.Height + Application.GetMinRealAverage(60)); + frame.Y = this.GetPictrueRealSize(58) + (frameBack.ChildrenCount - 1) * (frame.Height + this.GetPictrueRealSize(60)); } } if (listIcon.Count > 2) { //璁$畻鐪熷疄楂樺害 - int realHeight = Application.GetMinRealAverage(58 + 58);//涓婁笅闂磋窛 - realHeight += frameBack.ChildrenCount * Application.GetMinRealAverage(124);//鍦嗗湀楂樺害 - realHeight += (frameBack.ChildrenCount-1) * Application.GetMinRealAverage(60);//鍦嗗湀闂磋窛 + int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛 + realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害 + realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛 if (realHeight > frameBack.Height) { //鍙樻洿楂樺害 frameBack.Height = realHeight; } } - } - + } + /// <summary> /// 鍒濆鍖栦竴琛岃澶囧浘鏍� /// </summary> @@ -435,7 +486,7 @@ { NormalViewControl btnTemp = null; //闂磋窛 - int space = Application.GetMinRealAverage(84); + int space = this.GetPictrueRealSize(84); int defultXX = (frame.Width - frame.Height * listDevice.Count - (listDevice.Count - 1) * space) / 2; for (int i = 0; i < listDevice.Count; i++) { @@ -444,7 +495,7 @@ btnIcon.Name = "btn" + listDevice[i].DeviceEpoint; btnIcon.X = defultXX + i * (frame.Height + space); btnIcon.Radius = (uint)frame.Height / 2; - btnIcon.BorderWidth = (uint)Application.GetMinRealAverage(6); + btnIcon.BorderWidth = 2; btnIcon.BorderColor = 0xff979797; btnIcon.TextAlignment = TextAlignment.Center; btnIcon.TextColor = UserCenterColor.Current.TextGrayColor3; @@ -464,6 +515,8 @@ //鍒濆鍖栬彍鍗曡 this.DeviceEpointSelectEvent(btnTemp, null); } + + } /// <summary> -- Gitblit v1.8.0