From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs | 65 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 25 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs index af70771..35854a4 100755 --- a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs @@ -16,6 +16,10 @@ #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> + /// 鐣岄潰鍏抽棴浜嬩欢 + /// </summary> + public Action FormCloseEvent = null; + /// <summary> /// 娣诲姞鍒� 鐨勮儗鏅浘鎺т欢 /// </summary> private FrameLayoutStatuControl frameAddBackGroud = null; @@ -54,7 +58,7 @@ /// <summary> /// 鍏ㄩ儴鍒嗙粍鐨勮澶囦俊鎭� /// </summary> - private Dictionary<int, DeviceRowInfo> dicGroupDevice = null; + private Dictionary<string, DeviceRowInfo> dicGroupDevice = null; /// <summary> /// 鏄惁宸茬粡鏀瑰彉浜嗘暟鎹� /// </summary> @@ -321,10 +325,10 @@ DeviceBodyTableControl.AddChidren(HorizontalView); //涓婁竴娆¢�夋嫨鐨勮彍鍗� - Controls.DeviceFunctionUnallocatedControl oldSelectContr = null; - foreach (int Textid in this.dicGroupDevice.Keys) + Controls.DeviceFunctionMenuControl oldSelectContr = null; + foreach (string strText in this.dicGroupDevice.Keys) { - var rowInfo = dicGroupDevice[Textid]; + var rowInfo = dicGroupDevice[strText]; //璁惧绫诲瀷鐨勫鍣� var devieFrame = new FrameLayout(); @@ -332,13 +336,13 @@ HorizontalView.AddChidren(devieFrame); //鑿滃崟鍥剧墖鎺т欢 - var deviceObjContr = new Controls.DeviceFunctionUnallocatedControl(); + var deviceObjContr = new Controls.DeviceFunctionMenuControl(); devieFrame.AddChidren(deviceObjContr); - deviceObjContr.InitControl(Language.StringByID(Textid), rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys); + deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected); deviceObjContr.ButtonClickEvent += (sender, e) => { //閫夋嫨鐨勬槸鍚屼竴涓笢瑗跨殑璇�,涓嶅鐞� - if (this.nowSelectDeviceInfo.TextId != rowInfo.TextId) + if (this.nowSelectDeviceInfo.Text != rowInfo.Text) { //涓婁竴娆$殑鑿滃崟鍙栨秷,鏈鑿滃崟閫夋嫨 oldSelectContr.SetSelectStatu(false); @@ -530,19 +534,26 @@ frameAddBackGroud.AddChidren(btnAdd, ChidrenBindMode.BindEvent); frameAddBackGroud.ButtonClickEvent += (sender, e) => { - var selectZone = new SelectZone(); - selectZone.title = Language.StringByID(R.MyInternationalizationString.AddTo); - selectZone.Init(); - selectZone.ZoneAction += (selectRoom) => + HdlControlLogic.Current.ShowBottomListRoomView(string.Empty, Language.StringByID(R.MyInternationalizationString.AddTo), (selectId, selectName) => { + if (selectId == string.Empty) + { + //閫夋嫨鐨勬槸鏈垎閰� + return; + } //鍙樻洿浜嗗綋鍓嶆埧闂寸殑涓滆タ,涓婚〉闇�瑕佸埛鏂� - if (HdlRoomLogic.Current.NowMainPageRoom.Id == selectRoom.Id) + if (HdlRoomLogic.Current.NowMainPageRoom.Id == selectId) { this.dataHadChanged = true; } //淇濆瓨閫夋嫨鐨勮澶囧拰鍦烘櫙 - this.SaveSelectDeviceAndScene(selectRoom); - }; + var room = HdlRoomLogic.Current.GetRoomById(selectId); + this.SaveSelectDeviceAndScene(room); + //鍒嗙被鐣岄潰闇�瑕佸埛鏂� + UserPage.Instance.RefreshCategoryForm = true; + //涓婁紶绌洪棿鍖哄煙淇℃伅 + HdlRoomLogic.Current.SetRoomInfoToGateway(); + }); }; } @@ -618,29 +629,29 @@ /// 鑾峰彇鍒嗙粍鍚庣殑璁惧 /// </summary> /// <returns></returns> - private Dictionary<int, DeviceRowInfo> GetAllGroupDevice() + private Dictionary<string, DeviceRowInfo> GetAllGroupDevice() { //鍏ㄩ儴鐨勮澶� var listDevice = HdlRoomLogic.Current.GetUnalloctedDevice(); //鏍规嵁璁惧鎵�灞炵被鍨嬫帓搴� listDevice = LocalDevice.Current.SortDeviceByBelongType(listDevice); - var dic = new Dictionary<int, DeviceRowInfo>(); + var dic = new Dictionary<string, DeviceRowInfo>(); foreach (var device in listDevice) { var typeInfo = LocalDevice.Current.GetDeviceBelongEnumInfo(device); //鎸夋墍灞濱D鍒嗙粍 - if (dic.ContainsKey(typeInfo.BeloneTextId) == false) + if (dic.ContainsKey(typeInfo.BeloneText) == false) { - dic[typeInfo.BeloneTextId] = new DeviceRowInfo(); + dic[typeInfo.BeloneText] = new DeviceRowInfo(); string path1 = string.Empty; string path2 = string.Empty; //鑾峰彇鍥剧墖 - Common.LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2); - dic[typeInfo.BeloneTextId].IconPath = path1; - dic[typeInfo.BeloneTextId].IconPathSelected = path2; - dic[typeInfo.BeloneTextId].TextId = typeInfo.BeloneTextId; + Common.LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo, ref path1, ref path2); + dic[typeInfo.BeloneText].IconPath = path1; + dic[typeInfo.BeloneText].IconPathSelected = path2; + dic[typeInfo.BeloneText].Text = typeInfo.BeloneText; } - dic[typeInfo.BeloneTextId].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device)); + dic[typeInfo.BeloneText].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device)); } return dic; } @@ -654,6 +665,10 @@ /// </summary> public override void CloseFormBefore() { + //璋冪敤鍥炶皟浜嬩欢 + this.FormCloseEvent?.Invoke(); + this.FormCloseEvent = null; + if (this.dataHadChanged == true) { HdlThreadLogic.Current.RunMainInThread(() => @@ -742,9 +757,9 @@ private class DeviceRowInfo { /// <summary> - /// 鏂囨湰ID,鐩墠鐢ㄦ潵鍋氫富閿� + /// 鏂囨湰,鐩墠鐢ㄦ潵鍋氫富閿� /// </summary> - public int TextId = 0; + public string Text = string.Empty; /// <summary> /// 鍥炬爣 /// </summary> -- Gitblit v1.8.0