HDL Home App 第二版本 旧平台金堂用 正在使用
xm
2020-04-16 6fa9d69da922c8049f5acfcbb9ce9fd26811024c
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueEnvironmentButtonSettionForm.cs
New file
@@ -0,0 +1,210 @@
using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DevicePanel
{
    /// <summary>
    /// 方悦环境面板的按键配置界面
    /// </summary>
    public class PanelFangyueEnvironmentButtonSettionForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 列表控件
        /// </summary>
        private FrameListControl listview = null;
        /// <summary>
        /// 设备的某一回路
        /// </summary>
        private CommonDevice deviceObj = null;
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_device">设备的某一回路</param>
        public void ShowForm(CommonDevice i_device)
        {
            this.deviceObj = i_device;
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion));
            //初始化中部信息
            this.InitMiddleFrame();
            //初始化右上角菜单
            this.InitTopRightMenu();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
            //清空bodyFrame
            this.ClearBodyFrame();
            var listBackControl = new VerticalFrameControl();
            listBackControl.Height = bodyFrameLayout.Height;
            bodyFrameLayout.AddChidren(listBackControl);
            //图片
            var btnPic = new PicViewControl(426, 426);
            btnPic.Y = Application.GetRealHeight(150);
            btnPic.UnSelectedImagePath = "DeviceItem/ButtonPanelFangyueEnvironmentBigPic.png";
            btnPic.Gravity = Gravity.CenterHorizontal;
            listBackControl.frameTable.AddChidren(btnPic);
            //初始化桌布
            var tableContr = new InformationEditorControl();
            this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028);
            //初始化菜单行
            this.InitMenuRow();
            //初始化桌布完成
            tableContr.FinishInitControl();
            tableContr = null;
            //保存
            var btnFinish = new BottomClickButton();
            btnFinish.TextID = R.MyInternationalizationString.uSave;
            bodyFrameLayout.AddChidren(btnFinish);
            btnFinish.ButtonClickEvent += (sender, e) =>
            {
                //关闭自身
                this.CloseForm();
            };
        }
        /// <summary>
        /// 初始化菜单行
        /// </summary>
        private void InitMenuRow()
        {
            this.listview.RemoveAll();
            //空调目标
            var rowAir = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowAir);
            rowAir.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAirConditionerTarget), 600);
            //底线
            rowAir.AddBottomLine();
            //右箭头
            rowAir.AddRightArrow();
            var btnAirStatu = rowAir.AddMostRightView("空调1", 700);
            rowAir.ButtonClickEvent += (sender, e) =>
            {
                var form = new PanelFangyueEnvironmentTargetForm();
                form.AddForm(this.deviceObj, string.Empty, 1);
            };
            //地暖目标
            var rowFloorHeating = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowFloorHeating);
            rowFloorHeating.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uFloorHeatingTarget), 600);
            //底线
            rowFloorHeating.AddBottomLine();
            //右箭头
            rowFloorHeating.AddRightArrow();
            var btnFloorHeatingStatu = rowFloorHeating.AddMostRightView("地暖1", 700);
            rowFloorHeating.ButtonClickEvent += (sender, e) =>
            {
                var form = new PanelFangyueEnvironmentTargetForm();
                form.AddForm(this.deviceObj, string.Empty, 2);
            };
            //新风目标
            var rowNewWind = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowNewWind);
            rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNewWindTarget), 600);
            //底线
            rowNewWind.AddBottomLine();
            //右箭头
            rowNewWind.AddRightArrow();
            var btnNewWindStatu = rowNewWind.AddMostRightView("新风1", 700);
            rowNewWind.ButtonClickEvent += (sender, e) =>
            {
                var form = new PanelFangyueEnvironmentTargetForm();
                form.AddForm(this.deviceObj, string.Empty, 3);
            };
            //亮度调节
            var rowLight = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowLight);
            rowLight.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uLightRegulation), 600);
            //底线
            rowLight.AddBottomLine();
            //右箭头
            rowLight.AddRightArrow();
            rowLight.ButtonClickEvent += (sender, e) =>
            {
                var form = new PanelFangyueEnvironmentLightSettionForm();
                form.AddForm(this.deviceObj);
            };
            //接近感应
            var rowContr = new FrameRowControl(listview.rowSpace / 2);
            rowContr.UseClickStatu = false;
            listview.AddChidren(rowContr);
            rowContr.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uProximityInduction), 600);
            //底线
            rowContr.AddBottomLine();
            //开关
            var btnSwitch = rowContr.AddMostRightSwitchIcon();
            btnSwitch.ButtonClickEvent += (sender, e) =>
            {
                btnSwitch.IsSelected = !btnSwitch.IsSelected;
            };
        }
        #endregion
        #region ■ 右上角菜单_________________________
        /// <summary>
        /// 初始化右上角菜单
        /// </summary>
        private void InitTopRightMenu()
        {
            //检测此回路是否拥有定位功能
            if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(deviceObj) == false)
            {
                return;
            }
            var btnIcon = new MostRightIconControl(69, 69);
            btnIcon.UnSelectedImagePath = "Item/More.png";
            topFrameLayout.AddChidren(btnIcon);
            btnIcon.InitControl();
            btnIcon.ButtonClickEvent += ((sender, e) =>
            {
                //显示右上角菜单界面
                this.ShowTopRightMenu();
            });
        }
        /// <summary>
        /// 显示右上角菜单界面
        /// </summary>
        private void ShowTopRightMenu()
        {
            var frame = new TopRightMenuControl(1, 1);
            //定位
            string deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
            frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
            {
                //发送定位功能
                Common.LocalDevice.Current.SetFixedPositionCommand(deviceObj);
            });
        }
        #endregion
    }
}