wjc
2022-03-07 e2678b7bb1b68160778609e23a5eea7a809c775b
HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs
@@ -7,42 +7,45 @@
{
    public class FunTpye : FrameLayout
    {
        public FunTpye()
        public FunTpye(string str)
        {
            Tag = "Logic";
            if_type = str;
        }
        /// <summary>
        /// 默认选中是房间时:全部区域
        /// </summary>
        private Entity.Room selectedRoom = new Entity.Room { roomId ="6688" };
        public static Entity.Room selectedRoom = new Entity.Room { roomId ="6688" };
        /// <summary>
        /// 默认选中是设备类型时:全部功能
        /// </summary>
        //public static Entity.Room selectedRoom = new Entity.Room { roomId = "6688" };
        /// <summary>
        /// 表示是(条件/目标)
        /// </summary>
        private string if_type;
        public void Show(string str)
        {
            if_type = str;
            this.BackgroundColor = CSS.CSS_Color.viewMiddle;
            LogicView.TopView topView = new LogicView.TopView();
            this.AddChidren(topView.FLayoutView());
            topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
            {
                RemoveFromParent();
            };
            topView.topNameBtn.TextID = StringId.selectedFunCondition;
        /// <summary>
        /// 设备功能ui
        /// </summary>
        /// <param name="viewLayout">父控件</param>
        /// <param name="bottm"></param>
        /// <param name="funCount">支持功能类型个数<表示上面所占高度></param>
        public void FunTypeView(FrameLayout viewLayout,int bottm,int funCount) {
            LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView();
            funAllAreaView.frameLayout.Y = topView.frameLayout.Bottom;
            this.AddChidren(funAllAreaView.FLayoutView());
            funAllAreaView.frameLayout.Y = bottm + Application.GetRealHeight(8);
            viewLayout.AddChidren(funAllAreaView.FLayoutView());
            VerticalScrolViewLayout vv = new VerticalScrolViewLayout
            {
                Y = Application.GetRealHeight(117),
                Height = Application.GetRealHeight(667 - 117),
                Y = funAllAreaView.frameLayout.Bottom,
                Height = Application.GetRealHeight(667 - 64 - 50 * funCount - 8),
            };
            this.AddChidren(vv);
            viewLayout.AddChidren(vv);
            if (!MainView.IsGatewayType)
            {
                funAllAreaView.frameLayout.Y = Application.GetRealHeight(0);
            }
            //房间点击事件
            EventHandler<MouseEventArgs> roomClick = (sender, e) =>
            {
@@ -51,7 +54,7 @@
                {
                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                };
                this.AddChidren(fLayout);
                viewLayout.AddChidren(fLayout);
                fLayout.MouseUpEventHandler += (sender1, e1) =>
                {
                    fLayout.RemoveFromParent();
@@ -60,7 +63,7 @@
                FrameLayout bghFrameLyout = new FrameLayout
                {
                    X = Application.GetRealWidth(10),
                    Y = Application.GetRealHeight(103),
                    Y = Application.GetRealHeight(103 + 50 * funCount + 8-64),
                    Width = Application.GetRealWidth(160),
                    Height = Application.GetRealHeight(21 + 44),
                    //BackgroundImagePath = "LogicIcon/bjicon.png",
@@ -82,7 +85,7 @@
                    Height = Application.GetRealHeight(44 * 5),
                };
                var roomList = LogicMethod.CurrLogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas));
                if (roomList.Count > 5)
                {
                    bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5);
@@ -122,11 +125,12 @@
                        funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun);
                        selectedRoom = (areaView.btnClick.Tag as Entity.Room);
                        ///获取显示设备列表
                        var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type);
                        var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room, if_type);
                        DeviceListView(vv, list);
                    };
                    if (roomList.Count-1==i) {
                    if (roomList.Count - 1 == i)
                    {
                        ///改变最后那条一个线的颜色,界面显示效果作用;
                        areaView.btnLine.BackgroundColor = CSS.CSS_Color.view;
                    }
@@ -135,13 +139,15 @@
            funAllAreaView.btnText1.MouseUpEventHandler += roomClick;
            funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick;
            //功能点击事件
            EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{
            EventHandler<MouseEventArgs> funClick = (sender3, e3) =>
            {
                //获取最终显示列表
                var functionList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type);
                //获取设备列表的类型(例如:灯光类,窗帘类。。。)
                var deviceTypeList = LogicMethod.CurrLogicMethod.GetDeviceTypeList(functionList);
                if (deviceTypeList.Count==0) {
                if (deviceTypeList.Count == 0)
                {
                    //没有类型直接返回去;
                    return;
                }
@@ -150,7 +156,7 @@
                {
                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
                };
                this.AddChidren(fLayout);
                viewLayout.AddChidren(fLayout);
                fLayout.MouseUpEventHandler += (sender1, e1) =>
                {
                    fLayout.RemoveFromParent();
@@ -159,7 +165,7 @@
                FrameLayout bghFrameLyout = new FrameLayout
                {
                    X = Application.GetRealWidth(118),
                    Y = Application.GetRealHeight(103),
                    Y = Application.GetRealHeight(103 + 50 * funCount + 8-64),
                    Width = Application.GetRealWidth(160),
                    Height = Application.GetRealHeight(21 + 44),
                    //BackgroundImagePath = "LogicIcon/bjicon5.png",
@@ -181,7 +187,7 @@
                    Height = Application.GetRealHeight(44 * 5),
                };
                if (deviceTypeList.Count > 5)
@@ -238,12 +244,14 @@
            DeviceListView(vv, deviceList);
        }
        /// <summary>
        /// 显示设备的View
        /// </summary>
        /// <param name="verticalScrolView">上下滑动</param>
        /// <param name="deviceList"></param>
        public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function>  deviceList)
        public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList)
        {
            verticalScrolView.RemoveAll();
            foreach (var dev in deviceList)
@@ -258,19 +266,22 @@
                funView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(dev.spk);
                funView.btnDeviceName.Text = dev.name;
                funView.btnRoomName.Text = dev.GetRoomListName();
                funView.btnClick.MouseUpEventHandler += (sen,e) => {
                    if (if_type == LogicMethod.condition_if) {
                funView.btnClick.MouseUpEventHandler += (sen, e) => {
                    if (if_type == LogicMethod.condition_if)
                    {
                        ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList();
                        MainPage.BasePageView.AddChidren(conditionDeviceFunList);
                        conditionDeviceFunList.Show(dev, 0, false);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    } else {
                    }
                    else
                    {
                        TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList();
                        MainPage.BasePageView.AddChidren(targetDeviceFunList);
                        targetDeviceFunList.Show(dev, 0, false);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    }
                };
            }
        }