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/Safety/AlarmTargetAddMenuForm.cs | 101 +++++++++++++++++++------------------------------- 1 files changed, 38 insertions(+), 63 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs index 3a1f691..b248d34 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetAddMenuForm.cs @@ -22,7 +22,7 @@ /// <summary> /// 鍏ㄩ儴鐨勬暟鎹�(keys1:鎴块棿ID Keys2:R鏂囦欢鐨勬暟鍊�) /// </summary> - private Dictionary<string, Dictionary<int, uRowInformation>> dicAllData = new Dictionary<string, Dictionary<int, uRowInformation>>(); + private Dictionary<string, Dictionary<string, uRowInformation>> dicAllData = new Dictionary<string, Dictionary<string, uRowInformation>>(); /// <summary> /// 褰撳墠閫夋嫨鐨勬ゼ灞侷D /// </summary> @@ -93,7 +93,7 @@ var listRoom = new List<Common.Room>(); foreach (string roomId in this.dicAllData.Keys) { - listRoom.Add(Common.Room.CurrentRoom.GetRoomById(roomId)); + listRoom.Add(HdlRoomLogic.Current.GetRoomById(roomId)); } //鍒濆鍖栨埧闂磋彍鍗曟帶浠� @@ -129,7 +129,7 @@ private void InitTopRightMenuControl() { //鑾峰彇妤煎眰 - var dicFloor = Common.Room.CurrentRoom.GetFloorSortList(); + var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); if (dicFloor.Count == 0) { return; @@ -143,6 +143,7 @@ btnFloor.Gravity = Gravity.CenterVertical; btnFloor.X = btnIconContr.X + btnIconContr.btnIcon.X - Application.GetRealWidth(300); btnFloor.TextAlignment = TextAlignment.CenterRight; + btnFloor.IsBold = true; topFrameLayout.AddChidren(btnFloor); foreach (var floorId in dicFloor.Keys) @@ -156,10 +157,10 @@ btnIconContr.ButtonClickEvent += (sender, e) => { //妤煎眰鑿滃崟 - var contr = new TopRightMenuControl(dicFloor.Count, 449, Language.StringByID(R.MyInternationalizationString.SelectFloor)); + var contr = new TopRightFloorMenuControl(dicFloor.Count, 2, this.nowSelectFloorId, Language.StringByID(R.MyInternationalizationString.SelectFloor)); foreach (var floorId in dicFloor.Keys) { - contr.AddRowMenu(dicFloor[floorId], "Floor/Floor.png", "Floor/FloorSelected.png", () => + contr.AddRowMenu(floorId, () => { //璁板綍璧烽�夋嫨鐨処D this.nowSelectFloorId = floorId; @@ -179,16 +180,16 @@ /// 鍒濆鍖栬鎺т欢 /// </summary> /// <param name="dicRowData"></param> - private void InitRowControl(Dictionary<int, uRowInformation> dicRowData) + private void InitRowControl(Dictionary<string, uRowInformation> dicRowData) { this.listView.RemoveAll(); HdlThreadLogic.Current.RunMainInThread(() => { int count = 0; - foreach (var textId in dicRowData.Keys) + foreach (var strText in dicRowData.Keys) { count++; - var rowData = dicRowData[textId]; + var rowData = dicRowData[strText]; var rowlayout = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(rowlayout); @@ -197,7 +198,7 @@ btnIcon.UnSelectedImagePath = rowData.IconPath; //璁惧鍚� - var txtDevice = rowlayout.AddLeftCaption(Language.StringByID(textId), 750); + var txtDevice = rowlayout.AddLeftCaption(strText, 750); txtDevice.TextSize = 15; //鍚戝彸鍥炬爣 rowlayout.AddRightArrow(); @@ -237,12 +238,12 @@ /// 鑾峰彇璁惧鐨勬墍鏈夌被鍨嬶紝骞舵暣鐞嗘垚姣忎竴琛岀殑鏁版嵁(keys1:鎴块棿ID Keys2:R鏂囦欢鐨勬暟鍊�) /// </summary> /// <returns></returns> - private Dictionary<string, Dictionary<int, uRowInformation>> GetAllListData() + private Dictionary<string, Dictionary<string, uRowInformation>> GetAllListData() { - var dicData = new Dictionary<string, Dictionary<int, uRowInformation>>(); + var dicData = new Dictionary<string, Dictionary<string, uRowInformation>>(); //鑾峰彇鏈湴瀹夐槻鐨勫満鏅� Dictionary<int, string> dicScene = HdlSafeguardLogic.Current.GetLocalSceneByZoneID(this.zoonID); - var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(this.nowSelectFloorId); + var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(this.nowSelectFloorId); for (int i = 0; i < listRoom.Count; i++) { @@ -262,18 +263,18 @@ /// <param name="i_room"></param> /// <param name="dicScene"></param> /// <returns></returns> - private Dictionary<int, uRowInformation> GetRoomDeviceAndSceneData(Common.Room i_room, Dictionary<int, string> dicScene) + private Dictionary<string, uRowInformation> GetRoomDeviceAndSceneData(Common.Room i_room, Dictionary<int, string> dicScene) { if (dicScene == null) { //鑾峰彇鏈湴瀹夐槻鐨勫満鏅� dicScene = HdlSafeguardLogic.Current.GetLocalSceneByZoneID(this.zoonID); } - var dicRoomData = new Dictionary<int, uRowInformation>(); + var dicRoomData = new Dictionary<string, uRowInformation>(); - for (int j = 0; j < i_room.DeviceUIList.Count; j++) + for (int j = 0; j < i_room.ListDevice.Count; j++) { - var device = i_room.DeviceUIList[j].CommonDevice; + var device = HdlDeviceCommonLogic.Current.GetDevice(i_room.ListDevice[j]); //濡傛灉閭d釜璁惧宸茬粡娣诲姞浜嗭紝鍒欎笉鍐嶆樉绀� if (device == null || HdlSafeguardLogic.Current.IsAlarmDeviceExist(this.zoonID, device) == true) { @@ -283,69 +284,43 @@ || device.Type == DeviceType.DimmableLight//璋冨厜鍣� || device.Type == DeviceType.ColorDimmableLight//褰╃伅 || device.Type == DeviceType.OnOffOutput//缁х數鍣� + || device.Type == DeviceType.ColorTemperatureLight//鑹叉俯鐏� || device.Type == DeviceType.WindowCoveringDevice)//绐楀笜 { string unSelectPath = string.Empty; string selectPath = string.Empty; - var typeInfo = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice>() { device }); - if (device.Type == DeviceType.OnOffOutput) + var typeInfo = HdlDeviceCommonLogic.Current.GetDeviceBelongEnumInfo(device); + //鑾峰彇鍥剧墖 + HdlDeviceCommonLogic.Current.GetDeviceFunctionTypeMenuIcon(typeInfo, ref unSelectPath, ref selectPath); + if (dicRoomData.ContainsKey(typeInfo.BeloneText) == false) { - //缁х數鍣ㄧ殑鏃跺��,闇�瑕佺壒娈婂鐞� - if (device.DfunctionType == DeviceFunctionType.A寮�鍏�) - { - typeInfo.BeloneTextId = R.MyInternationalizationString.uSwitch; - unSelectPath = "Device/Switch.png"; - } - else if (device.DfunctionType == DeviceFunctionType.A鎻掑骇) - { - typeInfo.BeloneTextId = R.MyInternationalizationString.uSocket1; - unSelectPath = "Device/Socket1.png"; - } - else if (device.DfunctionType == DeviceFunctionType.A鐏厜) - { - typeInfo.BeloneTextId = R.MyInternationalizationString.uLight; - unSelectPath = "Device/Light.png"; - } - else - { - //缁х數鍣� - typeInfo.BeloneTextId = R.MyInternationalizationString.uDeviceBelongId2300; - unSelectPath = "Device/Relay.png"; - } - if (dicRoomData.ContainsKey(typeInfo.BeloneTextId) == false) - { - dicRoomData[typeInfo.BeloneTextId] = new uRowInformation(); - dicRoomData[typeInfo.BeloneTextId].IconPath = unSelectPath; - } + dicRoomData[typeInfo.BeloneText] = new uRowInformation(); + dicRoomData[typeInfo.BeloneText].IconPath = unSelectPath; } - else - { - //鑾峰彇鍥剧墖 - Common.LocalDevice.Current.GetDeviceBeloneIcon(typeInfo.ConcreteType, ref unSelectPath, ref selectPath); - if (dicRoomData.ContainsKey(typeInfo.BeloneTextId) == false) - { - dicRoomData[typeInfo.BeloneTextId] = new uRowInformation(); - dicRoomData[typeInfo.BeloneTextId].IconPath = unSelectPath; - } - } - dicRoomData[typeInfo.BeloneTextId].listDevice.Add(device); + dicRoomData[typeInfo.BeloneText].listDevice.Add(device); } } - for (int j = 0; j < i_room.SceneUIList.Count; j++) + string strSceneText = Language.StringByID(R.MyInternationalizationString.uScence); + for (int j = 0; j < i_room.ListSceneId.Count; j++) { //濡傛灉閭d釜鍦烘櫙宸茬粡娣诲姞浜嗭紝鍒欎笉鍐嶆樉绀� - if (dicScene.ContainsKey(i_room.SceneUIList[j].Id) == true) + if (dicScene.ContainsKey(i_room.ListSceneId[j]) == true) { continue; } - if (dicRoomData.ContainsKey(R.MyInternationalizationString.uScence) == false) + var sceneUi = HdlSceneLogic.Current.GetSceneUIBySceneId(i_room.ListSceneId[j]); + if (sceneUi == null) { - dicRoomData[R.MyInternationalizationString.uScence] = new uRowInformation(); - dicRoomData[R.MyInternationalizationString.uScence].IconPath = "Scene/SceneIcon.png"; - dicRoomData[R.MyInternationalizationString.uScence].listScene = new List<Common.SceneUI>(); + continue; } - dicRoomData[R.MyInternationalizationString.uScence].listScene.Add(i_room.SceneUIList[j]); + if (dicRoomData.ContainsKey(strSceneText) == false) + { + dicRoomData[strSceneText] = new uRowInformation(); + dicRoomData[strSceneText].IconPath = "Scene/SceneIcon.png"; + dicRoomData[strSceneText].listScene = new List<Common.SceneUI>(); + } + dicRoomData[strSceneText].listScene.Add(sceneUi); } return dicRoomData; } -- Gitblit v1.8.0