wxr
2020-06-16 f6fd8acd7c53c44187e70b4709443318a628f4b5
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
@@ -19,6 +19,10 @@
        /// 房间选择下拉图标
        /// </summary>
        Button btnFoorDownIcon;
        /// <summary>
        /// 传感器列表区域
        /// </summary>
        FrameLayout sensorListView;
        /// <summary>
        /// 天气名称文本
@@ -39,17 +43,6 @@
        #endregion
        #region 区域变量
        List<System.Threading.Thread> threads = new List<System.Threading.Thread>();
        uint level1Color = 0xFF2172FF;
        uint level2Color = 0xCC4484F4;
        uint level3Color = 0x664484F4;
        uint level4Color = 0xFFADE764;
        uint level5Color = 0xFFFFDD55;
        uint level6Color = 0xFFFF9D54;
        uint level7Color = 0xFFFF3D3D;
        Room room;
        #endregion
@@ -58,16 +51,6 @@
        public EnvironmentalSciencePage()
        {
            bodyView = this;
        }
        public override void RemoveFromParent()
        {
            foreach(var thread in threads)
            {
                thread.Abort();
            }
            threads.Clear();
            base.RemoveFromParent();
        }
        /// <summary>
@@ -95,7 +78,7 @@
            {
                X = Application.GetRealWidth(24),
                Y = Application.GetRealHeight(16),
                Width = Application.GetRealWidth(55),
                Width = Application.GetRealWidth(60),
                Height = Application.GetRealHeight(48),
                TextSize = 42,
                IsBold = true,
@@ -163,7 +146,6 @@
                Text = "10°C",
            };
            topWeatherView.AddChidren(btnTempUpperLimitText);
            
            var btnTempLowerLimit = new Button()
            {
@@ -326,7 +308,7 @@
            contentView.AddChidren(btnRoom);
            #endregion
            FrameLayout sensorListView = new FrameLayout()
            sensorListView = new FrameLayout()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealHeight(50),
@@ -341,12 +323,34 @@
            int index = 0;
            foreach(var sensor in  DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
            {
                if(sensor.functionType == FunctionType.Noise|| sensor.functionType == FunctionType.WindPower)
                if ( sensor.functionType == FunctionType.WindPower)
                {
                    continue;
                }
                LoadSensorDiv(sensor, index);
                index++;
            }
            #endregion
            //LoadEventList();
            LoadDialog_ChangeRoom();
            new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
        }
        /// <summary>
        /// 加载传感器列表
        /// </summary>
        void LoadSensorDiv(Sensor sensor,int index)
        {
                if(sensor.roomIdList.Contains(room.sid))
                {
                var sensorTag = sensor.sid;
                if (sensor.bus_Data != null)
                {
                    sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID;
                }
                    FrameLayout sensorView = new FrameLayout()
                    {
                        Width = Application.GetRealWidth(148),
@@ -355,7 +359,8 @@
                        BorderColor = 0x00000000,
                        BorderWidth = 0,
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                        Y = Application.GetRealWidth(92 * (index / 2))
                    Y = Application.GetRealWidth(92 * (index / 2)),
                    Tag = sensorTag
                    };
                    if (index % 2 != 0)
                    {
@@ -396,7 +401,8 @@
                        TextAlignment = TextAlignment.Center,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextID = sensor.functionTypeNameId
                    TextID = sensor.functionTypeNameId,
                    Tag = "SensorTitle"
                    };
                    sensorView.AddChidren(btnSensorTitle);
                    btnSensorTitle.MouseUpEventHandler = (sender, e) => {
@@ -406,7 +412,7 @@
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    };
                    if (sensor.functionType != FunctionType.Noise && sensor.functionType != FunctionType.WindPower)
                if ( sensor.functionType != FunctionType.WindPower)
                    {
                        var btnInfoIcon = new Button()
                        {
@@ -433,6 +439,7 @@
                        TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
                        IsBold = true,
                        Text = sensor.values.ToString(),
                    Tag = "SensorValues"
                    };
                    sensorView.AddChidren(btnSensorValues);
@@ -445,38 +452,26 @@
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = sensor.levelColorList[sensor.curLevel - 1],
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                        TextID = sensor.levelTextList[sensor.curLevel - 1]
                    TextID = sensor.levelTextList[sensor.curLevel - 1],
                    Tag = "SensorLevel"
                    };
                    sensorView.AddChidren(btnLevel);
                    index++;
                Control.Send(CommandType_A.read, sensor);
                }
            }
            #endregion
            //LoadEventList();
            LoadDialog_ChangeRoom();
            new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
        }
        /// <summary>
        /// 加载传感器等级相关信息
        /// </summary>
        /// <param name="btnInfo"></param>
        /// <param name="sensor"></param>
        void LoadInfo(Sensor sensor)
        {
            Dialog dialog = new Dialog();
            FrameLayout dialogBodyView = new FrameLayout();
            dialog.AddChidren(dialogBodyView);
            dialogBodyView.MouseUpEventHandler = (sender, e) => {
            dialogBodyView.MouseUpEventHandler = (sender, e) =>
            {
                dialog.Close();
            };
@@ -489,7 +484,8 @@
                Radius = (uint)Application.GetRealWidth(12),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Animate = Animate.DownToUp,
                ScrollEnabled = false
                ScrollEnabled = false,
                AnimateSpeed = 0.3f,
            };
            dialogBodyView.AddChidren(infoView);
@@ -514,9 +510,8 @@
                case FunctionType.WindPower:
                    break;
                case FunctionType.Noise:
                    break;
                //case FunctionType.Noise:
                //    break;
                case FunctionType.Temp:
                    btnTitle.Text = Language.StringByID(StringId.Temp )+ "(°C)";
                    break;
@@ -529,8 +524,6 @@
                case FunctionType.Humidity:
                    btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
                    break;
            }
            FrameLayout subTitleView = new FrameLayout()
@@ -549,7 +542,6 @@
                IsBold = true,
                TextID = StringId.IntervalValue,
            });
            subTitleView.AddChidren(new Button()
            {
@@ -582,7 +574,6 @@
                    BackgroundColor = CSS_Color.DividingLineColor,
                });
                FrameLayout subInfoView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(44),
@@ -599,7 +590,6 @@
                    IsBold = true,
                    Text = sensor.intervalValue[index]
                });
                subInfoView.AddChidren(new Button()
                {
@@ -621,17 +611,13 @@
                    Radius = (uint)Application.GetRealWidth(4),
                    BackgroundColor = sensor.levelColorList[index]
                });
            }
            dialog.Show();
        }
        /// <summary>
        /// 房间列表点击事件