HDL Home App 第二版本 旧平台金堂用 正在使用
chenqiyang
2022-06-22 dc0309e64f02227d8e1468b7326c07955f804612
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/SceneControls/SceneSimpleSelectControl.cs
old mode 100755 new mode 100644
@@ -1,143 +1,134 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter
{
    /// <summary>
    /// 做成一个简单场景选择的行控件
    /// </summary>
    public class SceneSimpleSelectControl : FrameRowControl
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 场景ID
        /// </summary>
        private int SceneId = 0;
        /// <summary>
        /// 场景对象
        /// </summary>
        public Common.SceneUI Scene
        {
            get { return Common.Room.CurrentRoom.GetSceneUIBySceneId(SceneId); }
        }
        /// <summary>
        /// 选择控件
        /// </summary>
        private MostRightIconControl btnSelect = null;
        /// <summary>
        /// 选择的状态是否能够取消
        /// </summary>
        public bool SelectCancel = true;
        /// <summary>
        /// 状态
        /// </summary>
        private StatuMode Statu = StatuMode.UN_SELECT;
        /// <summary>
        /// 是否处于选择状态
        /// </summary>
        public bool IsSelected
        {
            get { return Statu == StatuMode.SELECT; }
            set
            {
                if (value == false)
                {
                    if (SelectCancel == true)
                    {
                        this.SetUnselectStatu();
                    }
                }
                else
                {
                    this.SetSelectStatu();
                }
            }
        }
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 做成一个简单场景选择的行控件
        /// </summary>
        /// <param name="i_Scene">场景对象</param>
        /// <param name="i_ChidrenYaxis">子控件Y轴偏移量(真实值,有些界面需要这种特殊操作)</param>
        public SceneSimpleSelectControl(Common.SceneUI i_Scene, int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis)
        {
            this.SceneId = i_Scene.Id;
            this.ButtonClickEvent += (sender, e) =>
            {
                this.IsSelected = Statu == StatuMode.SELECT ? false : true;
            };
        }
        /// <summary>
        /// 初始化内部控件
        /// </summary>
        public void InitControl()
        {
            var SceneTemp = this.Scene;
            //图标
            var btnIcon = this.AddLeftIcon();
            btnIcon.UnSelectedImagePath = "Item/Scene.png";
            //场景
            var btnScene = this.AddLeftCaption(SceneTemp.Name, 850, 60);
            btnScene.TextSize = 15;
            //这个坐标有点特殊
            btnScene.Y = Application.GetRealHeight(12) + this.chidrenYaxis;
            this.AddChidren(btnScene, ChidrenBindMode.BindEventOnly);
            //房间
            string roomName = Common.Room.CurrentRoom.GetRoomNameBySceneId(SceneId);
            var btnRoom = this.AddLeftCaption(roomName, 850, 50, true);
            //这个坐标有点特殊
            btnRoom.Y = Application.GetRealHeight(72) + this.chidrenYaxis;
            btnRoom.TextSize = 12;
            btnRoom.TextColor = UserCenterColor.Current.TextGrayColor1;
            this.AddChidren(btnRoom, ChidrenBindMode.BindEventOnly);
            btnSelect = this.AddMostRightEmptyIcon(58, 58);
            btnSelect.Visible = false;
            btnSelect.UnSelectedImagePath = "Item/Tick.png";
        }
        #endregion
        #region ■ 选择状态___________________________
        /// <summary>
        /// 设定选择状态
        /// </summary>
        private void SetSelectStatu()
        {
            if (Statu == StatuMode.SELECT)
            {
                return;
            }
            btnSelect.Visible = true;
            //状态变更
            Statu = StatuMode.SELECT;
        }
        /// <summary>
        /// 设置非选择状态
        /// </summary>
        private void SetUnselectStatu()
        {
            if (Statu == StatuMode.UN_SELECT)
            {
                return;
            }
            btnSelect.Visible = false;
            //状态变更
            Statu = StatuMode.UN_SELECT;
        }
        #endregion
    }
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter
{
    /// <summary>
    /// 做成一个简单场景选择的行控件(它会自动设置选择状态)
    /// </summary>
    public class SceneSimpleSelectControl : FrameRowControl
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 场景ID
        /// </summary>
        private int SceneId = 0;
        /// <summary>
        /// 场景对象
        /// </summary>
        public Common.SceneUI Scene
        {
            get { return HdlSceneLogic.Current.GetSceneUIBySceneId(SceneId); }
        }
        /// <summary>
        /// 选择控件
        /// </summary>
        private MostRightIconControl btnSelect = null;
        /// <summary>
        /// 选择的状态是否能够取消
        /// </summary>
        public bool SelectCancel = true;
        /// <summary>
        /// 状态
        /// </summary>
        private StatuMode Statu = StatuMode.UN_SELECT;
        /// <summary>
        /// 是否处于选择状态
        /// </summary>
        public bool IsSelected
        {
            get { return Statu == StatuMode.SELECT; }
            set
            {
                if (value == false)
                {
                    if (SelectCancel == true)
                    {
                        this.SetUnselectStatu();
                    }
                }
                else
                {
                    this.SetSelectStatu();
                }
            }
        }
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 做成一个简单场景选择的行控件(它会自动设置选择状态)
        /// </summary>
        /// <param name="i_Scene">场景对象</param>
        /// <param name="i_ChidrenYaxis">子控件Y轴偏移量(【列表控件的rowSpace/2】即可,不懂默认为0即可)</param>
        public SceneSimpleSelectControl(Common.SceneUI i_Scene, int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis)
        {
            this.SceneId = i_Scene.Id;
            this.ButtonClickEvent += (sender, e) =>
            {
                this.IsSelected = Statu == StatuMode.SELECT ? false : true;
            };
        }
        /// <summary>
        /// 初始化内部控件
        /// </summary>
        public void InitControl()
        {
            var SceneTemp = this.Scene;
            //图标
            var btnIcon = this.AddLeftIcon();
            btnIcon.UnSelectedImagePath = "Scene/SceneIcon.png";
            //场景
            this.AddTopView(SceneTemp.Name, 850);
            //房间
            string roomName = HdlRoomLogic.Current.GetRoomNameBySceneId(SceneId);
            this.AddBottomView(roomName, 850);
            btnSelect = this.AddMostRightEmptyIcon(58, 58);
            btnSelect.Visible = false;
            btnSelect.UnSelectedImagePath = "Item/ItemSelected.png";
        }
        #endregion
        #region ■ 选择状态___________________________
        /// <summary>
        /// 设定选择状态
        /// </summary>
        private void SetSelectStatu()
        {
            if (Statu == StatuMode.SELECT)
            {
                return;
            }
            btnSelect.Visible = true;
            //状态变更
            Statu = StatuMode.SELECT;
        }
        /// <summary>
        /// 设置非选择状态
        /// </summary>
        private void SetUnselectStatu()
        {
            if (Statu == StatuMode.UN_SELECT)
            {
                return;
            }
            btnSelect.Visible = false;
            //状态变更
            Statu = StatuMode.UN_SELECT;
        }
        #endregion
    }
}