mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
@@ -194,7 +194,7 @@
        /// <summary>
        /// 显示的设备的总数
        /// </summary>
        int showCount = 0;
        int showCount = -1;
        /// <summary>
        /// 加载功能row
@@ -214,18 +214,19 @@
                    {
                        if (!isAppend)
                        {
                            showCount = 0;
                            showCount = -1;
                            functionListView.RemoveAll();
                        }
                        int i = 0;
                        foreach (var function in functions)
                        for(var i =0;i<100;i++)
                        //foreach (var function in functions)
                        {
                            i++;
                            if (i > 100)
                            showCount++;
                            if (showCount >= functions.Count)
                            {
                                break;
                            }
                            showCount++;
                            var function = functions[showCount];
                            var functionDiv = new LightRow(function)
                            {
                                Gravity = Gravity.CenterHorizontal,
@@ -371,84 +372,91 @@
        /// </summary>
        public void LoadDiv(List<Function> functions,Action action)
        {
            btnIcon = new Button()
            try
            {
                X = Application.GetRealWidth(10),
                Y = Application.GetRealHeight(15),
                Width = Application.GetRealWidth(32),
                Height = Application.GetRealWidth(32),
                UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png"
            };
            bodyDiv.AddChidren(btnIcon);
            btnName = new Button()
            {
                X = Application.GetRealWidth(8 + 10 + 32),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(200),
                Height = Application.GetRealHeight(24),
                Text = function.name,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
            };
            bodyDiv.AddChidren(btnName);
            btnFromFloor = new Button()
            {
                X = Application.GetRealWidth(8 + 10 + 32),
                Y = Application.GetRealHeight(10 + 24),
                Width = Application.GetRealWidth(200),
                Height = Application.GetRealHeight(18),
                Text = function.GetRoomListName(),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.PromptingColor1,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
            };
            bodyDiv.AddChidren(btnFromFloor);
            btnSelect = new Button()
            {
                X = Application.GetRealWidth(303),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(32),
                Height = Application.GetRealWidth(32),
                UnSelectedImagePath = "FunctionIcon/Light/LightScene/CheckIcon.png",
                SelectedImagePath = "FunctionIcon/Light/LightScene/CheckOnIcon.png",
                IsSelected = functions.Find((obj) => obj.deviceId == function.deviceId) != null
            };
            if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
            {
                btnSelect.X = Application.GetRealWidth(323);
            }
            bodyDiv.AddChidren(btnSelect);
            btnSelect.MouseUpEventHandler = (sender, e) => {
                Application.HideSoftInput();
                btnSelect.IsSelected = !btnSelect.IsSelected;
                if(btnSelect.IsSelected)
                btnIcon = new Button()
                {
                    var addTemp = functions.Find((obj) => obj.deviceId == function.deviceId);
                    if (addTemp == null)
                    {
                        functions.Add(function);
                    }
                    X = Application.GetRealWidth(10),
                    Y = Application.GetRealHeight(15),
                    Width = Application.GetRealWidth(32),
                    Height = Application.GetRealWidth(32),
                    UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png"
                };
                bodyDiv.AddChidren(btnIcon);
                btnName = new Button()
                {
                    X = Application.GetRealWidth(8 + 10 + 32),
                    Y = Application.GetRealHeight(10),
                    Width = Application.GetRealWidth(200),
                    Height = Application.GetRealHeight(24),
                    Text = function.name,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                };
                bodyDiv.AddChidren(btnName);
                btnFromFloor = new Button()
                {
                    X = Application.GetRealWidth(8 + 10 + 32),
                    Y = Application.GetRealHeight(10 + 24),
                    Width = Application.GetRealWidth(200),
                    Height = Application.GetRealHeight(18),
                    Text = function.GetRoomListName(),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                };
                bodyDiv.AddChidren(btnFromFloor);
                btnSelect = new Button()
                {
                    X = Application.GetRealWidth(303),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(32),
                    Height = Application.GetRealWidth(32),
                    UnSelectedImagePath = "FunctionIcon/Light/LightScene/CheckIcon.png",
                    SelectedImagePath = "FunctionIcon/Light/LightScene/CheckOnIcon.png",
                    IsSelected = functions.Find((obj) => obj.deviceId == function.deviceId) != null,
                    Tag = "ChooseIcon"
                };
                if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
                {
                    btnSelect.X = Application.GetRealWidth(323);
                }
                else
                bodyDiv.AddChidren(btnSelect);
                btnSelect.MouseUpEventHandler = (sender, e) =>
                {
                    var removeTemp = functions.Find((obj) => obj.sid == function.sid);
                    if (removeTemp != null)
                    Application.HideSoftInput();
                    btnSelect.IsSelected = !btnSelect.IsSelected;
                    if (btnSelect.IsSelected)
                    {
                        functions.Remove(removeTemp);
                        var addTemp = functions.Find((obj) => obj.deviceId == function.deviceId);
                        if (addTemp == null)
                        {
                            functions.Add(function);
                        }
                    }
                }
                ///刷新界面
                if (functions.Count == 0 || functions.Count == 1)
                {
                    else
                    {
                        var removeTemp = functions.Find((obj) => obj.sid == function.sid);
                        if (removeTemp != null)
                        {
                            functions.Remove(removeTemp);
                        }
                    }
                    ///刷新界面
                    //if (functions.Count == 0 || functions.Count == 1)
                    //{
                    action();
                }
            };
                    //}
                };
            }catch (Exception ex)
            {
            }
        }