using System; using System.Collections.Generic; using System.Linq; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public partial class FunctionPage : FrameLayout { #region 控件列表 /// <summary> /// 当å‰çª—体 /// </summary> static FrameLayout bodyView; /// <summary> /// æ¥¼å±‚é€‰æ‹©ä¸‹æ‹‰å›¾æ ‡ /// </summary> Button btnFloorDownIcon; /// <summary> /// 楼层显示 /// </summary> Button btnFloor; /// <summary> /// åŠŸèƒ½åˆ—è¡¨é›†åˆæ˜¾ç¤ºåŒºåŸŸ /// </summary> static VerticalScrolViewLayout functionListView; #endregion List<Function> functionList; public FunctionPage() { bodyView = this; functionList = new List<Function>(); } public void LoadPage(int titleId) { bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView(); /// <summary> /// 房间内容显示区域 /// </summary> var roomFloorChangeView = new FrameLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(52), }; bodyView.AddChidren(roomFloorChangeView); #region æˆ¿é—´é¡¶éƒ¨åˆ‡æ¢æ˜¾ç¤ºåŒºåŸŸ btnFloorDownIcon = new Button() { Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), X = Application.GetRealWidth(16), Y = Application.GetRealHeight(18), UnSelectedImagePath = "Public/DownIcon.png", }; roomFloorChangeView.AddChidren(btnFloorDownIcon); btnFloor = new Button() { X = btnFloorDownIcon.Right, Y = Application.GetRealHeight(18), Width = Application.GetRealWidth(200), Height = Application.GetMinRealAverage(16), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, Text = DB_ResidenceData.Instance.CurFloor.roomName, }; roomFloorChangeView.AddChidren(btnFloor); #endregion functionListView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64 + 52), Height = Application.GetRealHeight(603 - 12 - 52), }; bodyView.AddChidren(functionListView); if (titleId == StringId.Lights) { functionList.AddRange(FunctionList.List.GetLightList()); } else if (titleId == StringId.AC) { functionList.AddRange(FunctionList.List.GetAcList()); } else if (titleId == StringId.Curtain) { functionList.AddRange(FunctionList.List.GetCurtainList()); } else if (titleId == StringId.FloorHeating) { functionList.AddRange(FunctionList.List.GetFloorHeatingList()); } else if (titleId == StringId.Electric) { functionList.AddRange(FunctionList.List.GetElectricals()); } else if (titleId == StringId.EnvironmentalScience) { functionList.AddRange(FunctionList.List.GetEnvirSensorsList()); } else if (titleId == StringId.Sensor) { functionList.AddRange(FunctionList.List.GetArmSensorList()); } else if (titleId == StringId.FreshAir) { functionList.AddRange(FunctionList.List.GetAirFreshList()); } functionList.OrderByDescending(o => o.controlCounter).ToList(); ShowFunctionRow(functionList); LoadDialog_ChangeFloor(); } /// <summary> /// åŠ è½½åŠŸèƒ½row /// </summary> void ShowFunctionRow(List<Function> showList) { functionListView.RemoveAll(); foreach (var function in showList) { if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) { var functionDiv = new FunctionControlZone(function) { 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 = function.spk + function.sid }; functionDiv.LoadFunctionDiv(); functionListView.AddChidren(functionDiv); } else { var functionDiv = new FunctionControlZone(function) { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(96), Radius = (uint)Application.GetMinRealAverage(12), BorderColor = 0x00FFFFFF, BorderWidth = 1, BackgroundColor = CSS_Color.MainBackgroundColor, Tag = function.spk + function.sid }; functionDiv.LoadFunctionDiv(); functionListView.AddChidren(functionDiv); } functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(10) }); } } /// <summary> /// ä½å®…列表点击事件 /// </summary> void LoadDialog_ChangeFloor() { string nowSelectId = null; btnFloor.MouseUpEventHandler += (sender, e) => { //显示下拉列表 var form = new FloorRoomSelectPopupView(); form.ShowDeviceFunctionView(btnFloor, this.functionList, (selectId, listFunc) => { nowSelectId = selectId; //釿–°åŠ è½½ç•Œé¢ ShowFunctionRow(listFunc); }, nowSelectId); }; } } }