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 | 85 +++++++++++++++++++++++++----------------- 1 files changed, 50 insertions(+), 35 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs index a238bb8..35854a4 100755 --- a/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/UnallocatedRoomForm.cs @@ -16,13 +16,17 @@ #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> + /// 鐣岄潰鍏抽棴浜嬩欢 + /// </summary> + public Action FormCloseEvent = null; + /// <summary> /// 娣诲姞鍒� 鐨勮儗鏅浘鎺т欢 /// </summary> private FrameLayoutStatuControl frameAddBackGroud = null; /// <summary> /// 鍔熻兘鐨勬甯冩帶浠� /// </summary> - private FrameLayout DeviceBodyTableControl = null; + private NormalFrameLayout DeviceBodyTableControl = null; /// <summary> /// 鍦烘櫙鐨勫垪琛ㄦ帶浠� /// </summary> @@ -34,7 +38,7 @@ /// <summary> /// 鍦烘櫙鐨勬甯冩帶浠� /// </summary> - private FrameLayout SceneBodyTableControl = null; + private NormalFrameLayout SceneBodyTableControl = null; /// <summary> /// 鍏ㄩ�夋帶浠� /// </summary> @@ -54,7 +58,7 @@ /// <summary> /// 鍏ㄩ儴鍒嗙粍鐨勮澶囦俊鎭� /// </summary> - private Dictionary<int, DeviceRowInfo> dicGroupDevice = null; + private Dictionary<string, DeviceRowInfo> dicGroupDevice = null; /// <summary> /// 鏄惁宸茬粡鏀瑰彉浜嗘暟鎹� /// </summary> @@ -98,12 +102,12 @@ bodyFrameLayout.AddChidren(tabControl); //鍒濆鍖栧満鏅甯� - this.SceneBodyTableControl = new FrameLayout(); + this.SceneBodyTableControl = new NormalFrameLayout(); SceneBodyTableControl.Y = tabControl.Bottom; SceneBodyTableControl.Height = bodyFrameLayout.Height - tabControl.Bottom; bodyFrameLayout.AddChidren(SceneBodyTableControl); //鍒濆鍖栬澶囨甯� - this.DeviceBodyTableControl = new FrameLayout(); + this.DeviceBodyTableControl = new NormalFrameLayout(); DeviceBodyTableControl.Y = tabControl.Bottom; DeviceBodyTableControl.Height = bodyFrameLayout.Height - tabControl.Bottom; bodyFrameLayout.AddChidren(DeviceBodyTableControl); @@ -176,13 +180,13 @@ SceneBodyTableControl.AddChidren(listSceneView); var listScene = HdlSceneLogic.Current.GetUnalloctedScenes(); - if (listScene == null || listScene.Count == 0) { return; } + if (listScene.Count == 0) { return; } foreach (var data in listScene) { //鍦烘櫙鍥剧墖 var frameContr = new ScenePictrueControl(); - listSceneView.AddChidrenFrame(frameContr); + listSceneView.AddChidren(frameContr); frameContr.InitControl(data); //娣诲姞閫夋嫨鎺т欢 @@ -193,7 +197,7 @@ frameContr.CollectEvent += (collect) => { //濡傛灉褰撳墠鏄敹钘忔埧闂�,鍒欓渶瑕佸埛鏂颁富椤� - if (HdlRoomLogic.Current.CurrentRoom.IsLove == true) + if (HdlRoomLogic.Current.NowMainPageRoom.IsLove == true) { this.dataHadChanged = true; } @@ -218,7 +222,7 @@ //淇冧娇瀹冭秴杩囨椂,鑳藉寰�涓婃粦 var frameTemp = new FrameLayout(); frameTemp.Height = Application.GetRealHeight(202 + 23); - listSceneView.AddChidrenFrame(frameTemp); + listSceneView.AddChidren(frameTemp); }); } @@ -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); @@ -527,22 +531,29 @@ btnAdd.TextID = R.MyInternationalizationString.AddTo; btnAdd.TextSize = 17; btnAdd.Radius = (uint)Application.GetRealHeight(35); - frameAddBackGroud.AddChidren(btnAdd, ChidrenBindMode.BindEventOnly); + 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.CurrentRoom.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,12 +665,16 @@ /// </summary> public override void CloseFormBefore() { + //璋冪敤鍥炶皟浜嬩欢 + this.FormCloseEvent?.Invoke(); + this.FormCloseEvent = null; + if (this.dataHadChanged == true) { HdlThreadLogic.Current.RunMainInThread(() => { //鍒锋柊涓婚〉 - this.LoadFormMethodByName("HomeMainPageForm", "RefreshBodyView"); + HomeMainPageForm.Instance?.RefreshBodyView(); }); } base.CloseFormBefore(); @@ -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