wxr
2020-03-13 171bf03f3664226eeff2b20ee9bd2e914b63a17d
HDL_ON/UI/UI2/2-Classification/Room/FunctionDiv.cs
@@ -5,47 +5,146 @@
namespace HDL_ON.UI
{
    public partial class FunctionDiv : FrameLayout
    public partial class RoomControlZone : FrameLayout
    {
        #region 区域控件
        FrameLayout bodyDiv;
        /// <summary>
        /// 功能/场景icon
        /// </summary>
        Button btnIcon;
        /// <summary>
        /// 功能名称/场景名称
        /// </summary>
        Button btnName;
        /// <summary>
        /// 楼层信息显示按钮
        /// </summary>
        Button btnFromFloor;
        /// <summary>
        /// 收藏按钮
        /// </summary>
        Button btnCollectionIcon;
        /// <summary>
        /// 开关按钮
        /// </summary>
        Button btnSwitch;
        /// <summary>
        /// 灯光调光条
        /// </summary>
        DiyImageSeekBar dimmerControlBar;
        #endregion
        #region 区域变量
        Function function;
        #endregion
        public FunctionDiv(Function func)
        public RoomControlZone(Function func)
        {
            bodyDiv = this;
            function = func;
        }
        /// <summary>
        /// 加载功能类型控制卡片
        /// </summary>
        public void LoadFunctionDiv()
        {
            var btnFunctionIcon = new Button()
            if (function == null)
            {
                this.RemoveFromParent();
                return;
            }
            LoadDiv();
            #region 加载开关按钮
            if (function.functionCategory != FunctionType.Curtain)//窗帘没有开关按钮
            {
                /// <summary>
                /// 开关按钮
                /// </summary>
                Button btnSwitch;
                if (function.functionType == "RGB" || function.functionType == "Dimmer")
                {
                    btnSwitch = new Button()
                    {
                        X = Application.GetRealWidth(303),
                        Y = Application.GetRealHeight(78),
                        Width = Application.GetMinRealAverage(32),
                        Height = Application.GetMinRealAverage(32),
                        UnSelectedImagePath = "Public/PowerClose.png",
                        SelectedImagePath = "Public/PowerOpen.png",
                    };
                    bodyDiv.AddChidren(btnSwitch);
                }
                else
                {
                    btnSwitch = new Button()
                    {
                        X = Application.GetRealWidth(303),
                        Y = Application.GetRealHeight(58),
                        Width = Application.GetMinRealAverage(32),
                        Height = Application.GetMinRealAverage(32),
                        UnSelectedImagePath = "Public/PowerClose.png",
                        SelectedImagePath = "Public/PowerOpen.png",
                    };
                    bodyDiv.AddChidren(btnSwitch);
                }
                //加载开关按钮事件
                LoadEvent_LightSwitch(btnSwitch);
            }
            #endregion
            switch (function.functionCategory)
            {
                case FunctionType.AC:
                    btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon.png";
                    AcDiv(bodyDiv);
                    break;
                case FunctionType.Curtain:
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png";
                    CurtainFragment(bodyDiv);
                    break;
                case FunctionType.Light:
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png";
                    LoadLightcontrol(bodyDiv);
                    break;
                case FunctionType.FloorHeating:
                    btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png";
                    FloorHeatingDiv(bodyDiv);
                    break;
                case FunctionType.Scene:
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png";
                    if ((function as Scene).sceneType == SceneType.MovieScene)
                    {
                        var movieIcon = new Button()
                        {
                            X = Application.GetRealWidth(52),
                            Y = Application.GetRealHeight(14),
                            Width = Application.GetRealWidth(16),
                            Height = Application.GetRealWidth(16),
                            UnSelectedImagePath = "FunctionIcon/Scene/MovieMark.png",
                        };
                        bodyDiv.AddChidren(movieIcon);
                        btnName.X = movieIcon.Right;
                    }
                    break;
            }
            LoadEvent_DivSkipEvent();
            LoadCollectionEvent();
        }
        /// <summary>
        /// 加载控制卡片区域
        /// </summary>
        void LoadDiv()
        {
            btnIcon = new Button()
            {
                X = Application.GetRealWidth(10),
                Y = Application.GetRealHeight(15),
                Width = Application.GetMinRealAverage(32),
                Height = Application.GetMinRealAverage(32),
            };
            bodyDiv.AddChidren(btnFunctionIcon);
            bodyDiv.AddChidren(btnIcon);
            var btnFunctionName = new Button()
            btnName = new Button()
            {
                X = btnFunctionIcon.Right + Application.GetRealWidth(3),
                X = btnIcon.Right + Application.GetRealWidth(8),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(200),
                Height = Application.GetRealHeight(24),
@@ -54,12 +153,12 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
            };
            bodyDiv.AddChidren(btnFunctionName);
            bodyDiv.AddChidren(btnName);
            var btnFromFloor = new Button()
            btnFromFloor = new Button()
            {
                X = btnFunctionIcon.Right + Application.GetRealWidth(3),
                Y = btnFunctionName.Bottom,
                X = btnIcon.Right + Application.GetRealWidth(8),
                Y = btnName.Bottom,
                Width = Application.GetRealWidth(200),
                Height = Application.GetRealHeight(18),
                Text = function.GetRoomListName(),
@@ -71,67 +170,16 @@
            btnCollectionIcon = new Button()
            {
                X = Application.GetRealWidth(303),
                X = Application.GetRealWidth(299),
                Y = Application.GetRealHeight(10),
                Width = Application.GetMinRealAverage(32),
                Height = Application.GetMinRealAverage(32),
                Width = Application.GetMinRealAverage(40),
                Height = Application.GetMinRealAverage(40),
                SelectedImagePath = "Collection/CollectionIcon.png",
                UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
                IsSelected = function.collection
            };
            bodyDiv.AddChidren(btnCollectionIcon);
            #region 加载开关按钮
            if (function.functionType == "RGB" || function.functionType == "Dimmer")
            {
                btnSwitch = new Button()
                {
                    X = Application.GetRealWidth(303),
                    Y = Application.GetRealHeight(78),
                    Width = Application.GetMinRealAverage(32),
                    Height = Application.GetMinRealAverage(32),
                    UnSelectedImagePath = "Public/PowerClose.png",
                    SelectedImagePath = "Public/PowerOpen.png",
                };
                bodyDiv.AddChidren(btnSwitch);
            }
            else
            {
                btnSwitch = new Button()
                {
                    X = Application.GetRealWidth(303),
                    Y = Application.GetRealHeight(58),
                    Width = Application.GetMinRealAverage(32),
                    Height = Application.GetMinRealAverage(32),
                    UnSelectedImagePath = "Public/PowerClose.png",
                    SelectedImagePath = "Public/PowerOpen.png",
                };
                bodyDiv.AddChidren(btnSwitch);
            }
            #endregion
            switch (function.functionCategory)
            {
                case FunctionType.AC:
                    btnFunctionIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon.png";
                    AcFragment(bodyDiv);
                    break;
                case FunctionType.Curtain:
                    btnFunctionIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png";
                    CurtainFragment(bodyDiv);
                    break;
                case FunctionType.Light:
                    btnFunctionIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png";
                    LoadLightcontrol(bodyDiv);
                    LoadLightEventList();
                    break;
                case FunctionType.FloorHeating:
                    btnFunctionIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png";
                    FloorHeatingDiv(bodyDiv);
                    break;
            }
            LoadEventList();
        }
        /// <summary>
@@ -157,7 +205,7 @@
                    };
                    view.AddChidren(btnDimmerMinValues);
                    dimmerControlBar = new DiyImageSeekBar()
                    var dimmerControlBar = new DiyImageSeekBar()
                    {
                        X = btnDimmerMinValues.Right,
                        Y = Application.GetRealHeight(68),//91,设计数据
@@ -186,6 +234,8 @@
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    };
                    view.AddChidren(btnDimmerMaxValues);
                    //加载调光事件
                    LoadEvent_LightDimming(dimmerControlBar);
                    #endregion
                    break;
            }
@@ -230,17 +280,7 @@
            };
            view.AddChidren(btnCurtainOpen);
            view.MouseUpEventHandler += (sender, e) =>
            {
                //跳转到功能信息设置页面
                if (function.functionType == "MotorCurtain")
                {
                    var skinView = new MotorCurtainFragment(function);
                    MainPage.BasePageView.AddChidren(skinView);
                    skinView.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
            };
            #endregion
        }
@@ -248,7 +288,7 @@
        /// <summary>
        /// 加载空调功能控制卡片
        /// </summary>
        void AcFragment( FrameLayout view)
        void AcDiv(FrameLayout view)
        {
            #region AC
            #endregion
@@ -257,11 +297,10 @@
        /// <summary>
        /// 加载地热功能控制卡片
        /// </summary>
        void FloorHeatingDiv( FrameLayout view)
        void FloorHeatingDiv(FrameLayout view)
        {
            #region 地热
            #endregion
        }
    }
}