using System; using System.Collections.Generic; using Shared.Common; namespace Shared.Phone.Category { public class SelectHouseForm : UserCenter.FrameLayoutBase { public Action HouseAction; Dialog dialogBackground; /// /// Init /// public void Init() { dialogBackground = new Dialog { BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor }; dialogBackground.Show(); var dialog = new FrameLayout() { }; dialogBackground.AddChidren(dialog); dialog.MouseUpEventHandler += (sender, e) => { RemoveView(); }; var bg = new Button { X = Application.GetRealWidth(35), Y = Application.GetRealHeight(256), Width = this.GetPictrueRealSize(449), Height = this.GetPictrueRealSize(773), UnSelectedImagePath = "Floor/SelectFloor_Left_4.png" }; dialog.AddChidren(bg); var changeHomeFL = new FrameLayout() { X = Application.GetRealWidth(35), Y = Application.GetRealHeight(256+23), Width = this.GetPictrueRealSize(449), Height = this.GetPictrueRealSize(773 - 23) }; dialog.AddChidren(changeHomeFL); var changeHomeBtn = new Button() { X = Application.GetRealWidth(80), Width = this.GetPictrueRealSize(350), Height = this.GetPictrueRealSize(150), TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextID = R.MyInternationalizationString.ChangeHome, TextAlignment = TextAlignment.CenterLeft, TextSize = 14, IsBold = true }; changeHomeFL.AddChidren(changeHomeBtn); var scrolView = new VerticalScrolViewLayout() { Y = changeHomeBtn.Bottom, Width = this.GetPictrueRealSize(449), Height = this.GetPictrueRealSize(600), VerticalScrollBarEnabled = false }; changeHomeFL.AddChidren(scrolView); var houseCount = Config.Instance.HomeFilePathList.Count; if (Config.Instance.HomeFilePathList.Count > 0) { if (houseCount > 5) { bg.UnSelectedImagePath = $"Floor/SelectFloor_Left_5.png"; bg.Height = this.GetPictrueRealSize(150 * 6 + 23); changeHomeFL.Height = this.GetPictrueRealSize(150 * 6); scrolView.Height = this.GetPictrueRealSize(150 * 5); } else { bg.UnSelectedImagePath = $"Floor/SelectFloor_Left_{houseCount}.png"; bg.Height = this.GetPictrueRealSize(150 * (houseCount + 1) + 23); changeHomeFL.Height = this.GetPictrueRealSize(150 * (houseCount + 1)); scrolView.Height = this.GetPictrueRealSize(150 * houseCount); } foreach (var housePath in Config.Instance.HomeFilePathList) { var home = UserCenter.HdlResidenceLogic.Current.GetHouseByFilePath(housePath); if (home == null) { continue; } AddFloor(scrolView, home); } } } /// /// AddFloor /// /// private void AddFloor(VerticalScrolViewLayout verticalScrolView, House house) { var frow = new Device.CommonForm.LeftIconButtonRow(449, 150); frow.Width = this.GetPictrueRealSize(449); frow.Height = this.GetPictrueRealSize(150); frow.Tag = house.FileName; frow.Init("Item/House.png", "Item/HouseSelected.png", house.Name); verticalScrolView.AddChidren(frow); if (Config.Instance.HomeId == house.Id) { frow.IsSelected = true; } frow.ButtonClickEvent += (sender, e) => { RemoveView(); HouseAction?.Invoke(house.Id); }; } /// /// RemoveView /// private void RemoveView() { dialogBackground.Close(); RemoveFromParent(); } } }