mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/2-Classification/RoomPage.cs
@@ -1,4 +1,6 @@
using System;

using System;
using System.Collections.Generic;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -34,6 +36,12 @@
        #endregion
        public override void RemoveFromParent()
        {
            base.RemoveFromParent();
            bodyView = null;
        }
        /// <summary>
        /// 
        /// </summary>
@@ -53,6 +61,7 @@
            deleteAction = delAction;
            this.modifyImageAction = modifyImageAction;
        }
        /// <summary>
        /// 重载界面
        /// </summary>
@@ -60,36 +69,50 @@
        {
            if (bodyView != null)
            {
                bodyView.RemoveAll();
                LoadPage();
                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),
@@ -105,7 +128,11 @@
                }
                else
                {
                    var functionDiv = new FunctionControlZone(function)
                    var functionDiv = new FunctionControlZone(function, () =>
                    {
                        this.ReLoadPage(); //删除设备后重新刷新UI
                    })
                    {
                        Gravity = Gravity.CenterHorizontal,
                        Width = Application.GetRealWidth(343),
@@ -120,22 +147,32 @@
                    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}");
            }
        }
@@ -147,7 +184,7 @@
        /// </summary>
        public void LoadSceneRow(FrameLayout bodyDiv, Scene scene)
        {
          var  btnIcon = new Button()
            var btnIcon = new Button()
            {
                X = Application.GetRealWidth(10),
                Y = Application.GetRealHeight(15),
@@ -214,15 +251,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) =>
            {
@@ -233,9 +270,10 @@
        /// <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);
@@ -245,5 +283,6 @@
            bodyDiv.MouseUpEventHandler = upEvent;
        }
    }
}