wxr
2021-07-01 43b0d5870d528f23ecd6aeceb6cfd4325188b46f
HDL_ON/UI/UI0-Public/TopViewDiv.cs
@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -20,7 +21,6 @@
        /// </summary>
        FrameLayout contentView;
        /// <summary>
        /// 后退按钮
        /// </summary>
@@ -32,6 +32,11 @@
        string title;
        /// <summary>
        /// 是否需要关闭页面
        /// </summary>
        bool needClose = true;
        /// <summary>
        /// 后退时触发对事件
        /// </summary>
        Action backAction;
@@ -40,6 +45,19 @@
        {
            baseView = frame;
            title = str;
        }
        /// <summary>
        /// TopViewDiv
        /// </summary>
        /// <param name="frame">父控件</param>
        /// <param name="title">标题</param>
        /// <param name="needClose">是否需要关闭页面</param>
        public TopViewDiv(FrameLayout frame, string title, bool needClose)
        {
            baseView = frame;
            this.title = title;
            this.needClose = needClose;
        }
        /// <summary>
@@ -70,7 +88,7 @@
            };
            baseView.AddChidren(contentView);
            btnBack = new Button()
            Button btnBackIcon = new Button()
            {
                X = Application.GetRealWidth(10),
                Y = Application.GetRealHeight(29),
@@ -78,33 +96,65 @@
                Height = Application.GetRealWidth(28),
                UnSelectedImagePath = "Public/BackIcon.png",
            };
            baseView.AddChidren(btnBack);
            contentView.AddChidren(btnBackIcon);
            Button btnTilte = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealHeight(30),
                Width = Application.GetRealWidth(150),
                Width = Application.GetRealWidth(270),
                Height = Application.GetRealHeight(25),
                TextAlignment = TextAlignment.Center,
                TextSize = CSS_FontSize.HeadlineFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Text = title
            };
            baseView.AddChidren(btnTilte);
            contentView.AddChidren(btnTilte);
            btnBack = new Button()
            {
                Width = Application.GetRealWidth(70),
            };
            contentView.AddChidren(btnBack);
            LoadEventList();
        }
        /// <summary>
        /// 拥有一个回调事件
        /// </summary>
        /// <param name="action"></param>
        public void LoadTopView(Action action)
        /// <param name="backAct"></param>
        public void LoadTopView(Action backAct)
        {
            backAction = action;
            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();
            };
        }
        /// <summary>
@@ -112,7 +162,7 @@
        /// </summary>
        /// <param name="frame"></param>
        /// <param name="tilte"></param>
        public void LoadTopView(Function function, Action action)
        public void LoadTopView_FunctionTop(Function function, Action action)
        {
            backAction = action;
@@ -121,27 +171,33 @@
            var btnSetting = new Button()
            {
                X = Application.GetRealWidth(337),
                Y = Application.GetRealHeight(29),
                Width = Application.GetMinRealAverage(28),
                Height = Application.GetMinRealAverage(28),
                Y = Application.GetRealHeight(28),
                Width = Application.GetMinRealAverage(32),
                Height = Application.GetMinRealAverage(32),
                UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
            };
            contentView.AddChidren(btnSetting);
            btnSetting.MouseUpEventHandler += (sender, e) =>
            //如果是成员隐藏编辑功能
            if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
            {
                LoadEvent_SkipFunctionSetting(function);
                contentView.AddChidren(btnSetting);
            }
            btnSetting.MouseUpEventHandler = (sender, e) =>
            {
                var infoView = new FunctionBaseInfoSetPage(function, action);
                MainPage.BasePageView.AddChidren(infoView);
                infoView.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
        }
        /// <summary>
        /// 房间标题区域
        /// </summary>
        /// <param name="room"></param>
        /// <param name="skipAction"></param>
        public void LoadTopView(Room room,Action skipAction)
        public void LoadTopView_SettingIcon(Action skipAction)
        {
            //backAction = action;
            LoadTopView();
            var btnSetting = new Button()
@@ -152,7 +208,12 @@
                Height = Application.GetMinRealAverage(28),
                UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
            };
            contentView.AddChidren(btnSetting);
            //如果是成员隐藏编辑功能
            if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
            {
                contentView.AddChidren(btnSetting);
            }
            btnSetting.MouseUpEventHandler += (sender, e) =>
            {
@@ -165,7 +226,7 @@
        /// </summary>
        /// <param name="frame"></param>
        /// <param name="tilte"></param>
        public void LoadTopView(string type, Action<string, string> callBack)
        public void LoadTopView_AddIcon(string type, Action<string, string> callBack)
        {
            LoadTopView();
@@ -181,21 +242,146 @@
            btnAddIcon.MouseUpEventHandler += (sender, e) =>
            {
                LoadEvent_AddEvent(type, callBack);
                if (type == "floors")
                {
                    Action<string> 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<string>();
                    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("", "");
                }
            };
        }
        /// <summary>
        /// 向framelayout添加顶部区域,拥有添加图标的按钮,返回有回调事件
        /// 楼层管理顶部栏
        /// </summary>
        /// <param name="type"></param>
        /// <param name="callBack"></param>
        /// <param name="action"></param>
        public void LoadTopView(string type, Action<string, string> callBack,Action action)
        public void LoadTopView_FloorTopView(Action<string> callBack,Action action)
        {
            LoadTopView(type, callBack);
            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<string> 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<string>();
                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);
            };
        }
        /// <summary>
        /// 房间管理顶部栏
        /// </summary>
        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();
            };
        }
        /// <summary>
        /// 成员顶部栏
        /// </summary>
        public void LoadTopView_MemberTopView(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) =>
            {
                addAction?.Invoke();
            };
        }
        /// <summary>
        /// 安防中心顶部栏
        /// </summary>
        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();
            };
        }
    }
}