HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-12-30 3dcbd186c42c598c0c08d1cd37034cf2baa09e54
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -189,11 +189,10 @@
        /// </summary>
        private void AddAllMenuRow()
        {
            bool isHdlDevice = Common.LocalDevice.Current.IsHdlDevice(listNewDevice[0]);
            if (deviceEnumInfo.BeloneType == DeviceBeloneType.A智能门锁)
            {
                //只有是河东的设备的时候
                if (isHdlDevice == true)
                if (deviceEnumInfo.IsHdlDevice == true)
                {
                    //添加【用户管理】行
                    this.AddUserManageRow();
@@ -210,6 +209,8 @@
            }
            else
            {
                //添加【工作模式】行(pir传感器专用)
                this.AddPirSensorWorkModeRow();
                //添加【绑定目标】行(pir传感器专用)
                this.AddPirSensorBindRow();
                //添加【方向与限位】行(开合帘,卷帘专用)
@@ -223,13 +224,15 @@
                //添加【干接点设置】行
                this.AddDryContactSettionRow();
            }
            //添加【功能类型】行(空气开关专用)
            this.AddAirSwitchFunctionTypeRow();
            //添加【通用信息】行
            this.AddGeneralInformationRow();
            //添加【空调模块版本(空调专用)】行
            this.AddAirConditionerModelVersionRow();
            if (isHdlDevice == true)
            if (deviceEnumInfo.IsHdlDevice == true)
            {
                //添加【固件升级】行
                this.AddFirmwareUpdateRow();
@@ -503,6 +506,36 @@
        #endregion
        #region ■ 工作模式(pir传感器专用)____________
        /// <summary>
        /// 添加【工作模式】行(pir传感器专用)
        /// </summary>
        private void AddPirSensorWorkModeRow()
        {
            if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir
                || deviceEnumInfo.IsHdlDevice == false)
            {
                return;
            }
            //工作模式
            string caption = Language.StringByID(R.MyInternationalizationString.uWorkMode);
            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(btnFunction);
            btnFunction.AddLeftCaption(caption, 600);
            //向右图标
            btnFunction.AddRightArrow();
            //底线
            btnFunction.AddBottomLine();
            btnFunction.ButtonClickEvent += (sender, e) =>
            {
                var form = new DevicePirSensor.PirSensorWorkModeMenuForm();
                form.AddForm((IASZone)this.listNewDevice[0]);
            };
        }
        #endregion;
        #region ■ 绑定目标(pir传感器专用)____________
        /// <summary>
@@ -670,7 +703,10 @@
                        //手拉控制
                        if (0 < (attriBute.AttriButeData & 0x04))
                        {
                            btnSwitch.IsSelected = true;
                            HdlThreadLogic.Current.RunMain(() =>
                            {
                                btnSwitch.IsSelected = true;
                            });
                        }
                    }
                }
@@ -705,6 +741,101 @@
            {
                var form = new DeviceAirConditioner.IndoorUnitListForm();
                form.AddForm(listNewDevice[0].DeviceAddr);
            };
        }
        #endregion
        #region ■ 功能类型(空气开关专用)_____________
        /// <summary>
        /// 添加【功能类型】行(空气开关专用)
        /// </summary>
        private void AddAirSwitchFunctionTypeRow()
        {
            if (this.deviceEnumInfo.BeloneType != DeviceBeloneType.A智能空开)
            {
                //不是空气开关
                return;
            }
            //功能类型
            string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
            var DfunctionType = this.listNewDevice[0].DfunctionType;
            //功能类型的翻译名字
            int nowSelectNo = 1;
            string strType = string.Empty;
            if (DfunctionType == DeviceFunctionType.A灯光)
            {
                strType = Language.StringByID(R.MyInternationalizationString.uLight);
                nowSelectNo = 1;
            }
            else if (DfunctionType == DeviceFunctionType.A开关)
            {
                strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
                nowSelectNo = 0;
            }
            else if (DfunctionType == DeviceFunctionType.A插座)
            {
                strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
                nowSelectNo = 2;
            }
            var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
            btnFunction.UseClickStatu = true;
            listview.AddChidren(btnFunction);
            btnFunction.InitControl();
            //底线
            btnFunction.AddBottomLine();
            //右箭头
            btnFunction.AddRightArrow();
            btnFunction.ButtonClickEvent += (sender, e) =>
            {
                //显示列表
                var listText = new List<string>();
                listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//开关
                listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//灯光
                listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//插座
                //标题:选择功能类型
                var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
                var form = new BottomItemSelectForm();
                form.AddForm(title, listText, nowSelectNo);
                form.FinishSelectEvent += (selectNo) =>
                {
                    btnFunction.Text = listText[selectNo];
                    nowSelectNo = selectNo;
                    //记录起当前选择的功能类型
                    if (selectNo == 0)
                    {
                        this.listNewDevice[0].DfunctionType = DeviceFunctionType.A开关;
                        if (this.listNewDevice[0].IsCustomizeImage == false)
                        {
                            //重新设置图片
                            this.listNewDevice[0].IconPath = "Device/Switch.png";
                        }
                    }
                    else if (selectNo == 1)
                    {
                        this.listNewDevice[0].DfunctionType = DeviceFunctionType.A灯光;
                        if (this.listNewDevice[0].IsCustomizeImage == false)
                        {
                            //重新设置图片
                            this.listNewDevice[0].IconPath = "Device/Light.png";
                        }
                    }
                    else
                    {
                        this.listNewDevice[0].DfunctionType = DeviceFunctionType.A插座;
                        if (this.listNewDevice[0].IsCustomizeImage == false)
                        {
                            //重新设置图片
                            this.listNewDevice[0].IconPath = "Device/Socket1.png";
                        }
                    }
                    this.listNewDevice[0].ReSave();
                };
            };
        }
@@ -924,15 +1055,21 @@
        /// </summary>
        private void ShowTopRightMenu()
        {
            int menuCount = 1;
            string deviceMenu = string.Empty;
            //检测此回路是否拥有定位功能(拿端点最小的那个回路去定位)
            bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]);
            if (canTest == true)
            if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A智能门锁)
            {
                menuCount = 2;
                canTest = false;
            }
            var frame = new TopRightMenuControl(menuCount);
            else if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A传感器
                && this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
            {
                //传感器除了Pir都没有定位功能
                canTest = false;
            }
            var frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1);
            string deviceMenu = string.Empty;
            if (canTest == true)
            {
                //定位