From cc0d80c7d86c6d0167269b3408c4b30c24ce84e9 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 23 三月 2020 16:55:37 +0800 Subject: [PATCH] ??????? --- ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs | 72 ++++++++++++++++++++--------------- 1 files changed, 41 insertions(+), 31 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs index 50f3b01..485d479 100755 --- a/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs @@ -31,6 +31,10 @@ /// </summary> private Button floorBtn; /// <summary> + /// 褰撳墠妤煎眰id + /// </summary> + private string curFloorId; + /// <summary> /// 閫夋嫨妤煎眰 /// </summary> private Button selectFloorBtn; @@ -41,7 +45,7 @@ /// <summary> /// deviceUI /// </summary> - public DeviceUI deviceUI; + public CommonDevice deviceUI; /// <summary> /// 鍔熻兘绫诲瀷 /// </summary> @@ -78,11 +82,11 @@ /// <summary> /// dList /// </summary> - private List<DeviceUI> devList; + private List<CommonDevice> devList; /// <summary> /// 鐩稿悓绫诲瀷鐨勮澶囧垪琛� /// </summary> - private Dictionary<int, List<DeviceUI>> typeDeviceDic; + private Dictionary<int, List<CommonDevice>> typeDeviceDic; /// <summary> /// 璁惧绫诲瀷鐨勫浘id /// </summary> @@ -134,7 +138,7 @@ /// </summary> private void InitData() { - typeDeviceDic = new Dictionary<int, List<DeviceUI>> { }; + typeDeviceDic = new Dictionary<int, List<CommonDevice>> { }; typeIdDic = new Dictionary<int, DeviceConcreteType> { }; } @@ -143,22 +147,22 @@ /// </summary> private void RefreshData(Common.Room room) { - devList = room.DeviceUIList; + devList = UserCenter.HdlRoomLogic.Current.GetRoomListDevice(room); typeDeviceDic.Clear(); typeIdDic.Clear(); foreach (var device in devList) { - var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device.CommonDevice); + var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device); if (info.BeloneType == DeviceBeloneType.A寮�鍏� || info.BeloneType == DeviceBeloneType.A褰╃伅 || info.BeloneType == DeviceBeloneType.A鎻掑骇 || info.BeloneType == DeviceBeloneType.A鏅鸿兘绌哄紑 || info.BeloneType == DeviceBeloneType.A鐏厜 || info.BeloneType == DeviceBeloneType.A绌鸿皟 || info.BeloneType == DeviceBeloneType.A绐楀笜 || info.BeloneType == DeviceBeloneType.A缁х數鍣� - || info.BeloneType == DeviceBeloneType.A璋冨厜鍣� + || info.BeloneType == DeviceBeloneType.A璋冨厜鍣� ) { if (typeDeviceDic.ContainsKey(info.BeloneTextId) == false) { - var sameDevList = new List<DeviceUI> { }; + var sameDevList = new List<CommonDevice> { }; sameDevList.Add(device); typeDeviceDic[info.BeloneTextId] = sameDevList; } @@ -226,9 +230,12 @@ { var floors = new SelectFloor(); AddChidren(floors); + floors.changeFloor = false; + floors.CurFloorId = curFloorId; floors.Init(580, 184, Direction.Right); floors.FloorAction += (floorId) => { + curFloorId = floorId; floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); RefreshBodyView(floorId); }; @@ -281,7 +288,8 @@ bodyFrameLayout.AddChidren(functionSceneBodyView); RoomButton curBtn = new RoomButton(0, 0); - foreach (var room in Common.Room.CurrentRoom.GetRoomsByFloorIdAppendLoveRoom(floorId)) + var lisrRoom = UserCenter.HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(floorId); + foreach (var room in lisrRoom) { var row = new FrameLayout() { @@ -424,9 +432,9 @@ deviceListScrolView.RemoveAll(); - var sameTypeList = new List<DeviceUI> { }; + var sameTypeList = new List<CommonDevice> { }; sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())]; - + foreach (var device in sameTypeList) { if (beforeSceneTargetDeviceUIs.Find((obj) => obj.DeviceUI.DeviceEpoint == device.DeviceEpoint && obj.DeviceUI.DeviceAddr == device.DeviceAddr) != null) @@ -441,11 +449,13 @@ deviceListScrolView.AddChidren(deviceTypeRowLayout); var deviceRow = new FunctionRow(0, 35); - deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.Init(device.IconPath, device.OnlineIconPath, true); - deviceRow.SetTitle(device.CommonDevice.DeviceEpointName); + deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(device)); deviceRow.IsSelected = true; deviceRow.HideSwitchBtn(false); + deviceRow.NameBtn.BackgroundColor = ZigbeeColor.Current.GXCRedColor; + deviceTypeRowLayout.AddChidren(deviceRow); + deviceRow.ClickBtn.MouseUpEventHandler += (sender, e) => { @@ -488,7 +498,7 @@ /// ShowSelectAction /// </summary> /// <param name="device"></param> - private void ShowSelectAction(DeviceUI device, SceneTargetDeviceUI sceneTarget) + private void ShowSelectAction(CommonDevice device, SceneTargetDeviceUI sceneTarget) { var dialog = new FrameLayout() { @@ -501,23 +511,23 @@ dialog.RemoveFromParent(); }; - if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) + if (device.Type == ZigBee.Device.DeviceType.OnOffOutput) { SelectOnoffOutput(dialog, device, sceneTarget); } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) + else if (device.Type == ZigBee.Device.DeviceType.AirSwitch) { SelectOnoffOutput(dialog, device, sceneTarget); } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) + else if (device.Type == ZigBee.Device.DeviceType.DimmableLight) { SelectDimmableLight(dialog, device, sceneTarget); } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) + else if (device.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) { SelectWindowCoveringDevice(dialog, device, sceneTarget); } - else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) + else if (device.Type == ZigBee.Device.DeviceType.Thermostat) { SelectThermostat(dialog, device, sceneTarget); } @@ -529,7 +539,7 @@ /// <param name="dialog"></param> /// <param name="device"></param> /// <param name="sceneTarget"></param> - private void SelectOnoffOutput(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + private void SelectOnoffOutput(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) { var selectFL = new FrameLayout { @@ -578,7 +588,7 @@ Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextSize = 16, - Text = device.CommonDevice.DeviceEpointName + Text = Common.LocalDevice.Current.GetDeviceEpointName(device) }; titleFL.AddChidren(deviceName); @@ -685,7 +695,7 @@ /// <param name="dialog"></param> /// <param name="device"></param> /// <param name="sceneTarget"></param> - private void SelectWindowCoveringDevice(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + private void SelectWindowCoveringDevice(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) { var selectFL = new FrameLayout { @@ -734,7 +744,7 @@ Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextSize = 16, - Text = device.CommonDevice.DeviceEpointName + Text = Common.LocalDevice.Current.GetDeviceEpointName(device) }; titleFL.AddChidren(deviceName); @@ -787,7 +797,7 @@ dialog.RemoveFromParent(); }; - open.SeekBar.ProgressChanged += (sender, e) => + open.SeekBar.OnProgressChangedEvent += (sender, e) => { open.IsSelected = true; shut.IsSelected = false; @@ -805,7 +815,7 @@ { open.IsSelected = true; shut.IsSelected = false; - open.SetProgress(sceneTarget.TaskList[0].Data2); + open.SetSeekBarProgress(sceneTarget.TaskList[0].Data2); } } @@ -850,7 +860,7 @@ /// <param name="dialog"></param> /// <param name="device"></param> /// <param name="sceneTarget"></param> - private void SelectDimmableLight(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + private void SelectDimmableLight(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) { var selectFL = new FrameLayout { @@ -900,7 +910,7 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextSize = 16, TextAlignment = TextAlignment.CenterLeft, - Text = device.CommonDevice.DeviceEpointName + Text = Common.LocalDevice.Current.GetDeviceEpointName(device) }; titleFL.AddChidren(deviceName); @@ -953,7 +963,7 @@ dialog.RemoveFromParent(); }; - open.SeekBar.ProgressChanged += (sender, e) => + open.SeekBar.OnProgressChangedEvent += (sender, e) => { open.IsSelected = true; shut.IsSelected = false; @@ -971,7 +981,7 @@ { open.IsSelected = true; shut.IsSelected = false; - open.SetProgress(sceneTarget.TaskList[0].Data1); + open.SetSeekBarProgress(sceneTarget.TaskList[0].Data1); } } @@ -1016,7 +1026,7 @@ /// <param name="dialog"></param> /// <param name="device"></param> /// <param name="sceneTarget"></param> - private void SelectThermostat(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) + private void SelectThermostat(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) { var selectFL = new FrameLayout { @@ -1066,7 +1076,7 @@ TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextSize = 16, TextAlignment = TextAlignment.CenterLeft, - Text = device.CommonDevice.DeviceEpointName + Text = Common.LocalDevice.Current.GetDeviceEpointName(device) }; titleFL.AddChidren(deviceName); -- Gitblit v1.8.0