gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
ZigbeeApp/Shared/Phone/Device/Room/RoomHumiditySetting.cs
old mode 100755 new mode 100644
@@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using Shared.Common;
using Shared.Phone.Device.CommonForm;
using ZigBee.Device;
namespace Shared.Phone.Device.Room
{
@@ -22,7 +24,16 @@
        /// <summary>
        /// The action.
        /// </summary>
        public Action<string> action;
        public Action<CommonDevice> selectDeviceAction;
        /// <summary>
        /// tempDeviceRow
        /// </summary>
        private DeviceInfoWithZoneRow tempDeviceRow = null;
        /// <summary>
        /// tempDevice
        /// </summary>
        public CommonDevice tempDevice;
        #endregion
@@ -80,31 +91,84 @@
            };
            bodyFrameLayout.AddChidren(verticalScrolView);
            var confirm = new Device.CommonForm.CompleteButton(1700, 700, 127);
            var confirm = new Device.CommonForm.CompleteButton(1700, 900, 127);
            confirm.SetTitle(R.MyInternationalizationString.Save);
            AddChidren(confirm);
            for (int i = 0; i < 15; i++)
            confirm.MouseUpEventHandler += (sender, e) =>
            {
                AddItem(verticalScrolView, 20 + i * (127 + 20));
                RemoveFromParent();
                if (tempDevice != null)
                {
                    selectDeviceAction?.Invoke(tempDevice);
                }
            };
            var deviceList = GetHumidityDevice();
            for (int i = 0; i < deviceList.Count; i++)
            {
                var fl = new FrameLayout
                {
                    Height = Application.GetRealHeight(127 + 20),
                    BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
                };
                verticalScrolView.AddChidren(fl);
                var device = deviceList[i];
                var devRow = new DeviceInfoWithZoneRow(20);
                fl.AddChidren(devRow);
                devRow.Init();
                devRow.SetIcon(device.IconPath);
                devRow.SetName(Common.LocalDevice.Current.GetDeviceEpointName(device));
                devRow.SetZone(Common.Room.CurrentRoom.GetRoomNameByDevice(device));
                if (i == deviceList.Count - 1)
                {
                    devRow.HideLine(true);
                }
                if (tempDevice != null && tempDevice == device)
                {
                    tempDeviceRow = devRow;
                    tempDevice = device;
                    devRow.SetStatu(true);
                }
                else
                {
                    if (i == 0 && tempDevice == null)
                    {
                        tempDeviceRow = devRow;
                        tempDevice = device;
                        devRow.SetStatu(true);
                    }
                }
                devRow.ClickButton.MouseUpEventHandler += (sender, e) =>
                {
                    tempDeviceRow.SetStatu(false);
                    devRow.SetStatu(true);
                    tempDeviceRow = devRow;
                    tempDevice = device;
                };
            }
        }
        /// <summary>
        /// AddItem
        /// 湿度传感器列表
        /// </summary>
        /// <param name="vertical"></param>
        public void AddItem(VerticalScrolViewLayout vertical, int y)
        private List<ZigBee.Device.CommonDevice> GetHumidityDevice()
        {
            var dev = new DeviceInfoWithZoneRow(y);
            vertical.AddChidren(dev);
            dev.Init();
            dev.SetIcon("DeviceIcon/1.png");
            dev.SetName("湿度传感器" + y);
            dev.SetZone(room.FloorName + ", " + room.Name);
            var listDevice = new List<ZigBee.Device.CommonDevice>();
            foreach (var device in Common.LocalDevice.Current.listAllDevice)
            {
                //获取湿度传感器
                if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 2)
                {
                    listDevice.Add(device);
                }
            }
            return listDevice;
        }
        #endregion
    }
}