| | |
| | | using System; |
| | | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.CSS; |
| | | using Shared; |
| | |
| | | /// <summary> |
| | | /// 当前窗体 |
| | | /// </summary> |
| | | static FrameLayout bodyView; |
| | | public static RoomPage bodyView; |
| | | /// <summary> |
| | | /// 功能列表集合显示区域 |
| | | /// </summary> |
| | |
| | | |
| | | #endregion |
| | | |
| | | public override void RemoveFromParent() |
| | | { |
| | | base.RemoveFromParent(); |
| | | bodyView = null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | |
| | | deleteAction = delAction; |
| | | this.modifyImageAction = modifyImageAction; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 重载界面 |
| | | /// </summary> |
| | | void ReLoadPage() |
| | | public void ReLoadPage() |
| | | { |
| | | bodyView.RemoveAll(); |
| | | LoadPage(); |
| | | if (bodyView != null) |
| | | { |
| | | try |
| | | { |
| | | bodyView.RemoveAll(); |
| | | LoadPage(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"RoomPage ReloadPage error :\r\n {ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | public void LoadPage() |
| | | { |
| | | bodyView.BackgroundColor = CSS_Color.BackgroundColor; |
| | | |
| | | new TopViewDiv(bodyView,room.roomName).LoadTopView_RoomTop(ReloadRoomName, skipEditPageAction); |
| | | new TopViewDiv(bodyView, room.roomName).LoadTopView_RoomTop(ReloadRoomName, skipEditPageAction); |
| | | |
| | | functionListView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(603-12), |
| | | Height = Application.GetRealHeight(603 - 12), |
| | | }; |
| | | bodyView.AddChidren(functionListView); |
| | | |
| | | foreach (var function in room.GetRoomFunctions(false)) |
| | | var list = room.GetRoomFunctions(false); |
| | | |
| | | |
| | | foreach (var function in list) |
| | | { |
| | | if (MainPage.RoomNotSupportFunctionList.Contains( function.spk)) |
| | | if (MainPage.RoomNotSupportFunctionList.Contains(function.spk)) |
| | | { |
| | | continue; |
| | | } |
| | | #if DEBUG |
| | | //throw new ArgumentNullException(); |
| | | #endif |
| | | |
| | | functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); |
| | | |
| | | if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) |
| | | if (function.spk == SPK.LightRGBW || function.spk == SPK.LightCCT || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) |
| | | { |
| | | var functionDiv = new FunctionControlZone(function) |
| | | var functionDiv = new FunctionControlZone(function, null) |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | |
| | | } |
| | | else |
| | | { |
| | | var functionDiv = new FunctionControlZone(function) |
| | | |
| | | var functionDiv = new FunctionControlZone(function, () => |
| | | { |
| | | this.ReLoadPage(); //删除设备后重新刷新UI |
| | | }) |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | |
| | | functionListView.AddChidren(functionDiv); |
| | | } |
| | | } |
| | | foreach (var scene in room.GetRoomScenes(false)) |
| | | try |
| | | { |
| | | functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); |
| | | var sceneRow = new FrameLayout() |
| | | foreach (var scene in room.GetRoomScenes(false)) |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealHeight(116), |
| | | Radius = (uint)Application.GetMinRealAverage(12), |
| | | BorderColor = 0x00FFFFFF, |
| | | BorderWidth = 1, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Tag = "Scene-" + scene.sid |
| | | }; |
| | | functionListView.AddChidren(sceneRow); |
| | | LoadSceneRow(sceneRow, scene); |
| | | if (scene == null) |
| | | { |
| | | continue; |
| | | } |
| | | functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); |
| | | var sceneRow = new FrameLayout() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealHeight(116), |
| | | Radius = (uint)Application.GetMinRealAverage(12), |
| | | BorderColor = 0x00FFFFFF, |
| | | BorderWidth = 1, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Tag = "Scene-" + scene.sid |
| | | }; |
| | | functionListView.AddChidren(sceneRow); |
| | | LoadSceneRow(sceneRow, scene); |
| | | } |
| | | }catch (Exception ex) |
| | | { |
| | | MainPage.Log($"RoomPage LoadPage Error:{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | public void LoadSceneRow(FrameLayout bodyDiv, Scene scene) |
| | | { |
| | | var btnIcon = new Button() |
| | | var btnIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(15), |
| | |
| | | btnName.X = Application.GetRealWidth(52 + 16); |
| | | } |
| | | //加载场景控制事件 |
| | | LoadEvent_ControlScene(btnName,btnFromFloor,bodyDiv,scene ); |
| | | LoadEvent_ControlScene(btnName, btnFromFloor, bodyDiv, scene); |
| | | |
| | | LoadEvent_FunctionCollection(btnCollectionIcon,scene); |
| | | LoadEvent_FunctionCollection(btnCollectionIcon, scene); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载功能收藏按钮事件 |
| | | /// </summary> |
| | | void LoadEvent_FunctionCollection(Button btnCollectionIcon,Scene scene) |
| | | void LoadEvent_FunctionCollection(Button btnCollectionIcon, Scene scene) |
| | | { |
| | | btnCollectionIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | /// <summary> |
| | | /// 加载场景控制事件 |
| | | /// </summary> |
| | | void LoadEvent_ControlScene(Button btnName,Button btnFromFloor,FrameLayout bodyDiv, Scene scene) |
| | | void LoadEvent_ControlScene(Button btnName, Button btnFromFloor, FrameLayout bodyDiv, Scene scene) |
| | | { |
| | | EventHandler<MouseEventArgs> upEvent = (sender, e) => { |
| | | EventHandler<MouseEventArgs> upEvent = (sender, e) => |
| | | { |
| | | DriverLayer.Control.Ins.ControlScene(scene); |
| | | string msg = scene.name + Language.StringByID(StringId.AlreadyOpened); |
| | | new PublicAssmebly().TipMsgAutoClose(msg, false); |
| | |
| | | bodyDiv.MouseUpEventHandler = upEvent; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |