using System; using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public partial class TopViewDiv { /// /// 父窗体 /// FrameLayout baseView; /// /// 父窗体Dialog /// Dialog baseDialog; /// /// 内容区域 /// FrameLayout contentView; /// /// 后退按钮 /// Button btnBack; public Button btnTilte; /// /// 标题名称 /// string title; /// /// 是否需要关闭页面 /// bool needClose = true; /// /// 后退时触发对事件 /// Action backAction; public TopViewDiv(FrameLayout frame, string str) { baseView = frame; title = str; } /// /// TopViewDiv /// /// 父控件 /// 标题 /// 是否需要关闭页面 public TopViewDiv(FrameLayout frame, string title, bool needClose) { baseView = frame; this.title = title; this.needClose = needClose; } /// /// /// /// 显示的dialog /// dialog的父窗体 /// 标题文本 public TopViewDiv(Dialog dialog, FrameLayout frame, string str) { baseDialog = dialog; baseView = frame; title = str; } /// /// 向framelayout添加顶部区域 /// /// /// public void LoadTopView(uint color = CSS_Color.TopViewColor)//,Action action { contentView = new FrameLayout() { Height = Application.GetRealHeight(64), BackgroundColor = color, }; baseView.AddChidren(contentView); Button btnBackIcon = new Button() { X = Application.GetRealWidth(10), Y = Application.GetRealHeight(29), Width = Application.GetRealWidth(40), Height = Application.GetRealWidth(28), UnSelectedImagePath = "Public/BackIcon.png", }; contentView.AddChidren(btnBackIcon); btnTilte = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(30), Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(25), TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.HeadlineFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Text = title }; contentView.AddChidren(btnTilte); btnBack = new Button() { Width = Application.GetRealWidth(70), }; contentView.AddChidren(btnBack); LoadEventList(); } /// /// 拥有一个回调事件 /// /// public void LoadTopView(Action backAct) { backAction = backAct; LoadTopView(); } public void LoadTopView_RoomTop(Action backAction, Action editAction) { this.backAction = backAction; LoadTopView(); var btnSetting = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; //如果是成员隐藏编辑功能 if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) { contentView.AddChidren(btnSetting); } btnSetting.MouseUpEventHandler = (sender, e) => { editAction(); }; } /// /// 灯光功能列表界面 /// 带组合调光编辑 /// /// /// public void LoadTopView_LightFunction( Action editAction) { LoadTopView(); var btnSetting = new Button() { X = Application.GetRealWidth(337-37), Y = Application.GetRealHeight(20), Width = Application.GetMinRealAverage(28+37), Height = Application.GetMinRealAverage(28+19), TextID = StringId.CombinedDimming, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.MainColor, IsMoreLines = true //UnSelectedImagePath = "FunctionIcon/Light/LightScene/SetLightSceneIcon.png", }; contentView.AddChidren(btnSetting); btnSetting.MouseUpEventHandler = (sender, e) => { editAction(); }; } /// /// 向framelayout添加顶部区域,拥有配置图标按钮 /// /// /// public void LoadTopView_FunctionTop(Function function, Action action,bool locationSet = true) { backAction = action; LoadTopView(); var btnSetting = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(28), Width = Application.GetMinRealAverage(32), Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; //如果是成员隐藏编辑功能 if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) { contentView.AddChidren(btnSetting); } btnSetting.MouseUpEventHandler = (sender, e) => { var infoView = new FunctionBaseInfoSetPage(function, action); MainPage.BasePageView.AddChidren(infoView); infoView.LoadPage(locationSet); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } /// /// 房间标题区域 /// /// /// public void LoadTopView_SettingIcon(Action skipAction) { LoadTopView(); var btnSetting = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; //如果是成员隐藏编辑功能 if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) { contentView.AddChidren(btnSetting); } btnSetting.MouseUpEventHandler += (sender, e) => { skipAction(); }; } /// /// 房间标题区域 /// /// /// /// public void LoadTopView_SettingText(Action skipAction,string text) { LoadTopView(); var btnSetting = new Button() { X = Application.GetRealWidth(337-100), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(100), Height = Application.GetMinRealAverage(28), TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.CenterRight, Text = text, }; contentView.AddChidren(btnSetting); btnSetting.MouseUpEventHandler += (sender, e) => { skipAction(); }; } /// /// 向framelayout添加顶部区域,拥有添加图标的按钮 /// /// /// public void LoadTopView_AddIcon(string type, Action callBack) { LoadTopView(); var btnAddIcon = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/AddIcon.png", }; contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { if (type == "floors") { Action callBackAction = (floorName) => { callBack("add", floorName); }; string newFloorName = "1F"; for (int i = 0; i < SpatialInfo.CurrentSpatial.FloorList.Count + 1;) { newFloorName = ++i + "F"; if (null == SpatialInfo.CurrentSpatial.FloorList.Find((obj) => obj.roomName == newFloorName)) { break; } } var fs = new List(); foreach (var f in SpatialInfo.CurrentSpatial.FloorList) { fs.Add(f.roomName); } new PublicAssmebly().LoadDialog_EditParater(StringId.AddFloors, newFloorName, callBackAction, StringId.FloorNameCannotBeEmpty, StringId.AddFloorFailed_FloorAlreadyExist, fs); } else { callBack("", ""); } }; } /// /// 向framelayout添加顶部区域,添加第三方平台 /// /// /// public void LoadTopView_Add3tyIot( Action callBack) { LoadTopView(CSS_Color.MainBackgroundColor); var btnAddIcon = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/LinkIotIcon.png", }; contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { var page = new Iot_BrandListPage(); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } /// /// 向framelayout添加顶部区域,第三方平台 /// public void LoadTopView_3tyIot(Action action) { LoadTopView(CSS_Color.MainBackgroundColor); var btnAddIcon = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/Iot_agreement_icon.png", }; contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { action(); }; } /// /// 楼层管理顶部栏 /// public void LoadTopView_FloorTopView(Action callBack, Action action) { LoadTopView(); backAction = action; var btnAddIcon = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/AddIcon.png", }; contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { Action callBackAction = (floorName) => { callBack(floorName); }; string newFloorName = "1F"; for (int i = 0; i < SpatialInfo.CurrentSpatial.FloorList.Count + 1;) { newFloorName = ++i + "F"; if (null == SpatialInfo.CurrentSpatial.FloorList.Find((obj) => obj.roomName == newFloorName)) { break; } } var fs = new List(); foreach (var f in SpatialInfo.CurrentSpatial.FloorList) { fs.Add(f.roomName); } new PublicAssmebly().LoadDialog_EditParater(StringId.AddFloors, newFloorName, callBackAction, StringId.FloorNameCannotBeEmpty, StringId.AddFloorFailed_FloorAlreadyExist, fs); }; } /// /// 房间管理顶部栏 /// public void LoadTopView_RoomTopView(Action callBack) { LoadTopView(); var btnAddIcon = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/AddIcon.png", }; contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { callBack?.Invoke(); }; } /// /// 协议管理顶部 /// 带撤销同意按钮 /// public void LoadTopView_WithdrawalConsent(Action withdrawalConsentAction) { LoadTopView(); var btnAddIcon = new Button() { X = Application.GetRealWidth(352-100), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(100), Height = Application.GetMinRealAverage(28), TextID = StringId.WithdrawalConsent, TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.TextFontSize, }; contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { withdrawalConsentAction?.Invoke(); }; } /// /// 成员顶部栏 /// public void LoadTopView_MemberTopView(Action addAction, Action action) { LoadTopView(); backAction = action; var btnAddIcon = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/AddIcon.png", }; contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { addAction?.Invoke(); }; } /// /// 安防中心顶部栏 /// public void LoadTopView_ArmCenter(Action skipAction)//(Action callBack, Action action) { LoadTopView(); //backAction = action; var btnAddIcon = new Button() { X = Application.GetRealWidth(337), Y = Application.GetRealHeight(29), Width = Application.GetMinRealAverage(28), Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "FunctionIcon/ArmCenter/HistoryIcon.png", }; //contentView.AddChidren(btnAddIcon); btnAddIcon.MouseUpEventHandler += (sender, e) => { skipAction?.Invoke(); }; } } }